diff --git a/src/npc/descriptions/style/upperFace.js b/src/npc/descriptions/style/upperFace.js
new file mode 100644
index 0000000000000000000000000000000000000000..5acb21a4e530e11c5cab7abda877d459dc9b79af
--- /dev/null
+++ b/src/npc/descriptions/style/upperFace.js
@@ -0,0 +1,241 @@
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {string}
+ */
+App.Desc.upperFace = function(slave) {
+	const r = [];
+	const {
+		he, him, his, hers, himself, boy, He, His
+	} = getPronouns(slave);
+	if (slave.fuckdoll === 0) {
+		switch (slave.clothes) {
+			case "restrictive latex":
+				r.push(`The upper half of ${his} face is covered by the hood of ${his} latex suit: though`);
+				if (canSee(slave)) {
+					r.push(`${he} can see through eye-holes, these can easily be closed to blind ${him}.`);
+				} else {
+					r.push(`there are eye-holes, they are currently closed due to their lack of use.`);
+				}
+				break;
+			case "harem gauze":
+				r.push(`${His} harem outfit includes the traditional veil for ${his} face.`);
+				break;
+			case "a burkini":
+				r.push(`Above ${his} shoulders, ${his} burkini leaves only ${his} face bare.`);
+				break;
+			case "a hijab and blouse":
+				r.push(`Above the shoulders of ${his} blouse, ${his} hijab leaves only ${his} face bare.`);
+				break;
+			case "a hijab and abaya":
+				r.push(`Above the shoulders of ${his} abaya, ${his} hijab leaves only ${his} face bare.`);
+				break;
+			case "a niqab and abaya":
+				r.push(`Above the shoulders of ${his} abaya, ${his} niqab leaves only the area around ${his} eyes bare.`);
+				break;
+			case "a klan robe":
+			case "a slutty klan robe":
+				r.push(`Above the shoulders of ${his} robe, ${his} hood leaves only the area around ${his} eyes bare.`);
+				break;
+			case "a burqa":
+				r.push(`${His} burqa near totally covers ${his} face, aside from what can be seen behind the fabric mesh that covers ${his} eyes.`);
+				break;
+			case "a chattel habit":
+				r.push(`A golden circlet crowns ${his} white cowl, securing ${his} habit to ${his} head.`);
+				break;
+			case "a succubus outfit":
+				r.push(`${He} has a pair of false horns sprouting from just behind ${his} hairline and sweeping backward, which are anchored to a wire headband hidden by ${his} hair.`);
+				break;
+			case "a bunny outfit":
+				r.push(`A pair of bunny ears sprout from a headband atop ${his} head.`);
+				break;
+		}
+		if (hasAnyCyberneticEyes(slave)) {
+			r.push(`${He} has artificial`);
+			if (hasBothCyberneticEyes(slave)) {
+				r.push(`eyes.`);
+			} else {
+				r.push(`an eye.`);
+			}
+		}
+		if (slave.eyewear === "corrective glasses" || slave.eyewear === "blurring glasses" || slave.eyewear === "glasses") {
+			r.push(`${He}'s wearing a pair of`);
+			switch (slave.clothes) {
+				case "chains":
+				case "shibari ropes":
+				case "uncomfortable straps":
+				case "a chattel habit":
+				case "overalls":
+				case "Western clothing":
+					r.push(`sturdy glasses,`);
+					break;
+				case "restrictive latex":
+					r.push(`glasses over the hood,`);
+					break;
+				case "a ball gown":
+				case "a slave gown":
+				case "conservative clothing":
+				case "cutoffs and a t-shirt":
+				case "a halter top dress":
+				case "a maternity dress":
+				case "a courtesan dress":
+					r.push(`nice frameless glasses,`);
+					break;
+				case "body oil":
+					r.push(`big retro glasses,`);
+					break;
+				case "slutty business attire":
+					r.push(`horn-rimmed glasses to accent ${his} business attire,`);
+					break;
+				case "a schoolgirl outfit":
+					r.push(`horn-rimmed glasses to improve ${his} schoolgirl look,`);
+					break;
+				case "nice business attire":
+					r.push(`wire-frame glasses to accent ${his} business attire,`);
+					break;
+				case "attractive lingerie":
+				case "attractive lingerie for a pregnant woman":
+				case "an apron":
+				case "a hijab and blouse":
+					r.push(`feminine glasses,`);
+					break;
+				case "kitty lingerie":
+					r.push(`cat-eye glasses,`);
+					break;
+				case "a succubus outfit":
+					r.push(`severe steel-frame glasses,`);
+					break;
+				case "harem gauze":
+				case "slutty jewelry":
+					r.push(`glasses with golden wire frames,`);
+					break;
+				case "a burqa":
+				case "a niqab and abaya":
+				case "a penitent nuns habit":
+				case "a klan robe":
+				case "a slutty klan robe":
+					r.push(`cheap glasses,`);
+					break;
+				case "a gothic lolita dress":
+					r.push(`Victorian-styled glasses,`);
+					break;
+				case "a hanbok":
+					r.push(`folding spectacle glasses,`);
+					break;
+				case "a police uniform":
+					r.push(`aviator sunglasses,`);
+					break;
+				case "a Santa dress":
+					r.push(`antique reading glasses,`);
+					break;
+				case "a bunny outfit":
+				case "a monokini":
+					r.push(`girly retro glasses,`);
+					break;
+				case "a hijab and abaya":
+				case "a huipil":
+				case "a kimono":
+				case "a long qipao":
+				case "a nice maid outfit":
+				case "a slutty qipao":
+				case "a slutty maid outfit":
+					r.push(`an old fashioned pair of horn rimmed glasses,`);
+					break;
+				case "a fallen nuns habit":
+				case "a cheerleader outfit":
+				case "a slutty nurse outfit":
+					r.push(`a daring pair of horn rimmed glasses,`);
+					break;
+				case "clubslut netting":
+				case "a string bikini":
+				case "striped panties":
+				case "a bimbo outfit":
+					r.push(`a pair of girly pastel glasses,`);
+					break;
+				case "a scalemail bikini":
+					r.push(`a pair of ancient-looking glasses,`);
+					break;
+				case "a burkini":
+				case "a one-piece swimsuit":
+					r.push(`swim goggles,`);
+					break;
+				default:
+					r.push(`simple wire-frame glasses,`);
+			}
+			if (getBestVision(slave) === 0) {
+				r.push(`which, since ${he} is <span class="red">blind,</span> are just for show. ${He} moves carefully as to not bump into things.`);
+			} else {
+				if (slave.eyewear === "blurring glasses") {
+					if (anyVisionEquals(slave, 2)) {
+						r.push(`which are designed to blur ${his} vision, making ${him} clumsy.`);
+					} else {
+						r.push(`which do nothing to help ${his} <span class="yellow">nearsightedness</span> and consequent clumsiness.`);
+					}
+				} else if (slave.eyewear === "corrective glasses") {
+					if (anyVisionEquals(slave, 1)) {
+						r.push(`which correct ${his} vision.`);
+					} else {
+						r.push(`which are just for show.`);
+					}
+				} else {
+					r.push(`which are just for show.`);
+				}
+			}
+		} else {
+			if (!canSee(slave)) {
+				r.push(`${He} is <span class="red">blind,</span> and moves very carefully as a result.`);
+			} else if (!canSeePerfectly(slave)) {
+				if (slave.eyewear === "blurring contacts") {
+					r.push(`${He}'s wearing contacts designed to blur ${his} vision, making ${him} clumsy.`);
+				} else {
+					r.push(`${He}'s <span class="yellow">nearsighted,</span> and a bit clumsy as a result.`);
+				}
+			} else {
+				if (slave.eyewear === "corrective contacts") {
+					r.push(`${He}'s wearing contact lenses to correct ${his} <span class="yellow">nearsightedness.</span>`);
+				}
+			}
+		}
+		// CLOSES EYEWEAR
+		if (slave.earwear === "hearing aids" || slave.earwear === "muffling ear plugs" || slave.earwear === "deafening ear plugs") {
+			r.push(`In ${his} ears, ${he} wears`);
+			if (slave.earwear === "hearing aids") {
+				r.push(`a pair of hearing aids,`);
+				if (slave.hears > -1) {
+					r.push(`which do little to correct ${his} already adequate hearing.`);
+				} else if (slave.hears === -1) {
+					r.push(`which are used to correct ${his} <span class="yellow">hearing impairment.</span>`);
+				} else if (slave.hears < -1) {
+					r.push(`which, due to ${his} <span class="red">deafness,</span> are useless.`);
+				}
+			} else if (slave.earwear === "muffling ear plugs") {
+				r.push(`a pair of small foam ear plugs,`);
+				if (slave.hears > -1) {
+					r.push(`which noticeably <span class="yellow">muffle ${his} hearing.</span>`);
+				} else if (slave.hears === -1) {
+					r.push(`which are pointless, as ${he} is already <span class="yellow">hard of hearing.</span>`);
+				} else if (slave.hears < -1) {
+					r.push(`which are pointless, as ${he} is totally <span class="red">deaf.</span>`);
+				}
+			} else if (slave.earwear === "deafening ear plugs") {
+				r.push(`a pair of large silicone ear plugs,`);
+				if (slave.hears > -1) {
+					r.push(`which <span class="red">nullify ${his} sense of hearing.</span>`);
+				} else if (slave.hears === -1) {
+					r.push(`which impair ${his} hearing to the point of <span class="red">deafness.</span>`);
+				} else if (slave.hears < -1) {
+					r.push(`which are pointless, as ${he} is already <span class="red">deaf.</span>`);
+				}
+			}
+		} else {
+			if (slave.hears === -1) {
+				r.push(`${He}'s <span class="yellow">hard of hearing,</span> and a bit nervous as a result.`);
+			} else if (slave.hears < -1) {
+				r.push(`${He} is <span class="red">deaf,</span> and overly paranoid as a result.`);
+			}
+		}
+	} else {
+		r.push(`${His} face is featurelessly obscured by the Fuckdoll suit from the top of ${his} head down to ${his} face hole.`);
+	}
+
+	return r.join(" ");
+};
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 8bbf589512a7bde5c84045c66827d6f6ba363a62..822d42e674e25d36ccce1126c6c289c60dfdef3b 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -1838,7 +1838,7 @@ $He is
 
 	<<= App.Desc.ears($activeSlave)>>
 
-	<<upperFaceDescription>>
+	<<= App.Desc.upperFace($activeSlave)>>
 
 	<<= App.Desc.hair($activeSlave)>>
 
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index 2a2c9a9ffc7a8b69d9413d216420bd95be97b2bb..5cedd98137fdaf4d1281a6eda16e3df4e74ecfb0 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -1,160 +1,5 @@
 :: clothing description widgets [widget nobr]
 
-<<widget "upperFaceDescription">>
-	<<if $activeSlave.fuckdoll == 0>>
-		<<switch $activeSlave.clothes>>
-		<<case "restrictive latex">>
-			The upper half of $his face is covered by the hood of $his latex suit: though <<if canSee($activeSlave)>>$he can see through eye-holes, these can easily be closed to blind $him<<else>>there are eye-holes, they are currently closed due to their lack of use<</if>>.
-		<<case "harem gauze">>
-			$His harem outfit includes the traditional veil for $his face.
-		<<case "a burkini">>
-			Above $his shoulders, $his burkini leaves only $his face bare.
-		<<case "a hijab and blouse">>
-			Above the shoulders of $his blouse, $his hijab leaves only $his face bare.
-		<<case "a hijab and abaya">>
-			Above the shoulders of $his abaya, $his hijab leaves only $his face bare.
-		<<case "a niqab and abaya">>
-			Above the shoulders of $his abaya, $his niqab leaves only the area around $his eyes bare.
-		<<case "a klan robe" "a slutty klan robe">>
-			Above the shoulders of $his robe, $his hood leaves only the area around $his eyes bare.
-		<<case "a burqa">>
-			$His burqa near totally covers $his face, aside from what can be seen behind the fabric mesh that covers $his eyes.
-		<<case "a chattel habit">>
-			A golden circlet crowns $his white cowl, securing $his habit to $his head.
-		<<case "a succubus outfit">>
-			$He has a pair of false horns sprouting from just behind $his hairline and sweeping backward, which are anchored to a wire headband hidden by $his hair.
-		<<case "a bunny outfit">>
-			A pair of bunny ears sprout from a headband atop $his head.
-		<</switch>>
-		<<if hasAnyCyberneticEyes($activeSlave)>>
-			$He has artificial <<if hasBothCyberneticEyes($activeSlave)>>eyes<<else>>an eye<</if>>.
-		<</if>>
-		<<if ($activeSlave.eyewear == "corrective glasses") || ($activeSlave.eyewear == "blurring glasses") || ($activeSlave.eyewear == "glasses")>>
-			$He's wearing a pair of
-			<<switch $activeSlave.clothes>>
-			<<case "chains" "shibari ropes" "uncomfortable straps" "a chattel habit" "overalls" "Western clothing">>
-				sturdy glasses,
-			<<case "restrictive latex">>
-				glasses over the hood,
-			<<case "a ball gown" "a slave gown" "conservative clothing" "cutoffs and a t-shirt" "a halter top dress" "a maternity dress" "a courtesan dress">>
-				nice frameless glasses,
-			<<case "body oil">>
-				big retro glasses,
-			<<case "slutty business attire">>
-				horn-rimmed glasses to accent $his business attire,
-			<<case "a schoolgirl outfit">>
-				horn-rimmed glasses to improve $his schoolgirl look,
-			<<case "nice business attire">>
-				wire-frame glasses to accent $his business attire,
-			<<case "attractive lingerie" "attractive lingerie for a pregnant woman" "an apron" "a hijab and blouse">>
-				feminine glasses,
-			<<case "kitty lingerie">>
-				cat-eye glasses,
-			<<case "a succubus outfit">>
-				severe steel-frame glasses,
-			<<case "harem gauze" "slutty jewelry">>
-				glasses with golden wire frames,
-			<<case "a burqa" "a niqab and abaya" "a penitent nuns habit" "a klan robe" "a slutty klan robe">>
-				cheap glasses,
-			<<case "a gothic lolita dress">>
-				Victorian-styled glasses,
-			<<case "a hanbok">>
-				folding spectacle glasses,
-			<<case "a police uniform">>
-				aviator sunglasses,
-			<<case "a Santa dress">>
-				antique reading glasses,
-			<<case "a bunny outfit" "a monokini">>
-				girly retro glasses,
-			<<case "a hijab and abaya" "a huipil" "a kimono" "a long qipao" "a nice maid outfit" "a slutty qipao" "a slutty maid outfit">>
-				an old fashioned pair of horn rimmed glasses,
-			<<case "a fallen nuns habit" "a cheerleader outfit" "a slutty nurse outfit">>
-				a daring pair of horn rimmed glasses,
-			<<case "clubslut netting" "a string bikini" "striped panties" "a bimbo outfit">>
-				a pair of girly pastel glasses,
-			<<case "a scalemail bikini">>
-				a pair of ancient-looking glasses,
-			<<case "a burkini" "a one-piece swimsuit">>
-				swim goggles,
-			<<default>>
-				simple wire-frame glasses,
-			<</switch>>
-			<<if getBestVision($activeSlave) === 0>>
-				which, since $he is @@.red;blind,@@ are just for show. $He moves carefully as to not bump into things.
-			<<else>>
-				<<if $activeSlave.eyewear == "blurring glasses">>
-					<<if anyVisionEquals($activeSlave, 2)>>
-						which are designed to blur $his vision, making $him clumsy.
-					<<else>>
-						which do nothing to help $his @@.yellow;nearsightedness@@ and consequent clumsiness.
-					<</if>>
-				<<elseif $activeSlave.eyewear == "corrective glasses">>
-					<<if anyVisionEquals($activeSlave, 1)>>
-						which correct $his vision.
-					<<else>>
-						which are just for show.
-					<</if>>
-				<<else>>
-					which are just for show.
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if !canSee($activeSlave)>>
-				$He is @@.red;blind,@@ and moves very carefully as a result.
-			<<elseif !canSeePerfectly($activeSlave)>>
-				<<if $activeSlave.eyewear == "blurring contacts">>
-					$He's wearing contacts designed to blur $his vision, making $him clumsy.
-				<<else>>
-					$He's @@.yellow;nearsighted,@@ and a bit clumsy as a result.
-				<</if>>
-			<<else>>
-				<<if $activeSlave.eyewear == "corrective contacts">>
-					$He's wearing contact lenses to correct $his @@.yellow;nearsightedness.@@
-				<</if>>
-			<</if>>
-		<</if>> /* CLOSES EYEWEAR */
-		<<if ($activeSlave.earwear == "hearing aids") || ($activeSlave.earwear == "muffling ear plugs") || ($activeSlave.earwear == "deafening ear plugs")>>
-			In $his ears, $he wears
-			<<if $activeSlave.earwear == "hearing aids">>
-				a pair of hearing aids,
-				<<if $activeSlave.hears > -1>>
-					which do little to correct $his already adequate hearing.
-				<<elseif $activeSlave.hears == -1>>
-					which are used to correct $his @@.yellow;hearing impairment.@@
-				<<elseif $activeSlave.hears < -1>>
-					which, due to $his @@.red;deafness,@@ are useless.
-				<</if>>
-			<<elseif $activeSlave.earwear == "muffling ear plugs">>
-				a pair of small foam ear plugs,
-				<<if $activeSlave.hears > -1>>
-					which noticeably @@.yellow;muffle $his hearing.@@
-				<<elseif $activeSlave.hears == -1>>
-					which are pointless, as $he is already @@.yellow;hard of hearing.@@
-				<<elseif $activeSlave.hears < -1>>
-					which are pointless, as $he is totally @@.red;deaf.@@
-				<</if>>
-			<<elseif $activeSlave.earwear == "deafening ear plugs">>
-				a pair of large silicone ear plugs,
-				<<if $activeSlave.hears > -1>>
-					which @@.red;nullify $his sense of hearing.@@
-				<<elseif $activeSlave.hears == -1>>
-					which impair $his hearing to the point of @@.red;deafness.@@
-				<<elseif $activeSlave.hears < -1>>
-					which are pointless, as $he is already @@.red;deaf.@@
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if $activeSlave.hears == -1>>
-				$He's @@.yellow;hard of hearing,@@ and a bit nervous as a result.
-			<<elseif $activeSlave.hears < -1>>
-				$He is @@.red;deaf,@@ and overly paranoid as a result.
-			<</if>>
-		<</if>>
-	<<else>>
-		$His face is featurelessly obscured by the Fuckdoll suit from the top of $his head down to $his face hole.
-	<</if>>
-<</widget>>
-
 <<widget "collarDescription">>
 	<<switch $activeSlave.collar>>
 	<<case "uncomfortable leather">>