APLB Pore All Tightening Lotion

APLB Pore All Tightening Lotion

Efficacy100/100IrritancyHigh

Works for

Anti-aging
Niacinamide, Adenosine + 2 more
Works well
What the product description says
“Helps reduce the appearance of wrinkles and promotes skin brightness.”
Source: Yesstyle

This product can help reduce and prevent fine lines and wrinkles, improve skin elasticity and firmness because it contains adenosine, niacinamide.

Keep in mind that it typically takes at least 6 weeks to notice any results because the changes that are needed to improve fine lines and elasticity happen in the deeper layers of the skin. No topical anti-aging product can “erase” wrinkles or fully reverse signs of aging.

NiacinamideKey activeEffect: HighIs proven to be effective in reducing blemishes, evening out skin tone and helping to improve lines and wrinkles. It helps the skin to repair sun damage, calm down inflammation and keep maintain good levels of moisture. The concentration of about 2% is effective for supporting the skin barrier and evening out the skin tone. Concentration of 4-6% is better for helping with acne and balancing the sebum production~2.3–2.8%
AdenosineKey activeEffect: HighMight help improve cell turnover and reduce inflammation in skin. One study shows that the ingredients might be able to help reduce dynamic wrinkles (for example, in the corners of the eyes or on the forehead)~0.25–0.45%
Butyrospermum parkii butterEffect: Low, below effective doseA great moisturising ingredient that softens the skin and reduces water loss from its upper layer. It also can be helpful in protecting skin from free radicals~0.3–0.6%
Ascorbic acidUnder-dosedThe most well-researched antioxidant that works in skin. Helps neutralize free radicals supporting collagen production, helping to even out the skin tone and preventing early signs of aging~0.3–0.6%
Evens skin tone
Side benefit · Niacinamide, Dipotassium glycyrrhizate + 1 more
Works well

This product can help reduce hypepigmentation and even out the skin tone because it contains the following effective ingredients: niacinamide

Keep in mind that you would need to apply any topical skincare targetted at hypigmentation consistently for a couple of months to get a result. No topical skincare product can help get rid of hyperpigmentation (including post-acne marks and age spots) instantly.

NiacinamideKey activeEffect: HighIs proven to be effective in reducing blemishes, evening out skin tone and helping to improve lines and wrinkles. It helps the skin to repair sun damage, calm down inflammation and keep maintain good levels of moisture. The concentration of about 2% is effective for supporting the skin barrier and evening out the skin tone. Concentration of 4-6% is better for helping with acne and balancing the sebum production~2.3–2.8%
Dipotassium glycyrrhizateEffect: Low, below effective doseA salt derived from licorice. Works as an emollient to soften the upper layer of the skin and can help calm down inflammation. Might be helpful for skin lightening~0.15–0.25%
Ascorbic acidUnder-dosedThe most well-researched antioxidant that works in skin. Helps neutralize free radicals supporting collagen production, helping to even out the skin tone and preventing early signs of aging~0.3–0.6%
Anti-blemish
Side benefit the brand mentions · Niacinamide
Works well
What the product description says
“Contains black food extracts, such as back bean and black rice extracts, to help improve skin texture.”
Source: Yesstyle

This product can help reduce breakouts and clogged pores because it contains the following ingredient: niacinamide. This ingredient is used for treating acne and can have a noticeable effect.

NiacinamideHeroEffect: HighIs proven to be effective in reducing blemishes, evening out skin tone and helping to improve lines and wrinkles. It helps the skin to repair sun damage, calm down inflammation and keep maintain good levels of moisture. The concentration of about 2% is effective for supporting the skin barrier and evening out the skin tone. Concentration of 4-6% is better for helping with acne and balancing the sebum production~2.3–2.8%
Moisturizing
Side benefit the brand mentions · Niacinamide, Glycerin + 18 more
Works well
What the product description says
“Contains black food extracts, such as back bean and black rice extracts, to help improve skin texture.”
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: betaine, glycerin.

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: dimethicone, squalane.

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

NiacinamideHeroEffect: HighIs proven to be effective in reducing blemishes, evening out skin tone and helping to improve lines and wrinkles. It helps the skin to repair sun damage, calm down inflammation and keep maintain good levels of moisture. The concentration of about 2% is effective for supporting the skin barrier and evening out the skin tone. Concentration of 4-6% is better for helping with acne and balancing the sebum production~2.3–2.8%
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.9–6%
SqualaneKey active· Emollient, OcclusiveEffect: HighAn oil naturally present in skin. Works as an emollient to soften the skin and form a protective layer on its surface without a greasy feeling.~0.45–0.65%
Sesamum indicum seed extractKey activeEffect: HighPlant oil that due to its high content of linoleic acid can help support skin's barrier function improving its hydration~0.45–0.65%
Laminaria japonica extractKey activeEffect: HighSeaweed extract that might help to attract water to the upper layer of the skin and have some anti-oxidant properties~0.45–0.65%
DimethiconeKey active· Emollient, OcclusiveEffect: HighA silicone that helps to reduce water loss from the surface of the skin. Can temporarily "fill in" lines and wrinkles, absorb oil, and create a nice product finish~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%
Cetearyl alcoholKey active· EmollientEffect: MediumA non-drying alcohol. Works as an emollient. Helps water and oil mix together and creates a nice product texture~0.3–0.55%
TrehaloseKey active· HumectantEffect: HighA sugar that attracts water to the upper layer of the skin~0.25–0.45%
BetaineKey active· HumectantEffect: HighHelps attract water to the upper layer of the skin and improves the product texture~0.25–0.45%
AdenosineKey activeEffect: MediumMight help improve cell turnover and reduce inflammation in skin. One study shows that the ingredients might be able to help reduce dynamic wrinkles (for example, in the corners of the eyes or on the forehead)~0.25–0.45%
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~3–3.7%
Glyceryl stearate· EmollientEffect: LowAn emollient that softens the skin and forms a protective layer on its surface. Helps water and oil mix together~0.3–0.55%
Cetyl peg/ppg-10/1 dimethiconeEffect: LowA type of silicone that helps water and oil mix together. Can help to soften upper layer of the skin~0.25–0.45%
Oryza sativa extractEffect: Low, below effective doseA grain extract that helps to create a thicker product consistency. It might have some anti-oxidant properties and help attract water to the upper layer of the skin~0.5–0.7%
Aloe barbadensis leaf extractEffect: Low, below effective doseTraditionally used to treat sunburns, dermatitis and inflammation, but evidence for its effectiveness is lacking. The extract can contain humectants that help attract water into the skin~0.5–0.7%
Stearic acidEffect: Low, below effective doseHelps oil and water mix together and works as an emollient~0.4–0.6%
Butyrospermum parkii butterUnder-dosedA great moisturising ingredient that softens the skin and reduces water loss from its upper layer. It also can be helpful in protecting skin from free radicals~0.3–0.6%
Macadamia integrifolia seed oilUnder-dosedA plant oil that helps soften the upper layer of the skin~0.3–0.55%
Dipotassium glycyrrhizateUnder-dosedA salt derived from licorice. Works as an emollient to soften the upper layer of the skin and can help calm down inflammation. Might be helpful for skin lightening~0.15–0.25%

Can it cause trouble?

Irritancy
5 strong irritants: Hamamelis virginiana leaf extract, Melaleuca alternifolia leaf extract + 3 more — patch-test recommended
High risk
We flagged 13 ingredients with irritancy potential. Severity depends on your sensitivity threshold; the table lists the worst offenders first.
IngredientFunctionIrritationEst. amount
Hamamelis virginiana leaf extractA plant extract that can help calm down inflammation in skin. Can, however, itself be irritatingHigh~1.9–2.3%est.
Melaleuca alternifolia leaf extractAn essential oil that can be irritating. Has some anti-bacterial propertiesHigh~0.65–1%est.
Ascorbic acidThe most well-researched antioxidant that works in skin. Helps neutralize free radicals supporting collagen production, helping to even out the skin tone and preventing early signs of agingHigh~0.3–0.6%est.
ParfumAn aromatic blend of unspecified and possibly irritating ingredientsHigh~0.15–0.3%est.
Hexyl cinnamalA fragrance with jasmine smell. A likely irritantHigh~0.15–0.25%est.
LimoneneA common frangrance that can easily irritate skin, especially if exposed to air, light or heatHigh~0.15–0.25%est.
Solanum melongena fruit extractEggplant fruit extract. Might have some anti-oxidant effectMedium~0.95–1.15%est.
Hippophae rhamnoides fruit extractA plant extract that might help neutralize free radicals in skin, but research on its effectiveness is lackingMedium~0.55–0.85%est.
Aloe barbadensis leaf extractTraditionally used to treat sunburns, dermatitis and inflammation, but evidence for its effectiveness is lacking. The extract can contain humectants that help attract water into the skinMedium~0.5–0.7%est.
Polyglyceryl-3 methylglucose distearateHelps water and oil mix togetherMedium~0.3–0.5%est.
HydroxyacetophenoneUsed to increase effectiveness of preservativesMedium~0.2–0.4%est.
1,2-hexanediolA preservativeMedium~0.2–0.35%est.
Disodium edtaStabilizes the product formulationMedium~0.05–0.1%est.
Comedogenic
4 ingredients rated 2 or more on the 0–5 pore-clogging scale
4 flagged
These ingredients have a comedogenic rating of 2 or more on a 0–5 scale; the table shows each one's rating. In leave-on products they can clog pores in acne-prone skin.
IngredientFunctionRatingEst. amount
Fucus vesiculosus extract—3/5~1.5–1.8%est.
Laminaria japonica extractSeaweed extract that might help to attract water to the upper layer of the skin and have some anti-oxidant properties3/5~0.45–0.65%est.
Butyrospermum parkii butterA great moisturising ingredient that softens the skin and reduces water loss from its upper layer. It also can be helpful in protecting skin from free radicals3/5~0.3–0.6%est.
Cetearyl alcoholA non-drying alcohol. Works as an emollient. Helps water and oil mix together and creates a nice product texture2/5~0.3–0.55%est.

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
Glycerin~4.9–6%
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
Ethyl hexanoate~4.1–5%
Formula
Butylene glycol~3–3.7%
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
Niacinamide~2.3–2.8%
Hero · Moisturizing, Anti-blemish
Irritation risk
Low
Works for
Anti-agingAnti-blemishEvens skin toneMoisturizingReduces irritationAntibacterialAnti-inflammatoryReduces redness

Is proven to be effective in reducing blemishes, evening out skin tone and helping to improve lines and wrinkles. It helps the skin to repair sun damage, calm down inflammation and keep maintain good levels of moisture. The concentration of about 2% is effective for supporting the skin barrier and evening out the skin tone. Concentration of 4-6% is better for helping with acne and balancing the sebum production

More about Niacinamide
Hamamelis virginiana leaf extract~1.9–2.3%
Irritant · high
Irritation risk
High
Works for
Anti-inflammatory

A plant extract that can help calm down inflammation in skin. Can, however, itself be irritating

More about Hamamelis virginiana leaf extract
Fucus vesiculosus extract~1.5–1.8%
Comedogenic 3/5
Irritation risk
Low
Comedogenicity
3/5
More about Fucus vesiculosus extract
Prunella vulgaris extract~1.4–1.7%
Formula
Nelumbium speciosum flower extract~1.2–1.4%
Formula
Solanum melongena fruit extract~0.95–1.15%
Irritant · medium
Irritation risk
Medium
Works for
Anti-oxidation

Eggplant fruit extract. Might have some anti-oxidant effect

More about Solanum melongena fruit extract
Melaleuca alternifolia leaf extract~0.65–1%
Irritant · high
Irritation risk
High

An essential oil that can be irritating. Has some anti-bacterial properties

More about Melaleuca alternifolia leaf extract
Hippophae rhamnoides fruit extract~0.55–0.85%
Irritant · medium
Irritation risk
Medium
Works for
Anti-oxidation

A plant extract that might help neutralize free radicals in skin, but research on its effectiveness is lacking

More about Hippophae rhamnoides fruit extract
Glycine max seed extract~0.5–0.75%
Formula
Sesamum indicum seed extract~0.45–0.65%
Key active
Irritation risk
Low
Works for
Moisturizing

Plant oil that due to its high content of linoleic acid can help support skin's barrier function improving its hydration

More about Sesamum indicum seed extract
Oryza sativa extract~0.5–0.7%
Formula
Irritation risk
Low
Works for
MoisturizingAnti-oxidation

A grain extract that helps to create a thicker product consistency. It might have some anti-oxidant properties and help attract water to the upper layer of the skin

More about Oryza sativa extract
Laminaria japonica extract~0.45–0.65%
Key activeComedogenic 3/5
Irritation risk
Low
Comedogenicity
3/5
Works for
Moisturizing

Seaweed extract that might help to attract water to the upper layer of the skin and have some anti-oxidant properties

More about Laminaria japonica extract
Aloe barbadensis leaf extract~0.5–0.7%
Irritant · medium
Irritation risk
Medium
Works for
Moisturizing

Traditionally used to treat sunburns, dermatitis and inflammation, but evidence for its effectiveness is lacking. The extract can contain humectants that help attract water into the skin

More about Aloe barbadensis leaf extract
Squalane~0.45–0.65%
Key active
Irritation risk
Low
Works for
Moisturizing

An oil naturally present in skin. Works as an emollient to soften the skin and form a protective layer on its surface without a greasy feeling.

More about Squalane
Ascorbic acid~0.3–0.6%
Under-dosedIrritant · high
Irritation risk
High
Works for
Anti-oxidationEvens skin toneAnti-aging

The most well-researched antioxidant that works in skin. Helps neutralize free radicals supporting collagen production, helping to even out the skin tone and preventing early signs of aging

More about Ascorbic acid
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
Macadamia integrifolia seed oil~0.3–0.55%
Under-dosed
Irritation risk
Low
Works for
Moisturizing

A plant oil that helps soften the upper layer of the skin

More about Macadamia integrifolia seed oil
Butyrospermum parkii butter~0.3–0.6%
Under-dosedComedogenic 3/5
Irritation risk
Low
Comedogenicity
3/5
Works for
MoisturizingAnti-agingAnti-oxidation

A great moisturising ingredient that softens the skin and reduces water loss from its upper layer. It also can be helpful in protecting skin from free radicals

More about Butyrospermum parkii butter
Adenosine~0.25–0.45%
Key active
Irritation risk
Low
Works for
Anti-agingMoisturizingAnti-oxidation

Might help improve cell turnover and reduce inflammation in skin. One study shows that the ingredients might be able to help reduce dynamic wrinkles (for example, in the corners of the eyes or on the forehead)

More about Adenosine
Betaine~0.25–0.45%
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
Trehalose~0.25–0.45%
Key active
Irritation risk
Low
Works for
Moisturizing

A sugar that attracts water to the upper layer of the skin

More about Trehalose
Cetearyl alcohol~0.3–0.55%
Key activeComedogenic 2/5
Irritation risk
Low
Comedogenicity
2/5
Works for
CleansingMoisturizing

A non-drying alcohol. Works as an emollient. Helps water and oil mix together and creates a nice product texture

More about Cetearyl alcohol
Polyglyceryl-3 methylglucose distearate~0.3–0.5%
Irritant · medium
Irritation risk
Medium
Works for
Cleansing

Helps water and oil mix together

More about Polyglyceryl-3 methylglucose distearate
Glyceryl stearate~0.3–0.55%
Formula
Irritation risk
Low
Works for
CleansingMoisturizing

An emollient that softens the skin and forms a protective layer on its surface. Helps water and oil mix together

More about Glyceryl stearate
Stearic acid~0.4–0.6%
Formula
Irritation risk
Low
Works for
CleansingMoisturizing

Helps oil and water mix together and works as an emollient

More about Stearic acid
Dimethicone~0.3–0.55%
Key active
Irritation risk
Low
Works for
MoisturizingMattifying

A silicone that helps to reduce water loss from the surface of the skin. Can temporarily "fill in" lines and wrinkles, absorb oil, and create a nice product finish

More about Dimethicone
Cetyl peg/ppg-10/1 dimethicone~0.25–0.45%
Formula
Irritation risk
Low
Works for
CleansingMoisturizing

A type of silicone that helps water and oil mix together. Can help to soften upper layer of the skin

More about Cetyl peg/ppg-10/1 dimethicone
Polyacrylate-13~0.25–0.45%
Formula
Irritation risk
Low

Used to create a thicker product consistency and stabilize the product formulation

More about Polyacrylate-13
Propanediol~0.25–0.45%
Formula
Irritation risk
Low

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

More about Propanediol
Hydroxyacetophenone~0.2–0.4%
Irritant · medium
Irritation risk
Medium

Used to increase effectiveness of preservatives

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

A preservative

More about 1,2-hexanediol
Parfum~0.15–0.3%
Irritant · high
Irritation risk
High

An aromatic blend of unspecified and possibly irritating ingredients

More about Parfum
Hexyl cinnamal~0.15–0.25%
Irritant · high
Irritation risk
High

A fragrance with jasmine smell. A likely irritant

More about Hexyl cinnamal
Limonene~0.15–0.25%
Irritant · high
Irritation risk
High

A common frangrance that can easily irritate skin, especially if exposed to air, light or heat

More about Limonene
Dipotassium glycyrrhizate~0.15–0.25%
Under-dosed
Irritation risk
Low
Works for
MoisturizingAnti-inflammatoryEvens skin tone

A salt derived from licorice. Works as an emollient to soften the upper layer of the skin and can help calm down inflammation. Might be helpful for skin lightening

More about Dipotassium glycyrrhizate
Polyisobutene~0.15–0.3%
Formula
Irritation risk
Low

Used to improve the product consistency

More about Polyisobutene
Polysorbate 20~0.1–0.2%
Formula
Irritation risk
Low
Works for
Cleansing

Helps oil and water mix together

More about Polysorbate 20
Disodium edta~0.05–0.1%
Irritant · medium
Irritation risk
Medium

Stabilizes the product formulation

More about Disodium edta
Ingredient list view

Water, Glycerin, Ethyl hexanoate, Butylene glycol, Niacinamide, Hamamelis virginiana leaf extract, Fucus vesiculosus extract, Prunella vulgaris extract, Nelumbium speciosum flower extract, Solanum melongena fruit extract, Melaleuca alternifolia leaf extract, Hippophae rhamnoides fruit extract, Glycine max seed extract, Sesamum indicum seed extract, Oryza sativa extract, Laminaria japonica extract, Aloe barbadensis leaf extract, Squalane, Ascorbic acid, Sodium hyaluronate, Macadamia integrifolia seed oil, Butyrospermum parkii butter, Adenosine, Betaine, Trehalose, Cetearyl alcohol, Polyglyceryl-3 methylglucose distearate, Glyceryl stearate, Stearic acid, Dimethicone, Cetyl peg/ppg-10/1 dimethicone, Polyacrylate-13, Propanediol, Hydroxyacetophenone, 1,2-hexanediol, Parfum, Hexyl cinnamal, Limonene, Dipotassium glycyrrhizate, Polyisobutene, Polysorbate 20, Disodium edta

Compare prices

Retailers ranked by price — lowest first.

Yesstyle
$21.60 Out of stock
Check
Amazon US
Price unavailable Out of stock
Check

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
APLBPore All Tightening LotionYOUR PRODUCTTONYMOLYBio EX Homme LotionKLAVUUWhite Pearlsation Revitalizing Peal Treatment TonerHolika HolikaMechnikov's Probiotics Formula Hydrating Toner
Match—93%93%93%
Price—$26.20$23.36$31.95
Shared key ingredients—6 of 126 of 126 of 12
Key difference—Oligopeptide-1Polyglutamic AcidGlycoproteins
Irritancy High Medium Medium Medium
Drying alcohol————
View product Shop Shop Shop

More alternatives: IOPE XMD Stem III Clinical Recovery Essence Toner with PDRN H.A.™ Complex for HydrationThank You Farmer Miracle Age Repair Toner [EXP: 20-12-2023]

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

"APLB - Pore All Tightening Lotion" has a good moisturizing formula. This moisturizer uses a good combo of humectants and emollients. These both types of ingredients are essentials for improving the skin hydration and keeping the skin barrier healthy. Humectants in this product (betaine, glycerin, sodium hyaluronate, trehalose and butylene glycol) help to increase the water content in the upper layer of the skin. (These ingredients do so by "capturing" water molecules from the outside air or from within the deeper layers of the skin). Dimethicone, squalane, cetearyl alcohol and glyceryl stearate in this product help decrease the water evoporation from the skin, so that it stays hydrated for longer. These ingredients also soften the skin and take away the feeling of tightness and dryness.

Ingredient callouts

  • We love that this moisturizer contains a good concentration of niacinamide 2.30% - 2.80%. Niacinamide is a perfect active in a moistruizer because it helps calm down inflamation in skin and support the skin barrier. More than that, it is helpful for most common skin concerns: it helps regulat oil production, help reduce acne and clogged pores, improve skin tone and prevent pigmentation marks. It also helps fight photodamage.
  • This product also contains Vitamin C (Ascorbic Acid). It can be an effective active for anti-aging and evening out the skin tone, but in this moisturizer it is used for stabilizing other ingredients in the formulation. In this concentration (0.30% - 0.60%) it cannot have a noticeable benefit for the skin.
  • Adenosine 0.25% - 0.45%. It is a chemical present inside our skin cells. A clinical trial confirmed that topical application of Adenosine in a low concentration can reduce dynamic wrinkles (these are the wrinkles that appear with age in a places where our mimic is the most active, for example, in the corners of the eyes or on the forehead).
This product contains ingredients that could be beneficial, but their concentrations are too low in this formulation: dipotassium glycyrrhizate, stearic acid, butyrospermum parkii butter and vitamin c

Irritation risk

We assess the overall irritancy of this moisturizer to be high. For a detailed overview of all potential irritants: click here

You can see the detailed formula review with the breakdown of all actives in the product and the full ingredient list with estimated concentrations in the tables below.

Price

The product retails from 21.60$ up to 24.00$ 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 18 studies and safety reviews.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
APLB Pore All Tightening Lotion
APLBPore All Tightening Lotion

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

As an Amazon Associate, WIMJ earns from qualifying purchases.