diff --git a/src/Mods/SecExp/js/securityReport.js b/src/Mods/SecExp/js/securityReport.js
index cd09fdd56205eb3b3e0f7e35a5b759b6f2ed86c3..c290cf430c996c7d636a789423ca71e114ea5414 100644
--- a/src/Mods/SecExp/js/securityReport.js
+++ b/src/Mods/SecExp/js/securityReport.js
@@ -341,7 +341,7 @@ App.SecExp.securityReport = function() {
 			r.push(SF.text); recruitsMultiplier += SF.bonus;
 
 			const propagandaEffects = App.SecExp.propagandaEffects("recruitment");
-			r.push(`${propagandaEffects.text}`);
+			r.push(propagandaEffects.text);
 			recruitsMultiplier *= (1 + propagandaEffects.effect);
 			if (V.SecExp.edicts.defense.militia === 2) {
 				r.push(`Your militia accepts only volunteering citizens, ready to defend their arcology.`);
diff --git a/src/endWeek/reports/brothelReport.js b/src/endWeek/reports/brothelReport.js
index 2f291375cb652c40c8a1e737c433e145b36d7d2c..744c3f9d75c477fb66ee6a54d88545e304ac2bc8 100644
--- a/src/endWeek/reports/brothelReport.js
+++ b/src/endWeek/reports/brothelReport.js
@@ -103,7 +103,7 @@ App.EndWeek.brothelReport = function() {
 				r.push(`${He} has basic knowledge of how to run a whorehouse.`);
 			} else {
 				const skillIncrease = jsRandom(1, Math.ceil((S.Madam.intelligence + S.Madam.intelligenceImplant) / 15) + 8);
-				r.push(`${slaveSkillIncrease('madam', S.Madam, skillIncrease)}`);
+				r.push(slaveSkillIncrease('madam', S.Madam, skillIncrease));
 			}
 			if (S.Madam.intelligence + S.Madam.intelligenceImplant > 15) {
 				r.push(`${He} is a clever manager.`);
diff --git a/src/endWeek/reports/cellblockReport.js b/src/endWeek/reports/cellblockReport.js
index fdf57482f5909c55addd90dd44c82d8c6264ba4a..ec560052dc75b0f58187201f0da095e6681f3693 100644
--- a/src/endWeek/reports/cellblockReport.js
+++ b/src/endWeek/reports/cellblockReport.js
@@ -87,7 +87,7 @@ App.EndWeek.cellblockReport = function() {
 			r.push(`${He} has experience with detecting security issues and grinding down potential miscreants from working for you, making ${him} more effective.`);
 		} else {
 			const skillIncrease = random(1, Math.ceil((S.Wardeness.intelligence + S.Wardeness.intelligenceImplant) / 15) + 8);
-			r.push(`${slaveSkillIncrease('wardeness', S.Wardeness, skillIncrease)}`);
+			r.push(slaveSkillIncrease('wardeness', S.Wardeness, skillIncrease));
 		}
 		if (S.Wardeness.fetish === "sadist") {
 			r.push(`${He} uses the prisoners to gratify ${his} sadism, terrifying them and quickly breaking their resistance.`);
@@ -299,7 +299,7 @@ App.EndWeek.cellblockReport = function() {
 			r = [];
 			r.push(App.UI.DOM.makeElement("span", SlaveFullName(slave), "slave-name"));
 			if (slave.choosesOwnAssignment === 2) {
-				r.push(`${App.SlaveAssignment.choosesOwnJob(slave)}`);
+				r.push(App.SlaveAssignment.choosesOwnJob(slave));
 			} else {
 				r.push(`is confined in ${V.cellblockName}.`);
 			}
diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index a0850696ea910912955f2d9839cb138bb086cd68..33c4d37289a6c1ce072e75e0ecc0367cdd7e21b5 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -67,7 +67,7 @@ App.EndWeek.clinicReport = function() {
 				healthBonus++;
 			} else {
 				const skillIncrease = jsRandom(1, Math.ceil((S.Nurse.intelligence + S.Nurse.intelligenceImplant) / 15) + 8);
-				r.push(`${slaveSkillIncrease('nurse', S.Nurse, skillIncrease)}`);
+				r.push(slaveSkillIncrease('nurse', S.Nurse, skillIncrease));
 			}
 			if (S.Nurse.fetish === "dom") {
 				r.push(`${He} raps out commands with the confidence of long and partly sexual experience, so patients are inclined to follow even unpleasant medical instructions.`);
diff --git a/src/endWeek/reports/clubReport.js b/src/endWeek/reports/clubReport.js
index 4c98196a905b1b3760637155e6636c08f6679529..ff2a50d5808180bd34db961688fdbe06ecb22731 100644
--- a/src/endWeek/reports/clubReport.js
+++ b/src/endWeek/reports/clubReport.js
@@ -104,7 +104,7 @@ App.EndWeek.clubReport = function() {
 			r.push(`${He} has basic musical knowledge and can keep the party going.`);
 		} else {
 			const skillIncrease = random(1, Math.ceil((S.DJ.intelligence + S.DJ.intelligenceImplant) / 15) + 8);
-			r.push(`${slaveSkillIncrease('DJ', S.DJ, skillIncrease)}`);
+			r.push(slaveSkillIncrease('DJ', S.DJ, skillIncrease));
 		}
 		App.Events.addNode(el, r, "p", "indent");
 		if (slaves.length + V.clubSlavesGettingHelp < 10 && V.DJnoSex !== 1 && !slaveResting(S.DJ)) {
diff --git a/src/endWeek/reports/dairyReport.js b/src/endWeek/reports/dairyReport.js
index 99d82428b24c3487126816eb8527171f6698cc9f..699c0dca80e4b6bffd2d03c5a6c4ee1fd30e9548 100644
--- a/src/endWeek/reports/dairyReport.js
+++ b/src/endWeek/reports/dairyReport.js
@@ -257,7 +257,7 @@ App.EndWeek.dairyReport = function() {
 			r.push(`${He} has experience harvesting slave products from working for you.`);
 		} else {
 			const skillIncrease = random(1, Math.ceil((S.Milkmaid.intelligence + S.Milkmaid.intelligenceImplant) / 15) + 8);
-			r.push(`${slaveSkillIncrease('milkmaid', S.Milkmaid, skillIncrease)}`);
+			r.push(slaveSkillIncrease('milkmaid', S.Milkmaid, skillIncrease));
 		}
 		if (prostateStim === 1) {
 			r.push(`${He} uses ${his} turgid cock to give prostate stimulation to slaves that need help ejaculating.`);
diff --git a/src/endWeek/reports/farmyardReport.js b/src/endWeek/reports/farmyardReport.js
index 13be9c58a75a3649d0eed8489ade95fc02a8ccf5..559e43a2f231d186de820e983c84d7861bf32a4a 100644
--- a/src/endWeek/reports/farmyardReport.js
+++ b/src/endWeek/reports/farmyardReport.js
@@ -164,7 +164,7 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 			return `${He} has experience from working for you that helps ${him} in the difficult life of managing animals and property.`;
 		} else {
 			const skillIncrease = jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 32));
-			r.push(`${slaveSkillIncrease('farmer', slave, skillIncrease)}`);
+			return slaveSkillIncrease('farmer', slave, skillIncrease);
 		}
 	}
 
diff --git a/src/endWeek/reports/masterSuiteReport.js b/src/endWeek/reports/masterSuiteReport.js
index af4e6a5407e7c767e172b1ccfc0bcb6b0eb4ab8b..34db6bddc4d9b74bcad3885b116e17d0855fbfb8 100644
--- a/src/endWeek/reports/masterSuiteReport.js
+++ b/src/endWeek/reports/masterSuiteReport.js
@@ -108,7 +108,7 @@ App.EndWeek.masterSuiteReport = function() {
 		let r = [];
 		r.push(`<span class='slave-name'>${SlaveFullName(slave)}</span>`);
 		if (slave.choosesOwnAssignment === 2) {
-			r.push(`${App.SlaveAssignment.choosesOwnJob(slave)}`);
+			r.push(App.SlaveAssignment.choosesOwnJob(slave));
 		} else {
 			r.push(`sees to your pleasure in ${V.masterSuiteName}.`);
 		}
diff --git a/src/endWeek/reports/nurseryReport.js b/src/endWeek/reports/nurseryReport.js
index 5cda04c7848d0998b44eba4eb33d438796e6fb4d..dcc6676edb9d6d54084dde43db0826beb11c9be2 100644
--- a/src/endWeek/reports/nurseryReport.js
+++ b/src/endWeek/reports/nurseryReport.js
@@ -82,7 +82,7 @@ App.Facilities.Nursery.nurseryReport = function nurseryReport() {
 				const skillIncrease = jsRandom(1, Math.ceil((
 					S.Matron.intelligence + S.Matron.intelligenceImplant
 				) / 15) + 8);
-				r.push(`${slaveSkillIncrease('matron', S.Matron, skillIncrease)}`);
+				r.push(slaveSkillIncrease('matron', S.Matron, skillIncrease));
 			}
 
 			if (S.Matron.actualAge > 35) {
diff --git a/src/endWeek/reports/personalAttention.js b/src/endWeek/reports/personalAttention.js
index a4782a775c293074cd6d9cbccfe7b2e7450e4dea..a0c316819f8363888de7f8d28c4e6e5b4309c81d 100644
--- a/src/endWeek/reports/personalAttention.js
+++ b/src/endWeek/reports/personalAttention.js
@@ -183,7 +183,7 @@ globalThis.personalAttention = (function() {
 					r.push(App.UI.DOM.makeElement("span", `build ${his} devotion to you`, "hotpink"));
 					r.push(`by indulging ${his} perversions. Since ${he}'s an absolute slut for humiliation, you let ${him} whore around inside the special camera room whenever possible. When you're going out and feel like putting on a show, you bring ${him} on a leash and fuck ${him} in public. ${He} comes harder than ever when you push ${his} naked body up against the wall of a crowded public arcology elevator and molest ${him}.`);
 					seX(slave, "oral", V.PC, "penetrative", 4);
-					r.push(`${VCheck.Both(slave, 4, 2)}`);
+					r.push(VCheck.Both(slave, 4, 2));
 				} else if ((slave.fetishKnown === 1) && (slave.fetishStrength > 60) && (slave.fetish === "humiliation")) {
 					r.push(`Since ${slave.slaveName} has an unusual sexuality, you`);
 					r.push(App.UI.DOM.makeElement("span", `build ${his} devotion to you`, "hotpink"));
@@ -239,7 +239,7 @@ globalThis.personalAttention = (function() {
 					r.push(App.UI.DOM.makeElement("span", `touched by the affection.`, "hotpink"));
 					r.push(`${He} isn't used to being kissed, teased and massaged before ${he} takes cock. Slaves are usually used without regard to their orgasm, so ${he}'s also surprised and gratified when you make meticulous efforts to delay your own orgasm so it can coincide with ${his} own. ${He}'s a puddle on the sheets under your hands.`);
 					seX(slave, "oral", V.PC, "penetrative", 4);
-					r.push(`${VCheck.Vaginal(slave, 4)}`);
+					r.push(VCheck.Vaginal(slave, 4));
 				} else if (slave.anus === 0) {
 					r.push(`${slave.slaveName}'s accustomed to the slave life, so the experience is almost novel for ${him} and ${he} is`);
 					r.push(App.UI.DOM.makeElement("span", `touched by the affection.`, "hotpink"));
@@ -259,9 +259,9 @@ globalThis.personalAttention = (function() {
 					r.push(`${He} isn't used to being kissed, teased and massaged before ${he} takes cock. Slaves are usually used without regard to their orgasm, so ${he}'s also surprised and gratified when you make meticulous efforts to delay your own orgasm so it can coincide with ${his} own. ${He}'s a puddle on the sheets under your hands.`);
 					seX(slave, "oral", V.PC, "penetrative", 4);
 					if (slave.vagina === 0) {
-						r.push(`${VCheck.Vaginal(slave, 4)}`);
+						r.push(VCheck.Vaginal(slave, 4));
 					} else {
-						r.push(`${VCheck.Both(slave, 4, 2)}`);
+						r.push(VCheck.Both(slave, 4, 2));
 					}
 				}
 				if (V.PC.skill.slaving >= 100) {
@@ -447,7 +447,7 @@ globalThis.personalAttention = (function() {
 						case "hates anal":
 							r.push(`does not like it up the butt. Though it would be simpler to train ${him} out of it, you do your best to train ${him} to safely take a rough buttfuck without losing the fun aspects of anal rape, like the struggles, the whining, and the tears.`);
 							if (canDoAnal(slave)) {
-								r.push(`${VCheck.Anal(slave, 10)}`);
+								r.push(VCheck.Anal(slave, 10));
 							} else {
 								r.push(`The inability to actually penetrate ${his} ass hinders your efforts, however.`);
 								slave.training -= 20;
@@ -457,10 +457,10 @@ globalThis.personalAttention = (function() {
 						case "hates penetration":
 							if ((slave.vagina > -1) && canDoVaginal(slave)) {
 								r.push(`does not like sex. Though it would be simpler to train ${him} out of it, you do your best to train ${him} to safely take a hard pounding without losing the fun aspects of forced sex, like the struggles, the whining, and the tears.`);
-								r.push(`${VCheck.Vaginal(slave, 10)}`);
+								r.push(VCheck.Vaginal(slave, 10));
 							} else if (canDoAnal(slave)) {
 								r.push(`does not like it up the butt. Though it would be simpler to train ${him} out of it, you do your best to train ${him} to safely take a rough buttfuck without losing the fun aspects of anal rape, like the struggles, the whining, and the tears.`);
-								r.push(`${VCheck.Anal(slave, 10)}`);
+								r.push(VCheck.Anal(slave, 10));
 							} else {
 								r.push(`does not dicks in ${his} mouth. Though it would be simpler to train ${him} out of it, you do your best to train ${him} to safely take a rough facefuck without losing the fun aspects of forcing a slave to swallow a phallus, like the struggles, the gagging, and the tears.`);
 								seX(slave, "oral", V.PC, "penetrative", 10);
@@ -483,10 +483,10 @@ globalThis.personalAttention = (function() {
 							}
 							if (slave.vagina > 0 && canDoVaginal(slave)) {
 								r.push(`lodged up ${his} cunt.`);
-								r.push(`${VCheck.Vaginal(slave, 10)}`);
+								r.push(VCheck.Vaginal(slave, 10));
 							} else if (slave.anus > 0 && canDoAnal(slave)) {
 								r.push(`lodged up ${his} butt.`);
-								r.push(`${VCheck.Anal(slave, 10)}`);
+								r.push(VCheck.Anal(slave, 10));
 							} else {
 								r.push(`down ${his} throat.`);
 								seX(slave, "oral", V.PC, "penetrative", 10);
@@ -542,19 +542,19 @@ globalThis.personalAttention = (function() {
 						if (slave.fetish === "submissive") {
 							r.push(`${He} really takes to your close attention;`);
 							r.push(App.UI.DOM.makeElement("span", `${he}'s a natural submissive!`, "pink"));
-							(slave.fetishKnown = 1);
+							slave.fetishKnown = 1;
 						} else if ((slave.fetish === "cumslut")) {
 							r.push(`While you're giving ${him} personal attention, you discover by chance that`);
 							r.push(App.UI.DOM.makeElement("span", `${he} has an oral fixation!`, "pink"));
-							(slave.fetishKnown = 1);
+							slave.fetishKnown = 1;
 						} else if ((slave.fetish === "masochist")) {
 							r.push(`While you're giving ${him} personal correction, you discover by chance that`);
 							r.push(App.UI.DOM.makeElement("span", `${he} likes pain!`, "pink"));
-							(slave.fetishKnown = 1);
+							slave.fetishKnown = 1;
 						} else if ((slave.fetish === "humiliation")) {
 							r.push(`While you're giving ${him} personal attention in public, you discover by chance that`);
 							r.push(App.UI.DOM.makeElement("span", `${he} likes humiliation!`, "pink"));
-							(slave.fetishKnown = 1);
+							slave.fetishKnown = 1;
 						}
 					}
 					if (slave.sexualFlaw === "none") {
@@ -839,7 +839,7 @@ globalThis.personalAttention = (function() {
 					r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, "gold"));
 					r.push(`despite ${his}`);
 					r.push(App.UI.DOM.makeElement("span", `resentment.`, "mediumorchid"));
-					r.push(`${VCheck.Both(slave, 10, 5)}`);
+					r.push(VCheck.Both(slave, 10, 5));
 				} else if ((slave.devotion < -60) && (slave.anus !== 0)) {
 					r.push(`${slave.slaveName} is really wild and stern measures must be taken. So, ${he} is`);
 					if (!canDoAnal(slave) || (slave.vagina > -1 && !canDoVaginal(slave))) {
@@ -858,7 +858,7 @@ globalThis.personalAttention = (function() {
 					r.push(`for something, anything, to break the monotony that ${he} begins to look forward to the next time a phallus will`);
 					r.push(App.UI.DOM.makeElement("span", `force`, "gold"));
 					r.push(`its way into ${him}.`);
-					r.push(`${VCheck.Both(slave, 6, 3)}`);
+					r.push(VCheck.Both(slave, 6, 3));
 				} else if ((slave.devotion < -50) && (slave.hStyle !== "shaved") && (random(1, 100) > 90)) {
 					r.push(`${slave.slaveName} needs to be taken down a peg. Fortunately, you know just the thing. You bring ${him} into a bathroom, place a chair in the tub, and tie ${him} securely to the chair. ${He} isn't too perturbed — ${he} probably expects a facefuck under running water or something like that — but ${he} begins to cry when ${he}`);
 					if (canHear(slave)) {
@@ -886,7 +886,7 @@ globalThis.personalAttention = (function() {
 					r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, "gold"));
 					r.push(`despite ${his}`);
 					r.push(App.UI.DOM.makeElement("span", `resentment.`, "mediumorchid"));
-					r.push(`${VCheck.Anal(slave, 6)}`);
+					r.push(VCheck.Anal(slave, 6));
 				} else if (canDoVaginal(slave) && (random(1, 100) < 10)) {
 					r.push(`Sometimes, there's no need to be clever. The first indication ${he} gets that you've decided to train ${him} this week is when ${he} wakes suddenly in the middle of the night to the filling sensation of a`);
 					if (V.PC.dick !== 0) {
@@ -898,7 +898,7 @@ globalThis.personalAttention = (function() {
 					r.push(App.UI.DOM.makeElement("span", `become used to the abuse`, "gold"));
 					r.push(`despite ${his}`);
 					r.push(App.UI.DOM.makeElement("span", `resentment.`, "mediumorchid"));
-					r.push(`${VCheck.Vaginal(slave, 6)}`);
+					r.push(VCheck.Vaginal(slave, 6));
 				} else {
 					r.push(`${slave.slaveName} violently resists you whenever ${he} can. This cannot be permitted, so after a particularly severe bout of physical resistance, you decide to employ an old method of breaking a mind without damaging a body. You secure ${him} to a board and gently wash ${his} face with a wet cloth. ${He} spits in defiance, only to be surprised when you lower the board so that ${his} feet are higher than ${his} head. You tie the cloth around ${his} face. A thin stream of water onto the cloth produces all the feeling and none of the reality of a slow death by drowning. Waterboarding isn't much use for extracting information, but it works well for`);
 					r.push(App.UI.DOM.makeElement("span", `slavebreaking.`, "gold"));
@@ -963,7 +963,7 @@ globalThis.personalAttention = (function() {
 					r.push(App.UI.DOM.makeElement("span", `in favor of obedience,`, "gold"));
 					r.push(`but the extreme stress`);
 					r.push(App.UI.DOM.makeElement("span", `affects ${his} health, leaving ${him} with a ${slave.minorInjury}.`, ["health", "dec"]));
-					r.push(`${VCheck.Anal(slave, 6)}`);
+					r.push(VCheck.Anal(slave, 6));
 				} else if ((slave.scrotum > 0)) {
 					slave.minorInjury = either("black eye", "bruise", "split lip");
 					r.push(`${slave.slaveName} has indefensible, obvious targets for harsh breaking. Whenever ${he} falls short in the smallest way, you bind ${him} in such a way that ${his}`);
@@ -1170,7 +1170,7 @@ globalThis.personalAttention = (function() {
 					case "hates anal":
 						if (canDoAnal(slave)) {
 							r.push(`${slave.slaveName} does not like it up the butt. ${He} views ${his} rectum as a dirty place that should not be involved in sex. Naturally, this is an unacceptable view for a Free Cities sex slave to hold. The best way to address this foolishness is by long practice, so you take every opportunity to stick things up ${his} behind, and when you bore of that, you require ${him} to assfuck ${himself} with a dildo instead.`);
-							r.push(`${VCheck.Anal(slave, 10)}`);
+							r.push(VCheck.Anal(slave, 10));
 						} else {
 							r.push(`${slave.slaveName} does not like it up the butt. ${He} views ${his} rectum as a dirty place that should not be involved in sex. Naturally, this is an unacceptable view for a Free Cities sex slave to hold. The best way to address this foolishness is by long practice, so you take every opportunity to toy with ${his} rear. The inability to actually penetrate ${his} ass hinders your efforts, however.`);
 							slave.training -= 20;
@@ -1182,7 +1182,7 @@ globalThis.personalAttention = (function() {
 							r.push(`${slave.slaveName} does not like sex. In earlier times, it was accepted and understood that some, particularly some women, had a low sex drive. No Free Cities sex slave is allowed to engage in such foolishness. It's a hard flaw to fix, and for now you substitute obedience for honest enjoyment, and just get ${him} used to strong stimulation without putting anything in ${him}.`);
 						} else if (canDoAnal(slave)) {
 							r.push(`${slave.slaveName} does not like it up the butt. ${He} views ${his} rectum as a dirty place that should not be involved in sex. Naturally, this is an unacceptable view for a Free Cities slut to hold. The best way to address this foolishness is by long practice, so you take every opportunity to stick things up ${his} behind, and when you bore of that, you require ${him} to assfuck ${himself} instead.`);
-							r.push(`${VCheck.Anal(slave, 10)}`);
+							r.push(VCheck.Anal(slave, 10));
 						} else {
 							r.push(`${slave.slaveName} does not like it up the butt. ${He} views ${his} rectum as a dirty place that should not be involved in sex. Naturally, this is an unacceptable view for a Free Cities slut to hold. It's a hard flaw to fix when you can't introduce ${his} anus to things, but for now you substitute obedience for honest enjoyment, and just get ${him} used to strong stimulation without putting anything in ${him}.`);
 						}
@@ -1204,7 +1204,7 @@ globalThis.personalAttention = (function() {
 						}
 						if ((slave.anus > 0) && canDoAnal(slave)) {
 							r.push(`to ${his} anus without mercy.`);
-							r.push(`${VCheck.Anal(slave, 10)}`);
+							r.push(VCheck.Anal(slave, 10));
 						} else {
 							r.push(`to ${his} gagging throat.`);
 							seX(slave, "oral", V.PC, "penetrative", 10);
@@ -1352,7 +1352,7 @@ globalThis.personalAttention = (function() {
 						} else {
 							r.push(`Fortunately, all slaves have a convenient hole in which they can be fucked without even the slightest danger of pregnancy.`);
 							r.push(`So, you address the situation by fucking ${him} up the ass, and making sure ${he} gets off to it, too.`);
-							r.push(`${VCheck.Anal(slave, 10)}`);
+							r.push(VCheck.Anal(slave, 10));
 						}
 				}
 				slave.training += 40;
@@ -1769,7 +1769,7 @@ globalThis.personalAttention = (function() {
 					r.push(`Every time you catch ${him} with ${his} chastity off, you're there to penetrate ${his} rectum.`);
 				}
 				r.push(induceFlawAbuseEffects(slave));
-				r.push(`${VCheck.Anal(slave, 10)}`);
+				r.push(VCheck.Anal(slave, 10));
 				if (slave.training < 100) {
 					r.push(`${He} does ${his} best to comply with your abuse of ${his} butthole, unknowingly condemning ${himself} to more assrape.`);
 				} else {
@@ -1922,7 +1922,7 @@ globalThis.personalAttention = (function() {
 					r.push(`and remove ${his} chastity`);
 				}
 				r.push(`whenever ${he} can for use as one of your personal anal toys. You make ${his} anal orgasms predictably regular, doing your best to inculcate reliance on them.`);
-				r.push(`${VCheck.Anal(slave, 10)}`);
+				r.push(VCheck.Anal(slave, 10));
 				if (slave.training < 100) {
 					r.push(`${He} enjoys all the anal attention, but will need more training to develop psychological addiction to buttsex.`);
 				} else {
diff --git a/src/endWeek/reports/schoolroomReport.js b/src/endWeek/reports/schoolroomReport.js
index 9445769c43e98089b43c1f197dd2a4f6c91e3eee..d2cee049162c72ebe191d10b2972b13921659a59 100644
--- a/src/endWeek/reports/schoolroomReport.js
+++ b/src/endWeek/reports/schoolroomReport.js
@@ -68,7 +68,7 @@ App.EndWeek.schoolroomReport = function() {
 				idleBonus++;
 			} else {
 				const skillIncrease = jsRandom(1, Math.ceil((S.Schoolteacher.intelligence + S.Schoolteacher.intelligenceImplant) / 15) + 8);
-				r.push(`${slaveSkillIncrease('teacher', S.Schoolteacher, skillIncrease)}`);
+				r.push(slaveSkillIncrease('teacher', S.Schoolteacher, skillIncrease));
 			}
 			if (S.Schoolteacher.visualAge > 35) {
 				r.push(`${His} age earns ${him} the respect of ${his} students.`);
diff --git a/src/endWeek/reports/servantsQuartersReport.js b/src/endWeek/reports/servantsQuartersReport.js
index 9d3e5f8245ca718f2c9ba2bba278770cd6e4cf73..bc2557ea2a66cf618baa2128d0cb8c80d47616b3 100644
--- a/src/endWeek/reports/servantsQuartersReport.js
+++ b/src/endWeek/reports/servantsQuartersReport.js
@@ -112,7 +112,7 @@ App.EndWeek.servantsQuartersReport = function() {
 				r.push(`${He} understands the basics of what it takes to keep your penthouse operational.`);
 			} else {
 				const skillIncrease = jsRandom(1, Math.ceil((S.Stewardess.intelligence + S.Stewardess.intelligenceImplant) / 15) + 8);
-				r.push(`${slaveSkillIncrease('stewardess', S.Stewardess, skillIncrease)}`);
+				r.push(slaveSkillIncrease('stewardess', S.Stewardess, skillIncrease));
 			}
 			if (S.Stewardess.actualAge > 35) {
 				stewardessBonus += 25;
diff --git a/src/endWeek/reports/spaReport.js b/src/endWeek/reports/spaReport.js
index e4da9e19cfdbab15d17f2f355972942aac1baab5..8cc8d9337a1490f67ac877fae7a7968bf6960a15 100644
--- a/src/endWeek/reports/spaReport.js
+++ b/src/endWeek/reports/spaReport.js
@@ -72,7 +72,7 @@ App.EndWeek.spaReport = function() {
 			idleBonus++;
 		} else {
 			const skillIncrease = random(1, Math.ceil((S.Attendant.intelligence + S.Attendant.intelligenceImplant) / 15) + 8);
-			r.push(`${slaveSkillIncrease('attendant', S.Attendant, skillIncrease)}`);
+			r.push(slaveSkillIncrease('attendant', S.Attendant, skillIncrease));
 		}
 		if (!canSee(S.Attendant)) {
 			r.push(`${His} blindness allows ${him} to deeply connect with ${his} charges.`);
diff --git a/src/endWeek/saBeYourHeadGirl.js b/src/endWeek/saBeYourHeadGirl.js
index a2d96eef56f3a41fc72824baf2c12b2ca29a8cdc..1900aed06ecaaf22a22be30aa625808764980957 100644
--- a/src/endWeek/saBeYourHeadGirl.js
+++ b/src/endWeek/saBeYourHeadGirl.js
@@ -279,7 +279,7 @@ App.SlaveAssignment.beYourHeadGirl = (function() {
 	function cleanupVars(slave) {
 		if (!App.Data.Careers.Leader.HG.includes(slave.career) && slave.skill.headGirl < V.masteredXP) {
 			const skillIncrease = jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
-			r.push(`${slaveSkillIncrease('headGirl', slave, skillIncrease)}`);
+			r.push(slaveSkillIncrease('headGirl', slave, skillIncrease));
 		}
 		slave.health.tired = Math.clamp(slave.health.tired, 0, 1000);
 	}
diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js
index 9f4f4c782a46a7e0ca4018925c1ec2a9e9021737..7f89c2ed433228de85fbf7cc362d0f23b526d34a 100644
--- a/src/endWeek/saClothes.js
+++ b/src/endWeek/saClothes.js
@@ -559,13 +559,13 @@ App.SlaveAssignment.clothes = (function() {
 		if (slave.mouthAccessory === "dildo gag") {
 			if (slave.skill.oral <= 10) {
 				r.push(`Living gagged by a dildo, ${he} can't help but get better at having things down ${his} throat.`);
-				r.push(`${slaveSkillIncrease('oral', slave, 5)}`);
+				r.push(slaveSkillIncrease('oral', slave, 5));
 			}
 		}
 		if (slave.mouthAccessory === "massive dildo gag") {
 			if (slave.skill.oral < 75) {
 				r.push(`Living gagged by such an immense dildo, ${he} can't help but get even better at having giant things rammed down ${his} throat.`);
-				r.push(`${slaveSkillIncrease('oral', slave, 5)}`);
+				r.push(slaveSkillIncrease('oral', slave, 5));
 			}
 		}
 	}
diff --git a/src/endWeek/saGuardYou.js b/src/endWeek/saGuardYou.js
index 7ff2e7c34ce5e0a0636eccf18d273e67421b6fb1..78f68197345c9693c894461c01122c23ce762c5b 100644
--- a/src/endWeek/saGuardYou.js
+++ b/src/endWeek/saGuardYou.js
@@ -74,7 +74,7 @@ App.SlaveAssignment.guardYou = (function() {
 			r.push(`${He} has experience in personal defense from working for you.`);
 		} else {
 			const skillIncrease = jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
-			r.push(`${slaveSkillIncrease('bodyguard', slave, skillIncrease)}`);
+			r.push(slaveSkillIncrease('bodyguard', slave, skillIncrease));
 		}
 
 		if (V.AgePenalty !== 0) {
diff --git a/src/endWeek/saLiveWithHG.js b/src/endWeek/saLiveWithHG.js
index 34c9a78e2bf5640d9a10a82ad42e79e184c0e89a..a2ab0827c545dc32a5331712bc6e2e821614c9fe 100644
--- a/src/endWeek/saLiveWithHG.js
+++ b/src/endWeek/saLiveWithHG.js
@@ -449,16 +449,16 @@ App.SlaveAssignment.liveWithHG = (function() {
 	function HGTrainsSlave(slave, HG) {
 		if (slave.skill.oral <= 30) {
 			r.push(`${HG.slaveName} wants to come home to a talented tongue, so ${he2} trains slave.slaveName's oral skills.`);
-			r.push(`${slaveSkillIncrease('oral', slave, 10)}`);
+			r.push(slaveSkillIncrease('oral', slave, 10));
 		} else if (slave.vagina > 0 && canDoVaginal(slave) && slave.skill.vaginal <= 30) {
 			r.push(`${HG.slaveName} wants ${his2} personal sex slave to be as skilled with ${his} pussy as possible, so ${he2} trains ${slave.slaveName}'s vaginal skills.`);
-			r.push(`${slaveSkillIncrease('vaginal', slave, 10)}`);
+			r.push(slaveSkillIncrease('vaginal', slave, 10));
 		} else if (slave.anus > 0 && canDoAnal(slave) && slave.skill.anal <= 30) {
 			r.push(`${HG.slaveName} wants ${his2} personal sex slave to be a skillful backdoor whore, so ${he2} trains ${slave.slaveName}'s anal skills.`);
-			r.push(`${slaveSkillIncrease('anal', slave, 10)}`);
+			r.push(slaveSkillIncrease('anal', slave, 10));
 		} else if (slave.skill.entertainment <= 30) {
 			r.push(`${HG.slaveName} wants to be kept amused in ${his2} occasional free time, so ${he2} trains ${slave.slaveName}'s entertainment skills.`);
-			r.push(`${slaveSkillIncrease('entertainment', slave, 10)}`);
+			r.push(slaveSkillIncrease('entertainment', slave, 10));
 		} else if (slave.sexualFlaw !== "none") {
 			r.push(`${HG.slaveName} is annoyed by ${slave.slaveName}'s sexual flaws, so ${he2} <span class="flaw break">trains</span> ${him} out of them.`);
 			slave.sexualFlaw = "none";
@@ -738,7 +738,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 5;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 5, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 5, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 500) {
 				mammaryUse += 5;
@@ -748,12 +748,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse += 5;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 5, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 5, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse += 5;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 5, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 5, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse += 5;
@@ -766,7 +766,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
@@ -776,12 +776,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse += 3;
@@ -800,7 +800,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
@@ -810,12 +810,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse += 3;
@@ -834,7 +834,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
@@ -844,12 +844,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse += 3;
@@ -875,7 +875,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				HG.counter.penetrative += 10;
 				V.penetrativeTotal += 10;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 10, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 10, 1, V.HeadGirlID));
 				}
 			}
 		} else if (HG.fetish === "cumslut" && HG.fetishKnown === 1) {
@@ -902,7 +902,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 10;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 10, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 10, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse += 10;
@@ -921,7 +921,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
@@ -931,12 +931,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse += 3;
@@ -954,7 +954,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse++;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 1, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 1, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 500) {
 				mammaryUse++;
@@ -964,12 +964,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse++;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 1, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 1, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse++;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 1, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 1, 1, V.HeadGirlID));
 				}
 			} else {
 				oralUse++;
@@ -989,7 +989,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 300) {
 				mammaryUse += 3;
@@ -999,12 +999,12 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (slave.vagina > 0 && canDoVaginal(slave)) {
 				vaginalUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 0, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 0, V.HeadGirlID));
 				}
 			} else if (canDoAnal(slave)) {
 				analUse += 3;
 				if (canImpreg(slave, HG)) {
-					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
+					r.push(knockMeUp(slave, 3, 1, V.HeadGirlID));
 				}
 			} else if (slave.boobs >= 300) {
 				mammaryUse += 3;
diff --git a/src/endWeek/saPleaseYou.js b/src/endWeek/saPleaseYou.js
index 8c390277e44e98af1e86df7455873aea7eea55e1..428772a9ed5a949577732487ffb88c68c984704c 100644
--- a/src/endWeek/saPleaseYou.js
+++ b/src/endWeek/saPleaseYou.js
@@ -23,7 +23,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 	return saPleaseYou;
 
 	/**
-	 * @param {App.Entity.SlaveState} slave
+	 * @param {FC.ReportSlave} slave
 	 * @returns {string}
 	 */
 	function saPleaseYou(slave) {
@@ -206,7 +206,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 				}
 				if (slave.skill.vaginal < 100) {
 					r.push(`After a lot of time spent having vanilla sex, ${his} <span class="green">vaginal skill improves.</span>`);
-					r.push(`${slaveSkillIncrease('vaginal', slave, trainingEfficiency)}`);
+					r.push(slaveSkillIncrease('vaginal', slave, trainingEfficiency));
 				}
 			}
 			if (V.PC.dick !== 0) {
@@ -258,7 +258,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 		}
 		if (V.PC.dick !== 0) {
 			if (canImpreg(slave, V.PC)) {
-				r.push(`${knockMeUp(slave, vaginalUse, 0, -1, true)}`);
+				r.push(knockMeUp(slave, vaginalUse, 0, -1, true));
 			}
 		}
 		slave.counter.vaginal += vaginalUse;
@@ -371,7 +371,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 				}
 				if (slave.skill.anal < 100) {
 					r.push(`After a lot of time spent getting buttfucked, ${his} <span class="green">anal skill improves.</span>`);
-					r.push(`${slaveSkillIncrease('anal', slave, trainingEfficiency)}`);
+					r.push(slaveSkillIncrease('anal', slave, trainingEfficiency));
 				}
 				if (slave.fetish === "buttslut") {
 					if (slave.fetishKnown === 1) {
@@ -411,7 +411,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 		}
 		if (V.PC.dick !== 0) {
 			if (canImpreg(slave, V.PC)) {
-				r.push(`${knockMeUp(slave, analUse, 1, -1, true)}`);
+				r.push(knockMeUp(slave, analUse, 1, -1, true));
 			}
 		}
 		slave.counter.anal += analUse;
@@ -614,7 +614,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 						r.push(`eating you out,`);
 					}
 					r.push(`${his} <span class="green">oral skill improves.</span>`);
-					r.push(`${slaveSkillIncrease('oral', slave, trainingEfficiency)}`);
+					r.push(slaveSkillIncrease('oral', slave, trainingEfficiency));
 				}
 				if (slave.fetish === "cumslut") {
 					if (slave.fetishKnown === 1) {
@@ -1149,7 +1149,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 		slave.counter.penetrative += penetrativeUse;
 		V.penetrativeTotal += penetrativeUse;
 		if (canImpreg(V.PC, slave)) {
-			r.push(`${knockMeUp(V.PC, penetrativeUse, 0, slave.ID)}`);
+			r.push(knockMeUp(V.PC, penetrativeUse, 0, slave.ID));
 		}
 		if (V.policies.sexualOpenness === 0) {
 			r.push(`Rumors spread that you <span class="red">enjoy taking it from slaves.</span>`);
@@ -1426,13 +1426,13 @@ App.SlaveAssignment.pleaseYou = (function() {
 						r.push(`${his} mouth on your cunt,`);
 					}
 					r.push(`${his} <span class="green">oral skill improves.</span>`);
-					r.push(`${slaveSkillIncrease('oral', slave, trainingEfficiency)}`);
+					r.push(slaveSkillIncrease('oral', slave, trainingEfficiency));
 				} else if (slave.skill.vaginal < 100 && slave.vagina > 0 && canDoVaginal(slave)) {
 					r.push(`After a lot of time spent getting fucked, ${his} <span class="green">vaginal skill improves.</span>`);
-					r.push(`${slaveSkillIncrease('vaginal', slave, trainingEfficiency)}`);
+					r.push(slaveSkillIncrease('vaginal', slave, trainingEfficiency));
 				} else if (slave.skill.anal < 100 && slave.anus !== 0 && canDoAnal(slave)) {
 					r.push(`After a lot of time spent taking it up the ass, ${his} <span class="green">anal skill improves.</span>`);
-					r.push(`${slaveSkillIncrease('anal', slave, trainingEfficiency)}`);
+					r.push(slaveSkillIncrease('anal', slave, trainingEfficiency));
 				}
 			}
 		}
@@ -1447,7 +1447,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 	}
 
 	/**
-	 * @param {App.Entity.SlaveState} slave
+	 * @param {FC.ReportSlave} slave
 	 *
 	 */
 	function physicalEffects(slave) {
diff --git a/src/endWeek/saRecruitGirls.js b/src/endWeek/saRecruitGirls.js
index 6ec5d06812a8808ddd50a877e792a09861b41709..74a91e991f7b0198ce21db44ed3b28490c846000 100644
--- a/src/endWeek/saRecruitGirls.js
+++ b/src/endWeek/saRecruitGirls.js
@@ -810,7 +810,7 @@ App.SlaveAssignment.recruitGirls = (function() {
 			V.recruiterProgress += 1;
 		} else {
 			const skillIncrease = random(1, Math.ceil((slaveInt) / 15) + 8);
-			r.push(`${slaveSkillIncrease('recruiter', slave, skillIncrease)}`);
+			r.push(slaveSkillIncrease('recruiter', slave, skillIncrease));
 		}
 
 		if (slaveInt > 50) {
diff --git a/src/endWeek/saRelationships.js b/src/endWeek/saRelationships.js
index f95e9d16086b087b7380ee9868cfe9abd4e86fe1..ec6dcb0bd3fd5a47af549a662644d2fb446b490c 100644
--- a/src/endWeek/saRelationships.js
+++ b/src/endWeek/saRelationships.js
@@ -1125,7 +1125,7 @@ App.SlaveAssignment.relationships = (function() {
 					r.push(`is older, more experienced, and`);
 					if (lover.skill.oral > slave.skill.oral) {
 						r.push(`better at blowjobs than ${he} is. They are such good slaves that the senior ${girl2} serves as a mentor to the junior, improving ${his} oral skills.`);
-						r.push(`${slaveSkillIncrease('oral', slave, 5)}`);
+						r.push(slaveSkillIncrease('oral', slave, 5));
 					} else if (lover.skill.anal > slave.skill.anal) {
 						r.push(`better at`);
 						if (lover.anus > 0) {
@@ -1134,7 +1134,7 @@ App.SlaveAssignment.relationships = (function() {
 							r.push(`using ${his2} rear`);
 						}
 						r.push(`than ${he} is, and they are such good slaves that the senior ${girl2} serves as a mentor to the junior, improving ${his} anal skills.`);
-						r.push(`${slaveSkillIncrease('anal', slave, 5)}`);
+						r.push(slaveSkillIncrease('anal', slave, 5));
 					} else if (lover.skill.vaginal > slave.skill.vaginal && slave.vagina > 0 && lover.vagina > 0) {
 						if (lover.vagina > 0) {
 							r.push(`a better lover`);
@@ -1148,7 +1148,7 @@ App.SlaveAssignment.relationships = (function() {
 							r.push(`is,`);
 						}
 						r.push(`and they are such good slaves that the senior ${girl2} serves as a mentor to the junior, improving ${his} vaginal skills.`);
-						r.push(`${slaveSkillIncrease('vaginal', slave, 5)}`);
+						r.push(slaveSkillIncrease('vaginal', slave, 5));
 					} else if (lover.trust > slave.trust) {
 						r.push(`a better slave than ${he} is, and they are such obedient slaves that the senior ${girl2} serves as a mentor to the junior, <span class="trust inc">improving ${his} trust.</span>`);
 						slave.trust += 5;
diff --git a/src/endWeek/saRivalries.js b/src/endWeek/saRivalries.js
index 187f5c176605d406bb1dc7d6d2ffbe287c9681bc..a3aaf8c05152cac8da42ebba621a92be5758ca20 100644
--- a/src/endWeek/saRivalries.js
+++ b/src/endWeek/saRivalries.js
@@ -161,7 +161,7 @@ App.SlaveAssignment.rivalries = (function() {
 								r.push(`wait for you to use them`);
 								break;
 							default:
-								r.push(`${potentialRival.assignment}`);
+								r.push(potentialRival.assignment);
 						}
 						r.push(`and <span class="rivalry inc">start to dislike each other.</span>`);
 						foundRival = 1;
diff --git a/src/endWeek/saServeYourOtherSlaves.js b/src/endWeek/saServeYourOtherSlaves.js
index f76a5c12ac6b5e82f3f3915c3ca317d9678217f2..a1c0b9f79dfb472c9924c2868cee4f50380f3598 100644
--- a/src/endWeek/saServeYourOtherSlaves.js
+++ b/src/endWeek/saServeYourOtherSlaves.js
@@ -394,7 +394,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				domSlave.counter.anal += penetrativeUse;
 				V.analTotal += penetrativeUse;
 				if (canImpreg(domSlave, slave)) {
-					r.push(`${knockMeUp(domSlave, 30, 1, slave.ID, true)}`);
+					r.push(knockMeUp(domSlave, 30, 1, slave.ID, true));
 					if (domSlave.pregKnown === 1) {
 						r.push(`With so many potent deposits into ${his2} fertile rear, it comes as little surprise when <span class="lime">${he2} ends up pregnant with ${subName}'s child.</span>`);
 					}
@@ -510,7 +510,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						domSlave.counter.vaginal += penetrativeUse;
 						V.vaginalTotal += penetrativeUse;
 						if (canImpreg(domSlave, slave)) {
-							r.push(`${knockMeUp(domSlave, 30, 0, slave.ID, true)}`);
+							r.push(knockMeUp(domSlave, 30, 0, slave.ID, true));
 							if (domSlave.pregKnown === 1) {
 								r.push(`With so many potent loads kissing ${his2} cervix, it comes as little surprise when <span class="lime">${he2} ends up pregnant with ${subName}'s child.</span>`);
 							}
@@ -520,7 +520,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						domSlave.counter.anal += penetrativeUse;
 						V.analTotal += penetrativeUse;
 						if (canImpreg(domSlave, slave)) {
-							r.push(`${knockMeUp(domSlave, 30, 1, slave.ID, true)}`);
+							r.push(knockMeUp(domSlave, 30, 1, slave.ID, true));
 							if (domSlave.pregKnown === 1) {
 								r.push(`With so many potent deposits into ${his2} fertile rear, it comes as little surprise when <span class="lime">${he2} ends up pregnant with ${subName}'s child.</span>`);
 							}
@@ -536,7 +536,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						domSlave.counter.vaginal += penetrativeUse;
 						V.vaginalTotal += penetrativeUse;
 						if (canImpreg(domSlave, slave)) {
-							r.push(`${knockMeUp(domSlave, 30, 0, slave.ID)}`);
+							r.push(knockMeUp(domSlave, 30, 0, slave.ID));
 							if (domSlave.pregKnown === 1) {
 								r.push(`With so many potent loads kissing ${his2} cervix, it comes as little surprise when <span class="lime">${he2} ends up pregnant with ${subName}'s child.</span>`);
 							}
@@ -546,7 +546,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						domSlave.counter.anal += penetrativeUse;
 						V.analTotal += penetrativeUse;
 						if (canImpreg(domSlave, slave)) {
-							r.push(`${knockMeUp(domSlave, 30, 1, slave.ID)}`);
+							r.push(knockMeUp(domSlave, 30, 1, slave.ID));
 							if (domSlave.pregKnown === 1) {
 								r.push(`With so many potent deposits into ${his2} fertile rear, it comes as little surprise when <span class="lime">${he2} ends up pregnant with ${subName}'s child.</span>`);
 							}
@@ -1046,7 +1046,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					r.push(`bends ${him} over,`);
 				}
 				r.push(`mounts ${his} fertile ${slave.mpreg > 0 ? "ass" : ""}pussy and lets loose the first of many loads. ${subName} spends the week being thoroughly bred until ${domName}'s potent sperm <span class="hotpink">achieves ${his2} goal,</span> and then a bit more for good measure.`);
-				r.push(`${knockMeUp(slave, 100, 2, domSlave.ID)}`);
+				r.push(knockMeUp(slave, 100, 2, domSlave.ID));
 				fuckCount = jsRandom(10, 16);
 				if (slave.mpreg > 0) {
 					analUse = fuckCount;
@@ -1135,11 +1135,11 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					}
 					if (canPenetrate(domSlave)) {
 						fuckCount = jsRandom(15, 25);
-						r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+						r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 					} else if (canPenetrate(slave) && ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0))) {
 						/* yes, that means she rides her */
 						penetrativeUse = jsRandom(15, 25);
-						r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
+						r.push(SimpleSexAct.Slaves(domSlave, slave, fuckCount));
 					} else {
 						fuckCount = jsRandom(15, 25);
 					}
@@ -1163,7 +1163,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					r.push(`and begins to work ${him} to orgasm.`);
 				}
 				r.push(`${domName} spends the week extracting loads from ${subName} until ${his} potent sperm <span class="hotpink">slakes the burning need in ${his2} loins.</span>`);
-				r.push(`${knockMeUp(domSlave, 100, 2, slave.ID)}`);
+				r.push(knockMeUp(domSlave, 100, 2, slave.ID));
 				fuckCount = jsRandom(10, 16);
 				penetrativeUse = fuckCount;
 				slave.counter.penetrative += fuckCount;
@@ -1228,11 +1228,11 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 				if (canPenetrate(domSlave)) {
 					fuckCount = jsRandom(15, 25);
-					r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+					r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 				} else if (canPenetrate(slave) && ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0))) {
 					/* yes, that means she rides her */
 					penetrativeUse = jsRandom(15, 25);
-					r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
+					r.push(SimpleSexAct.Slaves(domSlave, slave, fuckCount));
 				} else {
 					fuckCount = jsRandom(15, 25);
 				}
@@ -1253,11 +1253,11 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			}
 			if (canPenetrate(domSlave)) {
 				fuckCount = jsRandom(15, 25);
-				r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+				r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 			} else if (canPenetrate(slave) && ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0))) {
 				/* yes, that means she rides her */
 				penetrativeUse = jsRandom(15, 25);
-				r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
+				r.push(SimpleSexAct.Slaves(domSlave, slave, fuckCount));
 			} else {
 				fuckCount = jsRandom(15, 25);
 			}
@@ -1270,7 +1270,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				r.push(`${domName} doesn't get to use ${his2} still-functional cock as much as ${he2} would like; it often stands stiff and untended while ${he2}'s being used. Not this week: ${subName} spends the week with ${domName}'s ${domRace} dick thrusting in and out of ${his} ${subRace} body, whenever ${he2} feels like having an enthusiastic fuck. <span class="hotpink">${domName} loves having someone to tend to ${his2} prick at last.</span>`);
 			}
 			fuckCount = jsRandom(9, 12);
-			r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+			r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 		} else if (hasAnyArms(domSlave) && domSlave.attrXX > 85 && slave.dick === 0 && slave.vagina > -1) { // feminine check
 			if (slave.devotion < -20) {
 				r.push(`Since ${domName} loves girls, ${subName} finds ${himself} groped, fingered, and toyed with. ${He} spends the week trying to avoid ${domName}'s playful ${domRace}`);
@@ -1299,7 +1299,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			}
 			if (canPenetrate(domSlave)) {
 				fuckCount = jsRandom(9, 12);
-				r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+				r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 			} else {
 				fuckCount = jsRandom(9, 12);
 			}
@@ -1330,15 +1330,15 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 			}
 			fuckCount = jsRandom(9, 12);
-			r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
+			r.push(SimpleSexAct.Slaves(domSlave, slave, fuckCount));
 		} else if (isAmputee(slave)) {
 			r.push(`${domName} doesn't have any special desires, so ${he2} simply uses the helpless ${subName} for comfort and convenience. ${subName} finds ${his} helpless ${subRace} torso being used as a bath toy, a bedwarmer, and for sexual convenience. <span class="hotpink">${domName} enjoys the ease and companionship.</span>`);
 			fuckCount = jsRandom(9, 12);
-			r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+			r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 		} else {
 			r.push(`${domName} doesn't have any special desires ${subName} can satisfy, so ${he2} simply uses ${subName} for comfort and convenience. ${subName} washes ${his} superior's ${domRace} body thoroughly and uses ${his} own ${subRace} body to warm ${domName}'s bed at night. <span class="hotpink">${domName} enjoys the ease and companionship.</span>`);
 			fuckCount = jsRandom(9, 12);
-			r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+			r.push(SimpleSexAct.Slaves(slave, domSlave, fuckCount));
 		}
 		domSlave.devotion += 4;
 	}
@@ -1903,23 +1903,23 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 		} else if (jobType === "cumdump") {
 			if (oralUse > 0) {
 				if (slave.skill.oral < 30) {
-					r.push(`${slaveSkillIncrease('oral', slave, (Math.floor((oralUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+					r.push(slaveSkillIncrease('oral', slave, (Math.floor((oralUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 				} else if (slave.skill.oral < 100) {
-					r.push(`${slaveSkillIncrease('oral', slave, (Math.floor((oralUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+					r.push(slaveSkillIncrease('oral', slave, (Math.floor((oralUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 				}
 			}
 			if (vaginalUse > 0) {
 				if (slave.skill.vaginal < 30) {
-					r.push(`${slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+					r.push(slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 				} else if (slave.skill.vaginal < 100) {
-					r.push(`${slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+					r.push(slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 				}
 			}
 			if (analUse > 0) {
 				if (slave.skill.anal < 30) {
-					r.push(`${slaveSkillIncrease('anal', slave, (Math.floor((analUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+					r.push(slaveSkillIncrease('anal', slave, (Math.floor((analUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 				} else if (slave.skill.anal < 100) {
-					r.push(`${slaveSkillIncrease('anal', slave, (Math.floor((analUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+					r.push(slaveSkillIncrease('anal', slave, (Math.floor((analUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 				}
 			}
 		} else if (jobType === "sub") {
@@ -1927,25 +1927,25 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				if (oralUse > 0) {
 					if (slave.skill.oral < domSlave.skill.oral) {
 						r.push(`${domName} is better at oral than ${subName} and lets ${him} in on some of ${his2} techniques.`);
-						r.push(`${slaveSkillIncrease('oral', slave, (Math.floor(oralUse + Math.floor(slave.intelligence + slave.intelligenceImplant) / 32)))}`);
+						r.push(slaveSkillIncrease('oral', slave, (Math.floor(oralUse + Math.floor(slave.intelligence + slave.intelligenceImplant) / 32))));
 					} else if (slave.skill.oral < 30) {
-						r.push(`${slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+						r.push(slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 					}
 				}
 				if (vaginalUse > 0) {
 					if (slave.skill.vaginal < domSlave.skill.vaginal && domSlave.vagina >= 0) {
 						r.push(`${domName} knows how to use ${his2} pussy better than ${subName} does and passes on some of ${his2} knowledge.`);
-						r.push(`${slaveSkillIncrease('vaginal', slave, (Math.floor(vaginalUse + Math.floor(slave.intelligence + slave.intelligenceImplant) / 32)))}`);
+						r.push(slaveSkillIncrease('vaginal', slave, (Math.floor(vaginalUse + Math.floor(slave.intelligence + slave.intelligenceImplant) / 32))));
 					} else if (slave.skill.vaginal < 30) {
-						r.push(`${slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+						r.push(slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 					}
 				}
 				if (analUse > 0) {
 					if (slave.skill.anal < domSlave.skill.anal) {
 						r.push(`${domName} is more familiar with anal sex than ${subName} is and lets some of ${his2} skill rub off on ${him}.`);
-						r.push(`${slaveSkillIncrease('anal', slave, (Math.floor(analUse + Math.floor(slave.intelligence + slave.intelligenceImplant) / 32)))}`);
+						r.push(slaveSkillIncrease('anal', slave, (Math.floor(analUse + Math.floor(slave.intelligence + slave.intelligenceImplant) / 32))));
 					} else if (slave.skill.anal < 30) {
-						r.push(`${slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))))}`);
+						r.push(slaveSkillIncrease('vaginal', slave, (Math.floor((vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32)))));
 					}
 				}
 			}
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index 579396e3412c25b10746f38dca6bab235799a8bc..ce395b3bede0c4085402ac53f5081588375b2f1a 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -8770,7 +8770,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {})
 						r.push(`courtesan dress`);
 						break;
 					default:
-						r.push(`${slave.clothes}`);
+						r.push(slave.clothes);
 				}
 				r.push(`as instinct takes hold compelling ${him} to begin pushing. ${He} pays no mind to who may be watching ${his} naked`);
 				if (slave.mpreg === 1) {
@@ -9069,7 +9069,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {})
 						r.push(`thong`);
 						break;
 					default:
-						r.push(`${slave.clothes}`);
+						r.push(slave.clothes);
 				}
 				r.push(`and tosses it aside. Quickly ${he} spreads ${his} legs and begins pushing out`);
 				if (slave.broodmother > 0) {
diff --git a/src/npc/descriptions/womb/pregnancy.js b/src/npc/descriptions/womb/pregnancy.js
index c0f7c7b7d9f3d2eb63b36d48a3f82e1eeea90454..348d5a213c1f840e8a79ea50a5314dc79ff0a2d8 100644
--- a/src/npc/descriptions/womb/pregnancy.js
+++ b/src/npc/descriptions/womb/pregnancy.js
@@ -658,7 +658,7 @@ App.Desc.pregnancy = function(slave, {market, eventDescription} = {}) {
 				r.push(`almost ready to give birth.`);
 			}
 		}
-		r.push(`${App.Desc.superfetation(slave, {market: market})}`);
+		r.push(App.Desc.superfetation(slave, {market: market}));
 	} else if (slave.bellyImplant >= 10000) {
 		r.push(`${He} looks <span class="pink">hugely pregnant.</span> ${He} greatly rounded middle is filled by ${his} ${slave.bellyImplant}cc belly implant.`);
 	} else if (slave.bellyPreg >= 5000) {
diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js
index 4eb889122632bbee93782c03d6257686d3d5009e..acf5cb05f55832110436c13ce774098ee34ccd90 100644
--- a/src/npc/generate/newSlaveIntro.js
+++ b/src/npc/generate/newSlaveIntro.js
@@ -3343,7 +3343,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									slave.fetishStrength = 20;
 								}
 								if (canImpreg(V.PC, slave)) {
-									r.push(`${knockMeUp(V.PC, 100, 0, slave.ID)}`);
+									r.push(knockMeUp(V.PC, 100, 0, slave.ID));
 									r.push(`You groan as you rub your belly. You were fertile and are now likely <span class="lime">quite pregnant.</span>`);
 								}
 								App.Events.addNode(el, r);
diff --git a/src/personalAssistant/assistantAppearance.js b/src/personalAssistant/assistantAppearance.js
index 84629d1a8c5ccaf5af86c69d62c95f69040f0ea5..eeceb830c4a2e17625d2a1811bd419fb7a3cb2da 100644
--- a/src/personalAssistant/assistantAppearance.js
+++ b/src/personalAssistant/assistantAppearance.js
@@ -12,6 +12,23 @@ globalThis.PersonalAssistantAppearance = function() {
 		heM, hisM, himM, girlM, himselfM, womanM, sisterM, wifeM, daughterM, loliM
 	} = (V.assistant.market) ? getPronouns(assistant.pronouns().market).appendSuffix('M') : getPronouns(assistant.pronouns().main).appendSuffix('M'); // TODO not sure how to set this is market is not defined, using main as fallback for now for testing.
 
+	function assistantRace() {
+		if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
+			return V.arcologies[0].FSSupremacistRace;
+		} else if (V.assistant.fsAppearance === "subjugationist") {
+			return V.arcologies[0].FSSubjugationistRace;
+		}
+		return '';
+	}
+
+	function assistantRaceSkin(def) {
+		const race = assistantRace();
+		if (race) {
+			return randomRaceSkin(race);
+		}
+		return def;
+	}
+
 	const {
 		hisU, himU, himselfU, girlU
 	} = getNonlocalPronouns(V.seeDicks).appendSuffix('U');
@@ -20,21 +37,7 @@ globalThis.PersonalAssistantAppearance = function() {
 	const r = [];
 	switch (V.assistant.appearance) {
 		case "monstergirl":
-			r.push(`${HeA}'s a cute little`);
-			if (V.assistant.fsAppearance === "supremacist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`monster ${girlA} with`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && typeof V.arcologies[0].FSSupremacistRace === "string" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(randomRaceSkin(V.arcologies[0].FSSupremacistRace));
-			} else if (V.assistant.fsAppearance === "subjugationist" && typeof V.arcologies[0].FSSubjugationistRace === "string") {
-				r.push(randomRaceSkin(V.arcologies[0].FSSubjugationistRace));
-			} else {
-				r.push(`pale`);
-			}
-			r.push(`skin, perky breasts, green tentacles instead of hair, and two dicks. ${HisA} eyes are large, expressive, and surprisingly innocent.`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} monster ${girlA} with ${assistantRaceSkin("pale")} skin, perky breasts, green tentacles instead of hair, and two dicks. ${HisA} eyes are large, expressive, and surprisingly innocent.`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			}
@@ -66,21 +69,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "shemale":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`bimbo shemale with bleached blonde hair,`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && typeof V.arcologies[0].FSSupremacistRace === "string" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(randomRaceSkin(V.arcologies[0].FSSupremacistRace));
-			} else if (V.assistant.fsAppearance === "subjugationist" && typeof V.arcologies[0].FSSubjugationistRace === "string") {
-				r.push(randomRaceSkin(V.arcologies[0].FSSubjugationistRace));
-			} else {
-				r.push(`tanned`);
-			}
-			r.push(`skin, huge lips, and ridiculous tits. ${HisA} cock hangs past ${hisA} knees when limp.`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} bimbo shemale with bleached blonde hair, ${assistantRaceSkin("tanned")} skin, huge lips, and ridiculous tits. ${HisA} cock hangs past ${hisA} knees when limp.`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			}
@@ -118,13 +107,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "amazon":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`amazon`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} amazon`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -158,13 +141,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "businesswoman":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`business ${womanA}`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} business ${womanA}`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -198,13 +175,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "goddess":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`fertility goddess,`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} fertility goddess,`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -244,13 +215,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "schoolgirl":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`school ${girlA}`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} school ${girlA}`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -284,13 +249,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "hypergoddess":
-			r.push(`${HeA}'s a cute "little"`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`fertility goddess, with monstrously wide hips, enormous milky breasts and a room filling belly. ${HisA} overfull stomach bulges and squirms from ${hisA} hundreds of occupants, as well as parts ${hisA} milk swollen breasts to either side.`);
+			r.push(`${HeA}'s a cute "little" ${assistantRace()} fertility goddess, with monstrously wide hips, enormous milky breasts and a room filling belly. ${HisA} overfull stomach bulges and squirms from ${hisA} hundreds of occupants, as well as parts ${hisA} milk swollen breasts to either side.`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -330,12 +289,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "loli":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
+			r.push(`${HeA}'s a cute little ${assistantRace()}`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -369,13 +323,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "preggololi":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`${girlA} with a large pregnant`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} ${girlA} with a large pregnant`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -512,13 +460,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "angel":
-			r.push(`${HeA}'s a gorgeous little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`angel with long radiant hair and large`);
+			r.push(`${HeA}'s a gorgeous little ${assistantRace()} angel with long radiant hair and large`);
 			if (V.arcologies[0].FSDegradationist !== "unset") {
 				r.push(`black`);
 			} else {
@@ -558,13 +500,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "cherub":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`minor angel with radiant hair and arm length`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} minor angel with radiant hair and arm length`);
 			if (V.arcologies[0].FSDegradationist !== "unset") {
 				r.push(`black`);
 			} else {
@@ -604,13 +540,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "imp":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`imp with black hair and comically tiny bat-like wings.`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} imp with black hair and comically tiny bat-like wings.`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {
@@ -644,13 +574,7 @@ globalThis.PersonalAssistantAppearance = function() {
 			}
 			break;
 		case "witch":
-			r.push(`${HeA}'s a cute little`);
-			if (V.arcologies[0].FSSupremacist !== "unset" && V.assistant.fsAppearance !== "subjugationist") {
-				r.push(`${V.arcologies[0].FSSupremacistRace}`);
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				r.push(`${V.arcologies[0].FSSubjugationistRace}`);
-			}
-			r.push(`witch with thin, flowing robes and a wide brimmed, if rather stereotypical, witch's hat.`);
+			r.push(`${HeA}'s a cute little ${assistantRace()} witch with thin, flowing robes and a wide brimmed, if rather stereotypical, witch's hat.`);
 			if (V.assistant.fsOptions) {
 				r.push(FSfunc());
 			} else {