esfolio Hyaluronic Acid Houttuynia Cordata Toner

esfolio Hyaluronic Acid Houttuynia Cordata Toner

Efficacy100/100IrritancyMedium

Works for

Moisturizing
Panthenol, Madecassoside + 20 more
Works well
What the product description says
“The Hyaluronic Acid Houttuynia Cordata Line is designed to provide a deep moisturizing effect to your skin.”
Source: Yesstyle

This product can help improve hydration of the skin with the two types of ingredients.

The first type is called “humectants”:
these ingredients help attract water. When humectants are on the surface of the skin, they “pull in” the moisture from the outside environment, or from within deeper layers of the skin. The following ingredients in this product do the job: anhydroxylitol, arginine.

This product also contains ingredients called “occlusives”. They help reduce the speed with which our skin loses moisture to the outside environment. These ingredients also help soften the upper layer of the skin, so it feels less tight and nicer to the touch. The following ingredients in this product do the job: arginine.

The following ingredients in this product are especially good for supporting the skin barrier and helping with the hydration level: madecassoside, panthenol

PanthenolHero· HumectantEffect: HighHelps attract water to the upper layer of the skin and can help improve skin barrier function~1.5–1.8%
MadecassosideHeroEffect: HighAn antioxidant that is typically derived from plant Centella Asiatica. It can help neutralize free radicals in skin and support skin barrier function. It could, however, itself be irritating. It is often unstable in formulations~0.15–0.25%
GlycerinKey active· HumectantEffect: HighOne of the best moisturizing ingredients. Naturally present in skin. It attracts water to the upper layer of the skin working as a humectant~4.1–5%
BetaineKey active· HumectantEffect: HighHelps attract water to the upper layer of the skin and improves the product texture~3–3.7%
Glyceryl glucosideKey active· HumectantEffect: HighCan help to restore skin barrier function and soften its upper layer~2.3–2.8%
ArginineKey active· Humectant, OcclusiveEffect: HighAn amino acid that is naturally present in skin and helps keep it hydrated. When used together with AHAs, it can reduce their irritating effect on the skin~0.55–0.8%
AnhydroxylitolKey active· HumectantEffect: HighHelps attract water to the upper layer of the skin and repair the skin barrir function~0.4–0.6%
XylitylglucosideKey active· HumectantEffect: HighHelps attract water to the upper layer of the skin and repair the skin barrier function~0.4–0.65%
Centella asiatica extractKey activeEffect: HighA plant extract that has been shown to be able to reduce inflammation in skin, support restoration of skin barrier function, as well as support collagen production. Contains active compounds called centelloids: asiaticoside, madecasosside, asiatic acid and madecassic acid. Might be helpful in preventing stretch marks. It can be itself be irritating though.~0.3–0.55%
Sodium hyaluronateKey active· HumectantEffect: HighOne of the best moisturizing ingredients. Attracts water into the upper layer of the skin~0.3–0.55%
Hydrolyzed glycosaminoglycansKey active· HumectantEffect: HighLong sugars that help attract water to the upper layer of the skin~0.25–0.45%
Hydrolyzed hyaluronic acidKey active· HumectantEffect: HighOne of the best moisturizing ingredients. Attracts water into the upper layer of the skin. A version of it is naturally present in skin~0.25–0.45%
Sodium hyaluronate crosspolymerKey active· HumectantEffect: HighAttracts water into the upper layer of the skin~0.25–0.45%
GlucoseKey active· HumectantEffect: MediumHelps attract water to the upper layer of the skin. Could be helpful in restoring the skin barrier function~0.25–0.4%
Beta-glucanKey activeEffect: HighHelps attract water to the upper layer of the skin, calm down inflammation and irritation, restore the barrier function and support wound healing. It can be helpful in reducing fine lines and wrinkles~0.2–0.4%
Hyaluronic acidKey active· HumectantEffect: HighOne of the best moisturizing ingredients. Attracts water into the upper layer of the skin. Naturally present in skin. Typically has large molecule size unless advertised otherwise on the product label. Helps support skin's barrier function and may help to reduce inflammation~0.15–0.3%
Sodium acetylated hyaluronateKey active· HumectantEffect: HighA type of hyaluronic acid that works as an excellent moisturizer by attracting water into the upper layer of the skin. Is typically feels less sticky on the skin compared to the usual hyaluronic acid~0.15–0.3%
Madecassic acidKey activeEffect: HighAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (asiaticoside, madecasosside and asiatic acid), madecassic acid has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating~0.1–0.2%
Asiatic acidKey activeEffect: HighAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (asiaticoside, madecasosside and madecassic acid) asiatic acid has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating~0.05–0.15%
AsiaticosideKey activeEffect: HighAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (madecasosside, asiatic acid and madecassic acid), asiaticoside has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating~0.05–0.15%
Butylene glycol· HumectantEffect: LowUsed to create a nice product texture and help delivery of other ingredients. Might be somewhat helpful in attracting water to the upper layer of the skin~6.8–8.3%
AllantoinUnder-dosedHelps calm down inflammation in skin and can help reduce itching. Helps to repair the skin barrier and keep skin hydrated~0.3–0.6%
Anti-oxidation
Side benefit · Centella asiatica extract, Madecassoside + 2 more
Works well

This product contains antioxidants (asiaticoside, madecassoside) that can help neutralize free radicals in skin. By doing so, they can lessen the damage the skin gets from the UV light (sun).

The following ingredients - centella asiatica extract also can have an antioxidant effect, but there is less evidence to confirm their effectiveness in skin.

Centella asiatica extractKey activeEffect: MediumA plant extract that has been shown to be able to reduce inflammation in skin, support restoration of skin barrier function, as well as support collagen production. Contains active compounds called centelloids: asiaticoside, madecasosside, asiatic acid and madecassic acid. Might be helpful in preventing stretch marks. It can be itself be irritating though.~0.3–0.55%
MadecassosideKey activeEffect: HighAn antioxidant that is typically derived from plant Centella Asiatica. It can help neutralize free radicals in skin and support skin barrier function. It could, however, itself be irritating. It is often unstable in formulations~0.15–0.25%
AsiaticosideKey activeEffect: HighAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (madecasosside, asiatic acid and madecassic acid), asiaticoside has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating~0.05–0.15%
Beta-glucanEffect: LowHelps attract water to the upper layer of the skin, calm down inflammation and irritation, restore the barrier function and support wound healing. It can be helpful in reducing fine lines and wrinkles~0.2–0.4%
Anti-aging
Side benefit · Centella asiatica extract, Madecassoside + 3 more
May help

This product contains asiaticoside, centella asiatica extract, madecassoside. These ingredients might be able to help reduce and prevent fine lines and wrinkles, improve skin elasticity and firmness, but there is not enough evidence that it actually works.

Centella asiatica extractKey activeEffect: MediumA plant extract that has been shown to be able to reduce inflammation in skin, support restoration of skin barrier function, as well as support collagen production. Contains active compounds called centelloids: asiaticoside, madecasosside, asiatic acid and madecassic acid. Might be helpful in preventing stretch marks. It can be itself be irritating though.~0.3–0.55%
MadecassosideKey activeEffect: MediumAn antioxidant that is typically derived from plant Centella Asiatica. It can help neutralize free radicals in skin and support skin barrier function. It could, however, itself be irritating. It is often unstable in formulations~0.15–0.25%
AsiaticosideKey activeEffect: MediumAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (madecasosside, asiatic acid and madecassic acid), asiaticoside has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating~0.05–0.15%
Beta-glucanEffect: LowHelps attract water to the upper layer of the skin, calm down inflammation and irritation, restore the barrier function and support wound healing. It can be helpful in reducing fine lines and wrinkles~0.2–0.4%
Hyaluronic acidEffect: LowOne of the best moisturizing ingredients. Attracts water into the upper layer of the skin. Naturally present in skin. Typically has large molecule size unless advertised otherwise on the product label. Helps support skin's barrier function and may help to reduce inflammation~0.15–0.3%

Can it cause trouble?

Irritancy
2 strong irritants: Parfum, Linalool
Medium risk
We flagged 15 ingredients with irritancy potential. Severity depends on your sensitivity threshold; the table lists the worst offenders first.
IngredientFunctionIrritationEst. amount
ParfumAn aromatic blend of unspecified and possibly irritating ingredientsHigh~0.2–0.4%est.
Raspberry ketoneUsed as a fragrance. It can reduce skin pigmentation, but it is not safe to use for these purposes in high concentrations as use of raspberry ketone and its derivative is linked to causing loss of skin pigmentation in people (leukoderma)High~0.2–0.35%est.
LinaloolA fragrance. Can be irritatingHigh~0.2–0.35%est.
ChlorphenesinA preservativeMedium~0.16–0.32%est.
Peg-60 hydrogenated castor oilHelps oil and water mix togetherMedium~1.2–1.4%est.
EthylhexylglycerinA preservativeMedium~0.9–1.1%est.
1,2-hexanediolA preservativeMedium~0.35–0.65%est.
Benzyl glycolHelps dissolve other ingredients and preserve productsMedium~0.35–0.6%est.
Disodium edtaStabilizes the product formulationMedium~0.25–0.5%est.
Centella asiatica extractA plant extract that has been shown to be able to reduce inflammation in skin, support restoration of skin barrier function, as well as support collagen production. Contains active compounds called centelloids: asiaticoside, madecasosside, asiatic acid and madecassic acid. Might be helpful in preventing stretch marks. It can be itself be irritating though.Medium~0.3–0.55%est.
Sodium hyaluronate crosspolymerAttracts water into the upper layer of the skinMedium~0.25–0.45%est.
MadecassosideAn antioxidant that is typically derived from plant Centella Asiatica. It can help neutralize free radicals in skin and support skin barrier function. It could, however, itself be irritating. It is often unstable in formulationsMedium~0.15–0.25%est.
Madecassic acidAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (asiaticoside, madecasosside and asiatic acid), madecassic acid has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritatingMedium~0.1–0.2%est.
AsiaticosideAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (madecasosside, asiatic acid and madecassic acid), asiaticoside has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritatingMedium~0.05–0.15%est.
Asiatic acidAn active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (asiaticoside, madecasosside and madecassic acid) asiatic acid has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritatingMedium~0.05–0.15%est.
Comedogenic
Clean of flagged comedogenic ingredients
None flagged

User reviews

Would you recommend?
No community reviews yet.

Be the first — your take helps the next person decide.

Ingredients

Filter by role to see what each ingredient is doing.

Water~45–55%
Formula
Irritation risk
Low

Plain old water

More about Water
Butylene glycol~6.8–8.3%
Formula
Irritation risk
Low
Works for
Moisturizing

Used to create a nice product texture and help delivery of other ingredients. Might be somewhat helpful in attracting water to the upper layer of the skin

More about Butylene glycol
Glycerin~4.1–5%
Key active
Irritation risk
Low
Works for
Moisturizing

One of the best moisturizing ingredients. Naturally present in skin. It attracts water to the upper layer of the skin working as a humectant

More about Glycerin
Betaine~3–3.7%
Key active
Irritation risk
Low
Works for
Moisturizing

Helps attract water to the upper layer of the skin and improves the product texture

More about Betaine
Glyceryl glucoside~2.3–2.8%
Key active
Irritation risk
Low
Works for
Moisturizing

Can help to restore skin barrier function and soften its upper layer

More about Glyceryl glucoside
Propanediol~1.9–2.3%
Formula
Irritation risk
Low

Acts as a solvent for other ingredients. Speeds up the absorption of other ingredients into the skin

More about Propanediol
Panthenol~1.5–1.8%
Hero · Moisturizing
Irritation risk
Low
Works for
MoisturizingReduces rednessReduces irritation

Helps attract water to the upper layer of the skin and can help improve skin barrier function

More about Panthenol
Chlorphenesin~0.16–0.32%
Irritant · medium
Irritation risk
Medium

A preservative

More about Chlorphenesin
Peg-60 hydrogenated castor oil~1.2–1.4%
Irritant · medium
Irritation risk
Medium
Works for
Cleansing

Helps oil and water mix together

More about Peg-60 hydrogenated castor oil
Ethylhexylglycerin~0.9–1.1%
Irritant · medium
Irritation risk
Medium

A preservative

More about Ethylhexylglycerin
Carbomer~0.7–1%
Formula
Irritation risk
Low
Works for
Cleansing

Helps create a thicker or gel-like product texture. It is not a surfactant but can be used in gentle cleansing formulations

More about Carbomer
Arginine~0.55–0.8%
Key active
Irritation risk
Low
Works for
Moisturizing

An amino acid that is naturally present in skin and helps keep it hydrated. When used together with AHAs, it can reduce their irritating effect on the skin

More about Arginine
Allantoin~0.3–0.6%
Under-dosed
Irritation risk
Low
Works for
Anti-inflammatoryMoisturizingReduces irritationReduces rednessAnti-blemishExfoliation

Helps calm down inflammation in skin and can help reduce itching. Helps to repair the skin barrier and keep skin hydrated

More about Allantoin
Houttuynia cordata extract~0.45–0.65%
Formula
Xylitylglucoside~0.4–0.65%
Key active
Irritation risk
Low
Works for
Moisturizing

Helps attract water to the upper layer of the skin and repair the skin barrier function

More about Xylitylglucoside
Anhydroxylitol~0.4–0.6%
Key active
Irritation risk
Low
Works for
Moisturizing

Helps attract water to the upper layer of the skin and repair the skin barrir function

More about Anhydroxylitol
1,2-hexanediol~0.35–0.65%
Irritant · medium
Irritation risk
Medium

A preservative

More about 1,2-hexanediol
Benzyl glycol~0.35–0.6%
Irritant · medium
Irritation risk
Medium

Helps dissolve other ingredients and preserve products

More about Benzyl glycol
Sodium hyaluronate~0.3–0.55%
Key active
Irritation risk
Low
Works for
Moisturizing

One of the best moisturizing ingredients. Attracts water into the upper layer of the skin

More about Sodium hyaluronate
Disodium edta~0.25–0.5%
Irritant · medium
Irritation risk
Medium

Stabilizes the product formulation

More about Disodium edta
Centella asiatica extract~0.3–0.55%
Key activeIrritant · medium
Irritation risk
Medium
Works for
Reduces rednessMoisturizingAnti-inflammatoryReduces irritationAnti-oxidationAnti-agingAnti-blemish

A plant extract that has been shown to be able to reduce inflammation in skin, support restoration of skin barrier function, as well as support collagen production. Contains active compounds called centelloids: asiaticoside, madecasosside, asiatic acid and madecassic acid. Might be helpful in preventing stretch marks. It can be itself be irritating though.

More about Centella asiatica extract
Hydrolyzed glycosaminoglycans~0.25–0.45%
Key active
Irritation risk
Low
Works for
Moisturizing

Long sugars that help attract water to the upper layer of the skin

More about Hydrolyzed glycosaminoglycans
Xylitol~0.2–0.4%
Formula
Irritation risk
Low

Helps attract water to the upper layer of the skin and repair the skin barrier function

More about Xylitol
Parfum~0.2–0.4%
Irritant · high
Irritation risk
High

An aromatic blend of unspecified and possibly irritating ingredients

More about Parfum
Glucose~0.25–0.4%
Key active
Irritation risk
Low
Works for
Moisturizing

Helps attract water to the upper layer of the skin. Could be helpful in restoring the skin barrier function

More about Glucose
Sodium hyaluronate crosspolymer~0.25–0.45%
Key activeIrritant · medium
Irritation risk
Medium
Works for
Moisturizing

Attracts water into the upper layer of the skin

More about Sodium hyaluronate crosspolymer
Hydrolyzed hyaluronic acid~0.25–0.45%
Key active
Irritation risk
Low
Works for
Moisturizing

One of the best moisturizing ingredients. Attracts water into the upper layer of the skin. A version of it is naturally present in skin

More about Hydrolyzed hyaluronic acid
Raspberry ketone~0.2–0.35%
Irritant · high
Irritation risk
High

Used as a fragrance. It can reduce skin pigmentation, but it is not safe to use for these purposes in high concentrations as use of raspberry ketone and its derivative is linked to causing loss of skin pigmentation in people (leukoderma)

More about Raspberry ketone
Linalool~0.2–0.35%
Irritant · high
Irritation risk
High

A fragrance. Can be irritating

More about Linalool
Beta-glucan~0.2–0.4%
Key active
Irritation risk
Low
Works for
MoisturizingAnti-inflammatoryReduces irritationAnti-agingAnti-blemishAnti-oxidation

Helps attract water to the upper layer of the skin, calm down inflammation and irritation, restore the barrier function and support wound healing. It can be helpful in reducing fine lines and wrinkles

More about Beta-glucan
Hydroxypropyltrimonium hyaluronate~0.2–0.4%
Formula
Hyaluronic acid~0.15–0.3%
Key active
Irritation risk
Low
Works for
MoisturizingAnti-inflammatoryAnti-aging

One of the best moisturizing ingredients. Attracts water into the upper layer of the skin. Naturally present in skin. Typically has large molecule size unless advertised otherwise on the product label. Helps support skin's barrier function and may help to reduce inflammation

More about Hyaluronic acid
Sodium acetylated hyaluronate~0.15–0.3%
Key active
Irritation risk
Low
Works for
Moisturizing

A type of hyaluronic acid that works as an excellent moisturizer by attracting water into the upper layer of the skin. Is typically feels less sticky on the skin compared to the usual hyaluronic acid

More about Sodium acetylated hyaluronate
Madecassoside~0.15–0.25%
Hero · MoisturizingIrritant · medium
Irritation risk
Medium
Works for
Anti-oxidationMoisturizingAnti-agingEvens skin tone

An antioxidant that is typically derived from plant Centella Asiatica. It can help neutralize free radicals in skin and support skin barrier function. It could, however, itself be irritating. It is often unstable in formulations

More about Madecassoside
Madecassic acid~0.1–0.2%
Key activeIrritant · medium
Irritation risk
Medium
Works for
MoisturizingReduces irritation

An active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (asiaticoside, madecasosside and asiatic acid), madecassic acid has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating

More about Madecassic acid
Asiaticoside~0.05–0.15%
Key activeIrritant · medium
Irritation risk
Medium
Works for
Anti-oxidationMoisturizingAnti-agingReduces irritation

An active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (madecasosside, asiatic acid and madecassic acid), asiaticoside has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating

More about Asiaticoside
Asiatic acid~0.05–0.15%
Key activeIrritant · medium
Irritation risk
Medium
Works for
Reduces irritationAnti-inflammatoryMoisturizing

An active compound of Centella Asiatica plant extract. In combination with other active compounds of Centella Asiatica extract (asiaticoside, madecasosside and madecassic acid) asiatic acid has been shown to be helpful in wound-healing, restoring skin barrier function and supporting collagen production in skin. It can, however, itself be irritating

More about Asiatic acid
Ingredient list view

Water, Butylene glycol, Glycerin, Betaine, Glyceryl glucoside, Propanediol, Panthenol, Chlorphenesin, Peg-60 hydrogenated castor oil, Ethylhexylglycerin, Carbomer, Arginine, Allantoin, Houttuynia cordata extract, Xylitylglucoside, Anhydroxylitol, 1,2-hexanediol, Benzyl glycol, Sodium hyaluronate, Disodium edta, Centella asiatica extract, Hydrolyzed glycosaminoglycans, Xylitol, Parfum, Glucose, Sodium hyaluronate crosspolymer, Hydrolyzed hyaluronic acid, Raspberry ketone, Linalool, Beta-glucan, Hydroxypropyltrimonium hyaluronate, Hyaluronic acid, Sodium acetylated hyaluronate, Madecassoside, Madecassic acid, Asiaticoside, Asiatic acid

Compare prices

Retailers ranked by price — lowest first.

Amazon USPrice as of 11/9 03:01 GMT
$9.99
Buy
Yesstyle
$13.70
Buy

Affiliate links · As an Amazon Associate, WIMJ earns from qualifying purchases.

Worth comparing, line by line.

Match % combines shared ingredients, the first five ingredients, shared actives and hero ingredients, irritancy (lower counts in the alternative's favour), texture and body area. Only products in the same routine step are compared.

Side-by-side comparison of this product against its closest alternatives
esfolioHyaluronic Acid Houttuynia Cordata TonerYOUR PRODUCTGenabellePDRN Rejuvenating TonerPYUNKANG YULBlack Tea Deep Infusion TonerPurito SEOULWonder Releaf Centella Toner Unscented
Match—56%55%55%
Price$13.70$19.65+$5.95$22.09+$8.39$5.46−$8.24
Shared key ingredients—13 of 2012 of 209 of 20
Key difference—Tripeptide-1NiacinamideTrehalose
Irritancy Medium Medium Medium Low
Drying alcohol————
View product Shop Shop Shop

More alternatives: EqualRXN Mushroom B5 Toning CocktailMEDI-PEEL Derma Maison EGF Triple Repair Toner

Cheaper alternatives? See how this stacks up against similar formulas.
We compare ingredient profiles across our catalog — pick the closest match for your budget.
Open dupe finder

Product summary

"esfolio - Hyaluronic Acid Houttuynia Cordata Toner" is effective for: Moisturizing

This product could be helpful for: Anti-aging, but its actives are not the most effective or are not well-studied.

Ingredient callouts

  • Actives derived from an extract of the Centella Asiatica plant (also known as Gotu Kola) - asiatic acid 0.05% - 0.15%, asiaticoside 0.05% - 0.15%, madecassic acid 0.10% - 0.20% and madecassoside 0.15% - 0.25% The Centella Asiatica Actives help strengthen and restore the skin barrier, decrease inflammation in skin and neutralize free radicals. They also can help to reduce scarring. The good news is that these actives work even in low concentrations.
  • An effective concentration of Panthenol (pro-vitamin B5) - about 1.50% - 1.80%. Panthenol helps strengthen the skin barrier, improve hydration and reduce inflammation in skin.
  • Humectants (sodium acetylated hyaluronate 0.15% - 0.30%, hyaluronic acid 0.15% - 0.30%, hydrolyzed hyaluronic acid 0.25% - 0.45%, sodium hyaluronate crosspolymer 0.25% - 0.45%, hydrolyzed glycosaminoglycans 0.25% - 0.45%, sodium hyaluronate 0.30% - 0.55%, anhydroxylitol 0.40% - 0.60%, xylitylglucoside 0.40% - 0.65%, arginine 0.55% - 0.80%, panthenol 1.50% - 1.80%, glyceryl glucoside 2.30% - 2.80%, betaine 3.00% - 3.70% and glycerin 4.10% - 5.00%). These ingredients help attract water to the upper layer of the skin and improve the skin hydration.

Price

The product retails for 13.20$ in the United States.

For a detailed price comparison: click here.

Sources cited in this review

Every concentration estimate and effectiveness label is anchored to one of these 37 studies and safety reviews.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
esfolio Hyaluronic Acid Houttuynia Cordata Toner
esfolioHyaluronic Acid Houttuynia Cordata Toner

Affiliate links · As an Amazon Associate, WIMJ earns from qualifying purchases.

As an Amazon Associate, WIMJ earns from qualifying purchases.