diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js
index fa3258f5bd32b24739a5bc0a47d1c050eead6a1c..48afb0e264384a799258f7c6d6c407f9aa80cf84 100644
--- a/js/003-data/policiesData.js
+++ b/js/003-data/policiesData.js
@@ -692,7 +692,9 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.customRetirementAge,
 								v => {
+									Math.clamp(v, 20, 120);
 									V.customRetirementAge = v;
+									V.retirementAge = v;
 									policy("RetirementPolicies");
 								},
 								true
@@ -703,8 +705,8 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				get activatedText() { return `you have set your arcology's standard retirement age for sex slaves at ${V.retirementAge}.`; },
-				onRepeal: function() { V.retirementAge = 45; }
-
+				onRepeal: function() { V.retirementAge = 45; },
+				note: "Set age before implementing"
 			}
 		],
 		"policies.retirement.physicalAgePolicy": [
@@ -719,7 +721,9 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.customRetirementAge,
 								v => {
+									Math.clamp(v, 20, 120);
 									V.customRetirementAge = v;
+									V.retirementAge = v;
 									policy("RetirementPolicies");
 								},
 								true
@@ -730,7 +734,8 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				get activatedText() { return `you have set your arcology's standard retirement age for sex slaves at physically ${V.retirementAge}. This policy completely supplants former age retirement policies.`; },
-				onRepeal: function() { V.retirementAge = 45; }
+				onRepeal: function() { V.retirementAge = 45; },
+				note: "Set age before implementing"
 			}
 		],
 		"policies.retirement.fate": [
@@ -786,6 +791,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.sex,
 								v => {
+									Math.clamp(v, 1, 10000000);
 									V.policies.retirement.sex = v;
 									policy("RetirementPolicies");
 								},
@@ -817,6 +823,7 @@ App.Data.Policies.Selection = {
 								V.policies.retirement.milk,
 								v => {
 									V.policies.retirement.milk = v;
+									Math.clamp(v, 1, 100000000);
 									policy("RetirementPolicies");
 								},
 								true
@@ -846,6 +853,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.cum,
 								v => {
+									Math.clamp(v, 1, 1000000000);
 									V.policies.retirement.cum = v;
 									policy("RetirementPolicies");
 								},
@@ -876,6 +884,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.births,
 								v => {
+									Math.clamp(v, 1, 1000000);
 									V.policies.retirement.births = v;
 									policy("RetirementPolicies");
 								},
@@ -906,6 +915,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.kills,
 								v => {
+									Math.clamp(v, 1, 1000000);
 									V.policies.retirement.kills = v;
 									policy("RetirementPolicies");
 								},
@@ -952,7 +962,12 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.customMenialRetirementAge,
 								v => {
+									Math.clamp(v, 20, 120);
 									V.customMenialRetirementAge = v;
+									V.customRetirementAge = Math.clamp(V.customRetirementAge, 20, V.customMenialRetirementAge);
+									if (V.customMenialRetirementAge < 45) {
+										V.retirementAge = V.customMenialRetirementAge;
+									}
 									policy("MenialRetirementPolicies");
 								},
 								true
diff --git a/src/Mods/SpecialForce/SpecialForce.js b/src/Mods/SpecialForce/SpecialForce.js
index 78c3cae50bba06fa9f535fb6486acd7a12bc4cb7..47848580fdb58f9128b59ed9746e71bdd5b740cb 100644
--- a/src/Mods/SpecialForce/SpecialForce.js
+++ b/src/Mods/SpecialForce/SpecialForce.js
@@ -316,7 +316,10 @@ App.SF.BC = function() {
 		}
 	}
 
-	delete V.SF.tour; delete V.SF.Caps; delete V.SF.FS.upgrade;
+	delete V.SF.tour; delete V.SF.Caps;
+	if (_.get(V.SF, 'FS.upgrade')) {
+		delete V.SF.FS.upgrade;
+	}
 
 	if (jsDef(V.SF.Squad) && jsDef(V.SF.Squad.Troops)) {
 		V.SF.ArmySize = V.SF.Squad.Troops;
diff --git a/src/interaction/policies/policies.tw b/src/interaction/policies/policies.tw
index 77b51ac3a3cadeee0acbfe9e99cfbfdf00731a37..6f69991e78460f1d07d1cc6ef925e41eeabaf409 100644
--- a/src/interaction/policies/policies.tw
+++ b/src/interaction/policies/policies.tw
@@ -16,37 +16,6 @@
 	<<set $nextLink = "Main">>
 <</if>>
 <<set $encyclopedia = "Future Societies">>
-<<set $rep = Math.clamp($rep, 0, 20000)>>
-
-<<set $customMenialRetirementAge = Math.clamp($customMenialRetirementAge, 20, 120)>>
-<<if $policies.retirement.menial2Citizen == 1>>
-	<<set $customRetirementAge = Math.clamp($customRetirementAge, 20, $customMenialRetirementAge)>>
-	<<if $customMenialRetirementAge < 45>>
-		<<set $retirementAge = $customMenialRetirementAge>>
-	<</if>>
-<<else>>
-	<<set $customRetirementAge = Math.clamp($customRetirementAge, 20, 120)>>
-<</if>>
-<<if $policies.retirement.customAgePolicy == 1>> <<set $retirementAge = $customRetirementAge>> <</if>>
-<<if $policies.retirement.physicalAgePolicy == 1>> <<set $retirementAge = $customRetirementAge>> <</if>>
-
-<<if $policies.retirement.sex > 0>>
-	<<set $policies.retirement.sex = Math.clamp($policies.retirement.sex, 1, 10000000)>>
-<</if>>
-<<if $policies.retirement.milk > 0>>
-	<<set $policies.retirement.milk = Math.clamp($policies.retirement.milk, 1, 100000000)>>
-<</if>>
-<<if $policies.retirement.cum > 0>>
-	<<set $policies.retirement.cum = Math.clamp($policies.retirement.cum, 1, 1000000000)>>
-<</if>>
-<<if $policies.retirement.births > 0>>
-	<<set $policies.retirement.births = Math.clamp($policies.retirement.births, 1, 1000000)>>
-<</if>>
-<<if $policies.retirement.kills > 0>>
-	<<set $policies.retirement.kills = Math.clamp($policies.retirement.kills, 1, 1000000)>>
-<</if>>
-<<if $HeadGirl>> <<setLocalPronouns $HeadGirl>> <</if>>
-
 
 <<run App.UI.tabbar.handlePreSelectedTab($tabChoice.policies)>>
 <p class="scene-intro">
diff --git a/src/js/statsChecker/statsChecker.js b/src/js/statsChecker/statsChecker.js
index 9ada0875804b82605b5d63e9b4052e1a51fe67ce..f8dc76f97a14a81786ba18c43710ce045ef1a540 100644
--- a/src/js/statsChecker/statsChecker.js
+++ b/src/js/statsChecker/statsChecker.js
@@ -251,22 +251,22 @@ globalThis.SlaveStatsChecker = (function() {
  */
 globalThis.isSlim = function(slave) {
 	let slim = false;
-	const ArcologyZero = V.arcologies[0];
+	const arcology = V.arcologies[0];
 
-	if (ArcologyZero.FSSlimnessEnthusiastLaw === 1) {
+	if (arcology.FSSlimnessEnthusiastLaw === 1) {
 		return (slimLawPass(slave) === 1);
 	}
 	if ((slave.boobs < 500) && (slave.butt < 3)) {
-		if ((slave.muscles <= 30) && (ArcologyZero.FSPhysicalIdealist === "unset") && (slave.weight <= 10) && (ArcologyZero.FSHedonisticDecadence === "unset")) {
+		if ((slave.muscles <= 30) && (arcology.FSPhysicalIdealist === "unset") && (slave.weight <= 10) && (arcology.FSHedonisticDecadence === "unset")) {
 			slim = true;
-		} else if (ArcologyZero.FSPhysicalIdealist !== "unset") {
-			if ((ArcologyZero.FSPhysicalIdealistStrongFat === 1) && (slave.weight <= 30)) {
+		} else if (arcology.FSPhysicalIdealist !== "unset") {
+			if ((arcology.FSPhysicalIdealistStrongFat === 1) && (slave.weight <= 30)) {
 				slim = true;
 			} else if (slave.weight <= 10) {
 				slim = true;
 			}
-		} else if ((ArcologyZero.FSHedonisticDecadence !== "unset") && (slave.weight <= 30)) {
-			if (ArcologyZero.FSHedonisticDecadenceStrongFat === 1) {
+		} else if ((arcology.FSHedonisticDecadence !== "unset") && (slave.weight <= 30)) {
+			if (arcology.FSHedonisticDecadenceStrongFat === 1) {
 				slim = true;
 			} else if (slave.muscles <= 30) {
 				slim = true;
@@ -285,6 +285,7 @@ globalThis.genderLawPass = function(slave) {
 	let genderLawPass = 1;
 
 	const arcology = V.arcologies[0];
+
 	if (arcology.FSPhysicalIdealist === "unset" && arcology.FSHedonisticDecadenceStrongFat === 0 && slave.muscles > 30) {
 		/* muscle check */
 		genderLawPass = 0;
@@ -315,14 +316,14 @@ globalThis.genderLawPass = function(slave) {
  */
 globalThis.slimLawPass = function(slave) {
 	let slimLawPass = 0;
-	const ArcologyZero = V.arcologies[0];
+	const arcology = V.arcologies[0];
 
-	if (ArcologyZero.FSSlimnessEnthusiastLaw === 1) {
+	if (arcology.FSSlimnessEnthusiastLaw === 1) {
 		if ((slave.boobs < 300) && (slave.butt <= 1) && (slave.waist <= 10)) {
-			if ((ArcologyZero.FSPhysicalIdealist === "unset") && (ArcologyZero.FSHedonisticDecadenceStrongFat === 0) && (slave.muscles > 30)) {
+			if ((arcology.FSPhysicalIdealist === "unset") && (arcology.FSHedonisticDecadenceStrongFat === 0) && (slave.muscles > 30)) {
 				/* muscle check*/
 				slimLawPass = 0;
-			} else if ((ArcologyZero.FSHedonisticDecadence !== "unset") || (ArcologyZero.FSPhysicalIdealistStrongFat === 1)) {
+			} else if ((arcology.FSHedonisticDecadence !== "unset") || (arcology.FSPhysicalIdealistStrongFat === 1)) {
 				slimLawPass = 1;
 				/* weight check*/
 				if (slave.weight > 30) {
@@ -345,7 +346,7 @@ globalThis.slimLawPass = function(slave) {
  * @returns {boolean}
  */
 globalThis.heightPass = function(slave) {
-	let arcology = V.arcologies[0];
+	const arcology = V.arcologies[0];
 
 	if (arcology.FSPetiteAdmiration !== "unset") {
 		if (arcology.FSPetiteAdmirationLaw2 === 1) {
@@ -584,6 +585,8 @@ globalThis.isStupid = function(slave) {
  * @returns {boolean} Whether the slave is a part of the "superior" race
  */
 globalThis.isSuperiorRace = function(slave) {
+	const arcology = V.arcologies[0];
+
 	if (!slave || arcology.FSSupremacist === "unset") {
 		return null;
 	} else {
@@ -599,6 +602,8 @@ globalThis.isSuperiorRace = function(slave) {
  * @returns {boolean} Whether the slave is a part of the "inferior" race
  */
 globalThis.isInferiorRace = function(slave) {
+	const arcology = V.arcologies[0];
+
 	if (!slave || arcology.FSSubjugationist === "unset") {
 		return null;
 	} else {
diff --git a/src/npc/descriptions/genericDescriptions.js b/src/npc/descriptions/genericDescriptions.js
new file mode 100644
index 0000000000000000000000000000000000000000..35706f785b18f403f358e1034730369d3eb7ab86
--- /dev/null
+++ b/src/npc/descriptions/genericDescriptions.js
@@ -0,0 +1,17 @@
+/**
+ * @example const beautiful = beautiful(slave); `The slave's ${beautiful} face.`
+ * @param {App.Entity.SlaveState} slave
+ * @returns {string}
+ */
+globalThis.beautiful = function(slave) {
+	return slave.genes === "XX" ? `beautiful` : `handsome`;
+};
+
+/**
+ * @example const pretty = pretty(slave); `The slave's ${pretty} face.`
+ * @param {App.Entity.SlaveState} slave
+ * @returns {string}
+ */
+globalThis.pretty = function(slave) {
+	return slave.genes === "XX" ? `pretty` : `good-looking`;
+};
diff --git a/src/pregmod/reMaleCitizenHookup.tw b/src/pregmod/reMaleCitizenHookup.tw
index e1b36899be8d5896db1c6a4367b5ee96d0d7ba02..1e98d3871f96f0e16cae5ca729a9abae2c57ce9e 100644
--- a/src/pregmod/reMaleCitizenHookup.tw
+++ b/src/pregmod/reMaleCitizenHookup.tw
@@ -264,9 +264,9 @@ He's clearly attracted to you; even the most consummate actor would have difficu
 		an inhumanly enormous ass to counterbalance those enormous balls and a semi-hard cock, unable to become fully erect. You have to struggle to get him onto your bed. You tease him as you remove your evening dress, crawl over him and
 		<<if $PC.newVag == 1>>
 			impale yourself on his monster shaft as far as you can, quivering in joy at its girth filling you.
-		<<elseif $PC.vigina > 3>>
+		<<elseif $PC.vagina > 3>>
 			impale yourself on his monster shaft as far as you can, quivering in joy at its girth filling you like nothing does lately.
-		<<elseif $PC.vigina > 2>>
+		<<elseif $PC.vagina > 2>>
 			impale yourself on his monster shaft as far as you can, quivering in joy at how full you are.
 		<<elseif $PC.vagina > 1>>
 			barely manage to get his cockhead into your pussy.
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index bd4f5cf450da78bab847c39c628d67fa52c8d107..73b835ea8fc7d7109a1789bacf07cb526c46dd35 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -8075,7 +8075,7 @@
 			<</if>>
 		<</if>>
 	<<else>>
-		<<if (_actualBreastSize > 30000>>
+		<<if _actualBreastSize > 30000>>
 			<<if ($slaves[$i].assignment != "work in the dairy") || ($dairyRestraintsSetting < 2) || $arcologies[0].FSAssetExpansionistResearch == 0>>
 				<<if ($slaves[$i].drugs != "breast injections" && $slaves[$i].drugs != "intensive breast injections" && $arcologies[0].FSAssetExpansionistResearch == 0)>>
 					<<if $slaves[$i].bellyPreg < 300000 && $slaves[$i].hormoneBalance < 300 && _gigantomastiaMod != 3>>