diff --git a/src/SecExp/propagandaHub.tw b/src/SecExp/propagandaHub.tw
index f0db26bfea20fb315d1a6834467c78bdc38f34ec..74a061e75009e1074cafd57dac7ab53e0c8a63a2 100644
--- a/src/SecExp/propagandaHub.tw
+++ b/src/SecExp/propagandaHub.tw
@@ -6,7 +6,7 @@
 	<<set _HistoryDiscount = 1>>
 <</if>>
 
-<<set $nextButton = "Back", $nextLink = "Manage Penthouse", $returnTo = "Manage Penthouse">>
+<<set $nextButton = "Back", $nextLink = "Manage Arcology">>
 
 Propaganda Hub
 <hr>
diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw
index 412872248833d2af03ea4a2b1071a05ada269a0d..84ddd186a2a9846a10c091ff6baa1fd3f25b3cd9 100644
--- a/src/SecExp/riotControlCenter.tw
+++ b/src/SecExp/riotControlCenter.tw
@@ -1,6 +1,6 @@
 :: riotControlCenter [nobr]
 
-<<set $nextButton = "Back", $nextLink = "Manage Penthouse", $returnTo = "Manage Penthouse">>
+<<set $nextButton = "Back", $nextLink = "Manage Arcology">>
 
 Riot Control Center
 <hr>
diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw
index d08bc017185fa438023bf6ffb8d2a71ec9878d12..936f8a64dcc8d7fd879422ec370f1fc0b27f20b4 100644
--- a/src/SecExp/secBarracks.tw
+++ b/src/SecExp/secBarracks.tw
@@ -1,6 +1,6 @@
 :: secBarracks [nobr]
 
-<<set $nextButton = "Back", $nextLink = "Manage Penthouse", $returnTo = "Manage Penthouse">>
+<<set $nextButton = "Back", $nextLink = "Manage Arcology">>
 
 The Barracks
 <hr>
diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw
index 3eada329baf60b07120a95e8f5217b8cc8528b1d..8f9baa51be804c2840dc03c0530ce083faa5c333 100644
--- a/src/SecExp/securityHQ.tw
+++ b/src/SecExp/securityHQ.tw
@@ -6,7 +6,7 @@
 	<<set _HistoryDiscount = 1>>
 <</if>>
 
-<<set $nextButton = "Back", $nextLink = "Manage Penthouse", $returnTo = "Manage Penthouse">>
+<<set $nextButton = "Back", $nextLink = "Manage Arcology">>
 
 Security Headquarters
 <hr>
diff --git a/src/SpecialForce/Firebase.tw b/src/SpecialForce/Firebase.tw
index 2b2bb81c715a778d6c3bfe02523215b070418c7c..aac416bc94a9b46ee32ce1e9a3eed49e85b0427d 100644
--- a/src/SpecialForce/Firebase.tw
+++ b/src/SpecialForce/Firebase.tw
@@ -10,7 +10,7 @@
 				<<set _EnvCash2 = 500,_EnvCash3 = 250,_EnvCash4 = 150,_EnvProsp = 5>>
 			<<case 2>>
 				<<set _EnvCash2 = 550,_EnvCash3 = 300,_EnvCash4 = 200,_EnvProsp = 7>>
-		<</switch>> <<set $nextButton = "Back to Manage Penthouse",$nextLink = "Manage Penthouse",$returnTo = "Firebase">>
+		<</switch>> <<set $nextButton = "Back to Manage Arcology",$nextLink = "Manage Arcology">>
 
 		<<if $cheatMode > 0>> [[Cheat edit|CheatEdit][]] <br> <</if>>
 		The firebase of $arcologies[0].name's <<textbox "$SF.Lower" $SF.Lower "Firebase">> is located in the lower levels, occupying unneeded warehouse space. It is not accessible to the general citizenry, but your personal elevator has express service to it. As you step off, two soldiers in combat armor manning the entry checkpoint tense before recognizing their Marshal and stepping aside with a sharp salute.<br>
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index fca5ae49d9c41da666595fbdf47179803116a4ee..6417c3f80323422682a570adf2e9ad01fd360a41 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -2119,6 +2119,26 @@ App.Entity.Utils.RARuleDatatypeCleanup = function() {
 		moveProperties(set, 'surgery_', 'surgery');
 	}
 
+	/**
+	 * @param {App.RA.RuleSetters} set
+	 */
+	function correctStringValues(set) {
+		for (const [k, v] of Object.entries(set)) {
+			if (typeof v !== 'string') {
+				continue;
+			}
+			if (v === "null") {
+				set[k] = null;
+			}
+			if (k === 'assignment' || k === 'clothes') {
+				continue;
+			}
+			if (v[0].toLowerCase() !== v[0]) {
+				set[k] = v.charAt(0).toLowerCase() + v.substr(1);
+			}
+		}
+	}
+
 	/** @param {App.RA.RuleSetters} set */
 	function cleanupSetters(set) {
 		settersSchemeCleanup(set);
@@ -2166,6 +2186,8 @@ App.Entity.Utils.RARuleDatatypeCleanup = function() {
 		transformValues(set.surgery, ['butt', 'boobs', 'lips'], ensureNumTarget);
 
 		set.growth.intensity = Math.clamp(+set.growth.intensity, 0, 1) || 0;
+
+		correctStringValues(set);
 	}
 }();
 
diff --git a/src/js/futureSocietyJS.js b/src/js/futureSocietyJS.js
index 099541196f2055fa31c7045048204b4dcb7814ba..c9e7c5e86b2c4157922019144b76306a68e7ec64 100644
--- a/src/js/futureSocietyJS.js
+++ b/src/js/futureSocietyJS.js
@@ -24,13 +24,14 @@ window.FutureSocieties = (function() {
 		ChineseRevivalist: "FSChineseRevivalist",
 		AztecRevivalist: "FSAztecRevivalist",
 		RepopulationFocus: "FSRepopulationFocus",
+		Repopulationist: "FSRepopulationFocus",
 		Eugenics: "FSRestart",
 		IntellectualDependency: "FSIntellectualDependency",
 		SlaveProfessionalism: "FSSlaveProfessionalism",
 		PetiteAdmiration: "FSPetiteAdmiration",
 		StatuesqueGlorification: "FSStatuesqueGlorification"
 	};
-	const SocietyList = Object.keys(FSString2Property).map(key => FSString2Property[key]); // This returns an array containing the values of FSString2Property. E.g. "FSSupremacist" and "FSSubjugationist"
+	const SocietyList = [...new Set(Object.keys(FSString2Property).map(key => FSString2Property[key]))]; // This returns an array containing the unique values of FSString2Property. E.g. "FSSupremacist" and "FSSubjugationist"
 
 	return {
 		remove: removeFS,
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index de0e75b66ac1a9029f111e3f11b752d61e80aa6c..443f6e425dddbe818cf748760f8d5ae642dc9d65 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -7,6 +7,7 @@
 
 window.rulesAssistantOptions = (function() {
 	"use strict";
+	const noDefaultSetting = {value: "!NDS!", text: "no default setting"};
 	let V;
 	/** @type {App.RA.Rule} */
 	let current_rule;
@@ -192,7 +193,7 @@ window.rulesAssistantOptions = (function() {
 			/** @private */
 			this._capitalizeShortcuts = capitalizeShortcuts;
 			if (allowNullValue) {
-				this.appendChild(new ListItem("No default setting", null));
+				this.appendChild(new ListItem(capFirstChar(noDefaultSetting.text), null));
 			}
 			data.forEach(item => this.appendChild(this._createListItem(...item)));
 		}
@@ -302,19 +303,22 @@ window.rulesAssistantOptions = (function() {
 			elem.appendChild(label);
 			elem.appendChild(this.value);
 			elem.classList.add("rajs-list");
+			this.values_ = new Map();
 			// now add options
 			if (allowNullValue) {
 				let nullOpt = document.createElement("option");
-				nullOpt.value = null;
-				nullOpt.text = "No default setting";
+				nullOpt.value = noDefaultSetting.value;
+				nullOpt.text = capFirstChar(noDefaultSetting.text);
 				this.value.appendChild(nullOpt);
+				this.values_.set(nullOpt.value, null);
 			}
 			for (const dr of data) {
-				const dv = Array.isArray(dr) && dr.length > 1 ? [dr[1], dr[0]] : [dr, dr];
+				const dv = Array.isArray(dr) ? (dr.length > 1 ? [dr[1], dr[0]] : [dr[0], dr[0]]) : [dr, dr];
 				let opt = document.createElement("option");
 				opt.value = dv[0];
-				opt.text = dv[1];
+				opt.text = capFirstChar(dv[1]);
 				this.value.appendChild(opt);
+				this.values_.set(opt.value, dv[0]);
 			}
 			this.value.onchange = () => {
 				this.inputEdited();
@@ -323,11 +327,11 @@ window.rulesAssistantOptions = (function() {
 		}
 
 		getData() {
-			return this.value.value;
+			return this.values_.get(this.value.value);
 		}
 
 		setValue(what) {
-			this.value.value = what;
+			this.value.value = what === null ? noDefaultSetting.value : what;
 		}
 
 		inputEdited() {
@@ -346,7 +350,7 @@ window.rulesAssistantOptions = (function() {
 			super(prefix, data, allowNullValue, textinput, capitalizeShortcuts);
 			this.values = new Map();
 			if (allowNullValue) {
-				this.values.set(null, "no default setting");
+				this.values.set(noDefaultSetting.value, noDefaultSetting.text);
 			}
 			data.forEach(d => {
 				if (Array.isArray(d) && d.length > 1) {
@@ -714,7 +718,7 @@ window.rulesAssistantOptions = (function() {
 
 		render(element) {
 			const greeting = document.createElement("p");
-			greeting.innerHTML = `<em>${properTitle()}, I will review your slaves and make changes that will have a beneficial effect. Apologies, ${properTitle()}, but this function is... not fully complete. It may have some serious limitations. Please use the 'no default setting' option to identify areas I should not address.</em>`;
+			greeting.innerHTML = `<em>${properTitle()}, I will review your slaves and make changes that will have a beneficial effect. Apologies, ${properTitle()}, but this function is... not fully complete. It may have some serious limitations. Please use the '${noDefaultSetting.text}' option to identify areas I should not address.</em>`;
 			element.appendChild(greeting);
 			return element;
 		}
@@ -1858,7 +1862,7 @@ window.rulesAssistantOptions = (function() {
 			super();
 			this.sublists = [];
 			const pairs = [
-				["No default setting", () => this.nds()],
+				[capFirstChar(noDefaultSetting.text), () => this.nds()],
 				["Girlish figure", () => this.girlish()],
 				["Stacked figure", () => this.stacked()],
 				["Huge but functional", () => this.huge()],
@@ -2251,7 +2255,7 @@ window.rulesAssistantOptions = (function() {
 		constructor() {
 			// TODO: better data structure?
 			const pairs = [
-				["No default setting", {cum: null, milk: null}],
+				[capFirstChar(noDefaultSetting.text), {cum: null, milk: null}],
 				["Normal Diet", {cum: 0, milk: 0}],
 				["Cum Added", {cum: 1, milk: 0}],
 				["Milk Added", {cum: 0, milk: 1}],
@@ -2523,7 +2527,7 @@ window.rulesAssistantOptions = (function() {
 	class LensesList extends Element {
 		constructor() {
 			super(current_rule.set.eyeColor);
-			this.appendChild(new OptionsItem("No default setting", () => this.setValue(null)));
+			this.appendChild(new OptionsItem(capFirstChar(noDefaultSetting.text), () => this.setValue(null)));
 			this.colorlist = new LensesColorList();
 			this.shapelist = new LensesShapeList();
 			this.appendChild(this.colorlist);
diff --git a/src/js/vignettes.js b/src/js/vignettes.js
index 9af90ca99027c912f77b6dfb384b143862485ac8..a4c68ccb2910f14a89c20c6cbac15919504b947f 100644
--- a/src/js/vignettes.js
+++ b/src/js/vignettes.js
@@ -3889,7 +3889,7 @@ window.GetVignette = function GetVignette(slave) {
 				});
 			} else if (slave.intelligence + slave.intelligenceImplant < -50) {
 				vignettes.push({
-					text: `${he} went to a local library, and was thrilled by all the racial subjugationist historical revisionism ${he} couldn't recognize,`,
+					text: `${he} went to a local library, and was thrilled by all the racial supremacist historical revisionism ${he} couldn't recognize,`,
 					type: "devotion",
 					effect: 1,
 				});
diff --git a/src/npc/fBeg.tw b/src/npc/fBeg.tw
index 00ed32a385697ee713f5bebbf9a27597b8a9cfcc..aa680470dce281b5c0384fcf01ab33ecacde0fe5 100644
--- a/src/npc/fBeg.tw
+++ b/src/npc/fBeg.tw
@@ -158,7 +158,7 @@ You then tell your slave to kneel at your feet.
 		<<case "masochist">>
 			waits just long enough to receive a disciplinary slap, making $him blush with arousal as $he kneels before you.
 		<<case "cumslut">>
-			is excited to be closer to your delicious crotch, and hurries to match $his eyes to your package.
+			is excited to be closer to your <<if canTaste($activeSlave)>>delicious<<else>>heavenly<</if>> crotch, and hurries to match $his eyes to your package.
 		<<case "humiliation">>
 			makes a big show of it as $he lowers $himself dramatically before you.
 		<<case "buttslut">>
diff --git a/src/player/actions/fCaress.tw b/src/player/actions/fCaress.tw
index 5e3cc924f19136a8a4a9cfee5e4847fc169496f9..6010a66e55e49e3cd2c393f2279783d9e2d67708 100644
--- a/src/player/actions/fCaress.tw
+++ b/src/player/actions/fCaress.tw
@@ -74,7 +74,7 @@ Then, you gently tilt $his <<if $activeSlave.face > 95>>overwhelmingly stunning<
 	<<elseif $activeSlave.lips > 20>>plush
 	<</if>>
 	lips
-<</if>> with your fingertips. You use your fingers and thumbs to slowly slide along $his mouth, $his chin, $his cheeks then around $his face. You use a deft touch to thoroughly explore the shape of $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>nice<<elseif $activeSlave.face >= -10>>cute<<elseif $activeSlave.face >= -40>>fair<<else>>prominent<</if>> cheekbones. Grazing $his temple and brushing $his forehead simultaneously, you smoothly motion along $his eyelids and nose and you tenderly stroke $his face with both hands as you take $his head lightly and trace around it, gently massaging as you go. You work your way down, slowly and gradually, along $his neck with one hand, then the other, briefly pausing before continuing your path down to $his shoulders and<<if ($activeSlave.fetish != "mindbroken")>> $he starts to gasp as<<else>> starts to shudder as<</if>> you slide your hands down $his side, across $his back and along $his belly taking every moment to savor the contours of $his body before going back up again to $his face.
+<</if>> with your fingertips. You use your fingers and thumbs to slowly slide along $his mouth, $his chin, $his cheeks then around $his face. You use a deft touch to thoroughly explore the shape of $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>nice<<elseif $activeSlave.face >= -10>>cute<<elseif $activeSlave.face >= -40>>fair<<else>>prominent<</if>> cheekbones. Grazing $his temple and brushing $his forehead simultaneously, you smoothly motion along $his eyelids and nose, and tenderly stroke $his face with both hands as you take $his head lightly and trace around it, gently massaging as you go. You work your way down, slowly and gradually, along $his neck with one hand, then the other, briefly pausing before continuing your path down to $his shoulders and<<if ($activeSlave.fetish != "mindbroken")>> $he starts to gasp as<<else>> starts to shudder as<</if>> you slide your hands down $his side, across $his back and along $his belly taking every moment to savor the contours of $his body before going back up again to $his face.
 
 <<if ($activeSlave.fetish == "mindbroken")>>
 	$His posture doesn't change. $He initially only reacts slightly to your physical touch but then stops reacting completely. When you stop, $his <<= App.Desc.eyeColor($activeSlave)>> eyes track the movements of your hands briefly but then stare blankly ahead of $him, awaiting further use of $his body.
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index b9f7a40831381491d514bbfdd7829d071819dd80..a9885720561a6a10308a402f780d2be0bb8da13a 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -8775,7 +8775,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 			<<if $activeSlave.belly >= 600000>>
 				You struggle to heft $his overfilled body up, eliciting whimpers of joy at the impending relief and the pressure removed from $his body, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> forcing you to experience what it is like to carry $activeSlave.pregType children,<</if>> with your cock up inside $him, and the gentle motion of your member as you waddle outside brings $him to climax within a few steps. You carefully stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<elseif canHear($activeSlave)>>explaining the sights as $activeSlave.slaveName soaks in the sounds <<if canSmell($activeSlave)>>and smells <</if>>$he now requires assistance to experience<<else>>explaining everything around $him as $he basks in the feeling of the fresh air on $his $activeSlave.skin skin<</if>> and leaving a large wake as people make room for your gravid mass. @@.hotpink;$He has become more devoted to you.@@ The sight of you waddling around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything,@@ once they figure out that the belly attached to you is, in fact, owned by a barely visible slave<<= $girl>>.
 			<<elseif $activeSlave.belly >= 300000>>
-				You heft $his heavy body $him up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> massively jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you waddle outside brings $him to climax within a few steps. You carefully stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<elseif canHear($activeSlave)>>explaining the sights as $activeSlave.slaveName soaks in the sounds <<if canSmell($activeSlave)>>and smells <</if>>$he now requires assistance to experience<<else>>explaining everything around $him as $he basks in the feeling of the fresh air on $his $activeSlave.skin skin<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you waddling around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@
+				You heft $his heavy body up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> massively jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you waddle outside brings $him to climax within a few steps. You carefully stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<elseif canHear($activeSlave)>>explaining the sights as $activeSlave.slaveName soaks in the sounds <<if canSmell($activeSlave)>>and smells <</if>>$he now requires assistance to experience<<else>>explaining everything around $him as $he basks in the feeling of the fresh air on $his $activeSlave.skin skin<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you waddling around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@
 			<<else>>
 				You scoop $him up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you walk outside brings $him to climax within a few steps. You take your time and stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<elseif canHear($activeSlave)>>explaining the sights as $activeSlave.slaveName soaks in the sounds <<if canSmell($activeSlave)>>and smells <</if>>$he now requires assistance to experience<<else>>explaining everything around $him as $he basks in the feeling of the fresh air on $his $activeSlave.skin skin<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you walking around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@
 			<</if>>
diff --git a/src/uncategorized/barracks.tw b/src/uncategorized/barracks.tw
index eca275fe87d41d5e61af42acdb2a130fc919ac92..10218658182109c015926690e186f0bbbd4b8ba2 100644
--- a/src/uncategorized/barracks.tw
+++ b/src/uncategorized/barracks.tw
@@ -104,6 +104,13 @@ You head up a deck, to the staff area, and up one more, to look into the living
 		<<if _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is using a slave as a footrest as he relaxes. _HeU has a huge dildo up _hisU ass, and whenever _heU moves, he uses a foot to shove it farther inside _himU.
 		<<set _vignette++>>
 	<</if>>
+	<<if $arcologies[0].FSIntellectualDependency != "unset">>
+		<<if _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is player strip poker with a pouting bimbo. _HeU's completely nude and unaware that the game is over, not that the merc minds.
+		<<set _vignette++>>
+	<<elseif $arcologies[0].FSSlaveProfessionalism != "unset">>
+		<<if _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is practicing assembling and disassembling his sidearm under the learned eyes of his assisting slave. _HeU is making sure _hisU master is well prepared for the future and stroking his dick each time he does it right.
+		<<set _vignette++>>
+	<</if>>
 	<<if $arcologies[0].FSBodyPurist != "unset">>
 		<<if _vignette >= $FSCreditCount>>Finally, a<<elseif _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is idly playing with a slave's natural breasts as he watches a wallscreen. He's being gentle and _heU doesn't seem to mind.
 		<<set _vignette++>>
@@ -125,6 +132,13 @@ You head up a deck, to the staff area, and up one more, to look into the living
 		<<if _vignette >= $FSCreditCount>>Finally, a<<elseif _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is almost hidden by a slave he's got in his lap. He has his head buried between _hisU monstrous breasts, and it's not clear how he's breathing.
 		<<set _vignette++>>
 	<</if>>
+	<<if $arcologies[0].FSPetiteAdmiration != "unset">>
+		<<if _vignette >= $FSCreditCount>>Finally, a<<elseif _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary has a petite slave sitting on a weight bar. Each rep buries _hisU butt in his face.
+		<<set _vignette++>>
+	<<elseif $arcologies[0].FSStatuesqueGlorification != "unset">>
+		<<if _vignette >= $FSCreditCount>>Finally, a<<elseif _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is having sex with a rather tall slave against the lockers. He has to stand on a nearby bench in order to properly penetrate _himU.
+		<<set _vignette++>>
+	<</if>>
 	<<if $arcologies[0].FSPastoralist != "unset">>
 		<<if _vignette >= $FSCreditCount>>Finally, a<<elseif _vignette >= 3>>Yet another<<elseif _vignette >= 2>>A third<<elseif _vignette>>Another<<else>>A<</if>> mercenary is drinking a slave's milk, straight from the nipple, while idly massaging _hisU other breast, bringing out a thin stream of milk.
 		<<set _vignette++>>
diff --git a/src/uncategorized/neighborInteract.tw b/src/uncategorized/neighborInteract.tw
index 4487f3b491d16ae1fc4f31696c7f12ad28237abe..98e4ee74fc9cfddb6d7d4e44482fcb7da34ea724 100644
--- a/src/uncategorized/neighborInteract.tw
+++ b/src/uncategorized/neighborInteract.tw
@@ -272,7 +272,7 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 			[[Appoint an agent|Agent Select]] <<set $him = "them">>
 		<<else>>
 			<<setLocalPronouns _Agent>>
-			Your agent @@.deeppink;<<= SlaveFullName(_Agent)>>@@ is running this arcology. [["Recall and reenslave " + $him|Agent Retrieve]]
+			Your agent @@.deeppink;<<= SlaveFullName(_Agent)>>@@ is running this arcology. [["Recall and reenslave " + $him|Agent Retrieve][$activeArcologyIdx = _currentNeighbor]]
 		<</if>>
 		<span id="rename"> | <<link "Instruct $him to rename the arcology">><<replace #rename>> | <<textbox "$arcologies[$activeArcologyIdx].name" $arcologies[$activeArcologyIdx].name>> [[Confirm name|Neighbor Interact]]<</replace>><</link>></span>
 		<<if $arcologies[_currentNeighbor].government === "your agent">>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 15439cfd5a92e46af9d9ea54024aa7406f5fcdfe..1d5505d6e8823331fc316ee6831eb82739652107 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -14,7 +14,7 @@
 
 /* use the secondary location if the primary brand target won't work for this slave */
 <<set _brandTarget = $brandTarget.primary>>
-<<if (!$activeSlave.dick && $brandTarget.primary == "penis")
+<<if ($activeSlave.dick == 0 && $brandTarget.primary == "penis")
 || ($activeSlave.earShape != "none" && $brandTarget.primary == "ear")
 || ($activeSlave.amp != 0 && ($brandTarget.primary == "thigh" || $brandTarget.primary == "calve" || $brandTarget.primary == "ankle" || $brandTarget.primary == "foot"))
 || ($activeSlave.balls == 0 && $activeSlave.scrotum == 0 && $brandTarget.primary == "testicle")>>
@@ -32,15 +32,15 @@
 <br>
 The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<if $activeSlave.amp == 1>>lies helplessly on your desk,<<elseif !canWalk($activeSlave)>>kneels before your desk,<<else>>stands before your desk,<</if>>
 <<if $activeSlave.devotion < -50>>
-	looking you in the eyes with defiance.
+	<<if canSee($activeSlave)>>looking you in the eyes<<else>>directly facing you<</if>> with defiance.
 <<elseif $activeSlave.devotion < -20>>
-	looking at you sullenly.
+	<<if canSee($activeSlave)>>looking at<<else>>facing<</if>> you sullenly.
 <<elseif $activeSlave.trust <= 50>>
-	staring at the ground in fear.
+	staring <<if canSee($activeSlave)>>at the ground<<else>>blankly downwards<</if>> in fear.
 <<elseif $activeSlave.devotion <= 50>>
 	waiting meekly for orders.
 <<elseif canSmell($activeSlave) && $activeSlave.career == "a breeding bull" && isPlayerFertile($PC)>>
-	sniffing the air and staring intently at your crotch.
+	sniffing the air and <<if canSee($activeSlave)>>staring<<else>>pointing $his nose<</if>> intently at your crotch.
 <<elseif $activeSlave.origin == "$He submitted to enslavement to escape the hard life of an old world whore.">>
 	wondering what one of your working <<= $girl>>s can expect.
 <<elseif ($activeSlave.origin == "$He submitted to enslavement to get access to modern prenatal care.") || ($activeSlave.origin == "$He sold $himself into slavery out of fear that life on the streets was endangering $his pregnancy.")>>
@@ -344,6 +344,23 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 	<</if>>
 <</if>>
 
+<<if $arcologies[0].FSIntellectualDependency >= 50>>
+	<<if $activeSlave.pregKnown == 1>>
+		$He realizes that your arcology values bearing children and @@.mediumaquamarine;hopes@@ $he'll be treated gently for being pregnant.
+		<<set $activeSlave.trust += 2>>
+	<</if>>
+<</if>>
+
+<<if $arcologies[0].FSSlaveProfessionalism >= 50>>
+	<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant >= 75>>
+		$He realizes that your arcology values intelligence and @@.mediumaquamarine;expects@@ $his intellect will prove $his worth.
+		<<set $activeSlave.trust += 2>>
+	<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant < 10>>
+		$He realizes that your arcology values intelligence and @@.gold;worries@@ $he isn't smart enough to keep up with society's expectations.
+		<<set $activeSlave.trust -= 4>>
+	<</if>>
+<</if>>
+
 <<if $arcologies[0].FSRepopulationFocus >= 50>>
 	<<if $activeSlave.pregKnown == 1>>
 		$He realizes that your arcology values bearing children and @@.mediumaquamarine;hopes@@ $he'll be treated gently for being pregnant.
@@ -459,6 +476,23 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 	<</if>>
 <</if>>
 
+<<if $arcologies[0].FSPetiteAdmiration >= 50>>
+	<<if heightPass($activeSlave)>>
+		$He realizes that your arcology favors short slaves, and @@.mediumaquamarine;hopes@@ life will be good here.
+		<<set $activeSlave.trust += 2>>
+	<</if>>
+<</if>>
+
+<<if $arcologies[0].FSStatuesqueGlorification >= 50>>
+	<<if heightPass($activeSlave)>>
+		$He realizes that your arcology favors the tall, and @@.mediumaquamarine;hopes@@ $he'll retain some dignity.
+		<<set $activeSlave.trust += 2>>
+	<<else>>
+		$He realizes that your arcology favors the tall, and @@.gold;anticipates@@ $his lacking height to bring $him nothing but torment.
+		<<set $activeSlave.trust -= 4>>
+	<</if>>
+<</if>>
+
 <<if $arcologies[0].FSSlimnessEnthusiast >= 50>>
 	<<if ($activeSlave.boobs < 500) && ($activeSlave.butt < 3) && ($activeSlave.weight <= 10) && ($activeSlave.muscles <= 30)>>
 		$He realizes that $he has a fashionable body for your arcology, and @@.mediumaquamarine;hopes@@ it'll earn $him some kindness.
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index b679f216c88dc0cc567a87a7b96727ca27227eea..b5670a6cb7608eadc93fffc014f27d3000dccaf5 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -289,7 +289,8 @@
 <<if (_OldHG != -1) && (_NewHG != -1)>>
 	<<= removeJob($slaves[_NewHG], "live with your Head Girl")>>
 	<<= assignJob($slaves[_OldHG], "live with your Head Girl")>>
-	<<set $HeadGirl = $slaves[_NewHG], $slaves[_NewHG].assignment = "be your Head Girl", $slaves[_NewHG].diet = "healthy">>
+	<<= assignJob($slaves[_NewHG], "be your Head Girl")>>
+	<<set $HeadGirl = $slaves[_NewHG], $slaves[_NewHG].diet = "healthy">>
 <</if>>
 
 <<if WombBirthReady($PC, 38) > 0 && random(1,100) > 50>>
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index 794c1dc399965ad5f2089494358f5aa24ceef6b3..3bb66487d3015d32e0ed9ae5cfa92722ec3fe03c 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -15,6 +15,13 @@ This save was created using FC version $ver build $releaseID.
 <<if $secExp == 1>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;[[Apply Security Expansion mod backwards compatibility |SecExpBackwardCompatibility]]
 <</if>>
+<<if $SF.Toggle && $SF.Active >= 1>>
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;
+	<<link "Apply Special Force Expansion mod backwards compatibility">>
+		<<= App.SF.BC()>>
+		<<goto "Options">>
+	<</link>>
+<</if>>
 
 <br>
 <<if ($autosave == 0)>>
diff --git a/src/uncategorized/pCollaborationChoice.tw b/src/uncategorized/pCollaborationChoice.tw
index 7e96c0cdf2df49ff53cec45ec032d238f0a6e5ad..ab5bb924eb18e8c8c0e2e9aad6db71e5efba3b74 100644
--- a/src/uncategorized/pCollaborationChoice.tw
+++ b/src/uncategorized/pCollaborationChoice.tw
@@ -19,7 +19,7 @@ Your next communication from the Daughters of Liberty is a request for a live vi
 		<<set $traitorType = "trapper">>
 	<<elseif $traitor.intelligence+$traitor.intelligenceImplant < 0>>
 		<<if canTalk($traitor)>>
-			"<<Master>>," $he <<say>>s with panic in $his voice, "They are coming for you. They want your ac<<c>>e<<ss> code<<s>> <<s>>o they can get to you ea<<s>>ier, but now you know not to tru<<s>>t them!" $He manages to shout as $he is dragged offscreen, "Don't let them get you <<Master>>! <<Sh>>ow them who'<<s>> bo<<ss>>!"
+			"<<Master>>," $he <<say>>s with panic in $his voice, "They are coming for you. They want your a<<cc>>e<<ss>> code<<s>> <<s>>o they can get to you ea<<s>>ier, but now you know not to tru<<s>>t them!" $He manages to shout as $he is dragged offscreen, "Don't let them get you <<Master>>! <<Sh>>ow them who'<<s>> bo<<ss>>!"
 		<<else>>
 			$He hastily gestures that they are coming for you and that nothing you can do will deter them. $He barely signs off a plea for you to prepare your defenses.
 		<</if>>
@@ -85,5 +85,4 @@ Your next communication from the Daughters of Liberty is a request for a live vi
 		You close the video call without a word. From your desk, you have access to thousands of video feeds from all across the arcology; they show men and women working, sleeping, eating, chatting, fucking. You wonder how many of them have plans, and what those plans are.
 	<</replace>>
 <</link>>
-<</if>>
 </span>
diff --git a/src/uncategorized/pCoupAftermath.tw b/src/uncategorized/pCoupAftermath.tw
index c0ff3e4f1735796e179b349ed83f872982b667ba..53509d15915ad8b8498905c9221be15e60c94a04 100644
--- a/src/uncategorized/pCoupAftermath.tw
+++ b/src/uncategorized/pCoupAftermath.tw
@@ -8,9 +8,11 @@
 <</if>>
 <<if $rivalGender == 2>>
 	<<set _heR = "he">>
+	<<set _himR = "him">>
 	<<set _HeR = capFirstChar(_heR)>>
 <<else>>
 	<<set _heR = "she">>
+	<<set _himR = "her">>
 	<<set _HeR = capFirstChar(_heR)>>
 <</if>>
 <<setAssistantPronouns>>
diff --git a/src/uncategorized/pCoupCollaboration.tw b/src/uncategorized/pCoupCollaboration.tw
index 46f57ed458e111cb2c3a4529ac5ac16f7ea44b8a..61239b432e1a8c8cff184f6dfe4064c4eb44853a 100644
--- a/src/uncategorized/pCoupCollaboration.tw
+++ b/src/uncategorized/pCoupCollaboration.tw
@@ -37,11 +37,11 @@ Armed rebels are running unchecked down the corridors. <<if $mercenaries > 0>>Yo
 	<<if $traitorType == "agent">>
 		trying to sabotage a stockpile of explosives.
 	<<elseif $traitorType == "horror">>
-		encouraging $his fellow fighters with yells from the back lines.
+		encouraging $his fellow fighters<<if canTalk($traitor)>> with yells<</if>> from the back lines.
 	<<elseif $traitorType == "defiant">>
-		encouraging $his fellow fighters with yells and spearheading the charge<<if $traitor.bellyPreg >= 15000>> as best $he can<</if>>.
+		encouraging $his fellow fighters<<if canTalk($traitor)>> with yells<</if>> and spearheading the charge<<if $traitor.bellyPreg >= 15000>> as best $he can<</if>>.
 	<<else>>
-		encouraging $his fellow fighters with yells, and when that fails, leading them by example<<if $traitor.bellyPreg >= 15000>> as best $he can<</if>>.
+		encouraging $his fellow fighters<<if canTalk($traitor)>> with yells<</if>>, and when that fails, leading them by example<<if $traitor.bellyPreg >= 15000>> as best $he can<</if>>.
 	<</if>>
 <</if>>
 In areas already controlled by the Daughters, slaveowners are being summarily shot in the streets. "<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are in complete control of all arcology systems. Remain here."
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index 2bee8baa27a25d64c077d6d43c0ebd0029231edc..82a7790994f0738747f11a0a0a839e7ebce3f21a 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -342,7 +342,7 @@
 		$His stupidity makes $him absorb $his lessons slowly.
 	<</if>>
 	<<if $activeSlave.skill.oral <= 10>>
-		Since $he's orally unskilled, you start with $his mouth. $He <<if $PC.dick == 1>>sucks your dick<<else>>eats you out<</if>>, of course, but $his training is more creative than just that. You give $him delicious hard candies to suck and feed $him phallic fruits and vegetables that $he must deepthroat before $he can eat. As $his skill improves, $he wears a gag with an inward-facing dildo, which is swapped out for a bigger size every so often. You only let $him orgasm when $he's sucking, and before long $he's associating giving someone oral pleasure with experiencing pleasure $himself. @@.lime;$His oral skills have improved.@@
+		Since $he's orally unskilled, you start with $his mouth. $He <<if $PC.dick == 1>>sucks your dick<<else>>eats you out<</if>>, of course, but $his training is more creative than just that. You give $him <<if canTaste($activeSlave)>>delicious<<else>>sugary<</if>> hard candies to suck and feed $him phallic fruits and vegetables that $he must deepthroat before $he can eat. As $his skill improves, $he wears a gag with an inward-facing dildo, which is swapped out for a bigger size every so often. You only let $him orgasm when $he's sucking, and before long $he's associating giving someone oral pleasure with experiencing pleasure $himself. @@.lime;$His oral skills have improved.@@
 		<<= SkillIncrease.Oral($activeSlave, _trainingEfficiency)>>
 	<<elseif ($activeSlave.skill.vaginal <= 10) && ($activeSlave.vagina > 0) && canDoVaginal($activeSlave)>>
 		Since $he's vaginally unskilled, and not a virgin, you start with $his pussy. @@.lime;$His vaginal skills have improved.@@
diff --git a/src/uncategorized/saDiet.tw b/src/uncategorized/saDiet.tw
index 4a6af6298b40968725e5760a533638e37c25ffcf..461813469195258fa88ef3b65b6a456d4e0a152f 100644
--- a/src/uncategorized/saDiet.tw
+++ b/src/uncategorized/saDiet.tw
@@ -853,6 +853,9 @@
 	<<elseif !canSmell($slaves[$i]) && !canTaste($slaves[$i])>>
 		$His diet tastes and smells awful, but $he is incapable of recognizing it, allowing $him to feel nothing but its @@.green;significant restorative effect.@@
 		<<set $slaves[$i].trust++>>
+	<<elseif !canSmell($slaves[$i]) || !canTaste($slaves[$i])>>
+		$His diet @@.mediumorchid;tastes and smells awful@@, but $he is thankfully only partially aware of this, allowing $him to appreciate its @@.green;significant restorative effect@@ a bit more.
+		<<set $slaves[$i].devotion -= 1, $slaves[$i].trust++>>
 	<<elseif $slaves[$i].sexualFlaw == "self hating">>
 		$His diet @@.hotpink;tastes and smells awful,@@ the perfect meal for such a wretched creature as $himself. $He knows you are @@.green;preserving $his health@@ but doesn't understand why you'd waste time and credits on $him.
 		<<set $slaves[$i].devotion += 2>>
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 34ac2bf8d0a6022e034b24909cf85acb4120c30b..8e5a35424bf0952b4439ff354ac751c1fff5f432 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -370,7 +370,7 @@
 				<<case "Chattel Religionist">>
 					The open, yet comfortable, conditions of $brothelName's slave quarters are quite refreshing after a day of public sex, even if $he has to share it with all the other whores.
 				<<default>>
-					$He likes $his little room in $brothelName, even if it smells of sex after fucking in it all day.
+					$He likes $his little room in $brothelName, even if <<if canSmell($activeSlave)>>it smells of sex<<else>>it's filled with the heat of sex<</if>> after fucking in it all day.
 				<</switch>>
 			<</if>>
 
@@ -836,7 +836,7 @@
 			<<if ($slaves[$i].devotion <= 20)>>
 				$He shares a room with <<if $ClubiIDs.length > 4>>some of <</if>>the other sluts, preventing $him from becoming too complacent. It doesn't help that during business hours $he has to take citizens in $his own bed.
 			<<else>>
-				$He likes $his personal space in $clubName, even if it smells of sex and citizens.
+				$He likes $his personal space in $clubName, even if <<if canSmell($activeSlave)>>it smells of<<else>>it's filled with the heat from<</if>> sex and citizens.
 			<</if>>
 
 			<<if ($universalRulesConsent == 0)>>
@@ -1989,7 +1989,7 @@
 					The steam of the bathhouse lingers even in $his personal room and @@.hotpink;renders $him even more submissive.@@
 					<<set $slaves[$i].devotion += 1>>
 				<<case "Chattel Religionist">>
-					$He likes $his personal space in $spaName, even if it smells of sex and steam.
+					$He likes $his personal space in $spaName, even if <<if canSmell($activeSlave)>>it smells of<<else>>it's filled with the heat from<</if>> sex and steam.
 				<<case "Degradationist">>
 					<<if ($slaves[$i].trust > 40)>>
 						The invasive living conditions of $spaName @@.gold;remind $him not to get too comfortable@@ with $his life.
diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw
index 6f4e203107af5604b5c09c7dd0c2c9422b1829fe..c04be11f1ca0ddd49fae51f445d4641e78ad24fc 100644
--- a/src/uncategorized/seRetirement.tw
+++ b/src/uncategorized/seRetirement.tw
@@ -82,12 +82,12 @@ $He's certainly going to have some adjustments to make.
 <</if>>
 
 <<if $activeSlave.prestigeDesc == 0>>
-	<<set $toSearch = "null">>
+	<<set $toSearch = "">>
 <<else>>
 	<<set $toSearch = $activeSlave.prestigeDesc>>
 <</if>>
 <<if $activeSlave.pornPrestigeDesc == 0>>
-	<<set $toSearchAlt = "null">>
+	<<set $toSearchAlt = "">>
 <<else>>
 	<<set $toSearchAlt = $activeSlave.pornPrestigeDesc>>
 <</if>>
diff --git a/src/uncategorized/slaveSold.tw b/src/uncategorized/slaveSold.tw
index 280beac2c1613b661bc6965913970ef314ee7c24..4e2285e100045429bd26bf1367a2ce74315b542b 100644
--- a/src/uncategorized/slaveSold.tw
+++ b/src/uncategorized/slaveSold.tw
@@ -980,7 +980,7 @@
 	<</for>>
 
 <<case "D oral servants">>
-	$activeSlave.slaveName is an occasional sight around the arcology; $he's never seen outside the company of $his new slave superior. This is one of $his new master's more favored slaves. $He has a huge cock, and $activeSlave.slaveName is usually crouching down, hugging one of $his superior's legs and keeping $his mouth obediently near that dick.
+	$activeSlave.slaveName is an occasional sight around the arcology; $he's never seen outside the company of $his new slave superior. This is one of $his new master's more favored slaves. $He has a huge cock, and $activeSlave.slaveName is usually seen crouching down, hugging one of $his superior's legs and keeping $his mouth obediently near that dick.
 	<<for _ss = 0; _ss < $slaves.length; _ss++>>
 		<<if ($slaves[_ss].fetishKnown == 1)>>
 			<<if ($slaves[_ss].fetish == "cumslut")>>
@@ -1164,7 +1164,7 @@
 			eagerly bouncing atop one young man while a muscular young woman standing over $him rides $his face. $He's got dicks in both of $his hands, and is stroking them eagerly, encouraging their owners to cum on $his rounded middle. There's a note attached, stating superfluously that $he's very popular. General $peacekeepers.generalName's buyer is going to be looking for more horny preggos in the future.
 			<<set $peacekeepers.tastes = "lusty preggos">>
 		<<elseif _influential && $activeSlave.preg > $activeSlave.pregData.normalBirth/4 && $activeSlave.fetish == "pregnancy" && $activeSlave.sexualFlaw == "breeder">>
-			on $his back, getting fucked while teasing $his growing baby bump. That's where $he's at home, of course, and as soon as the man $he's taking cums in $his <<if $activeSlave.mpreg > 0>>asspussy<<else>>pussy<</if>> and steps away, another immediately replaces him. $activeSlave.slaveName keeps spreading $his legs without hesitation. There's a note attached, stating superfluously that $his apparently bottomless appetite for bareback sex has made $him very popular. General $peacekeepers.generalName's buyer is going to be looking for more baby obsessed breeders in the future.
+			on $his back, getting fucked while teasing $his growing baby bump. That's where $he's at home, of course, and as soon as the man $he's taking cums in $his <<if $activeSlave.mpreg > 0>>asspussy<<else>>pussy<</if>> and steps away, another immediately replaces him. $activeSlave.slaveName keeps spreading $his legs without hesitation. There's a note attached, stating superfluously that $his apparently bottomless appetite for bareback sex has made $him very popular. General $peacekeepers.generalName's buyer is going to be looking for more baby-obsessed breeders in the future.
 			<<set $peacekeepers.tastes = "baby obsessed breeders">>
 		<<elseif _influential && $activeSlave.belly >= 300000>>
 			<<set _belly = bellyAdjective($activeSlave)>>
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index a1a1c8a00c5ac6a93910ff370e1b42cd87974da5..b718c2a772f123a9c73d56ec89403e1b9fa347fe 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -2,11 +2,6 @@
 
 <<set _Pass = passage()>>
 <<if _Pass == "Encyclopedia">>
-	<span id="nextButton">
-	<strong>
-	<<link [[($nextButton)|($nextLink)]]>><</link>> to Free Cities<br><br>
-	</strong>
-	</span>
 	/* Intro, new players, PC/Gameplay focused */
 	[[Playing Free Cities|Encyclopedia][$encyclopedia = "Playing Free Cities"]]
 	<br>[[Design your master|Encyclopedia][$encyclopedia = "Design Your Master"]]
@@ -30,15 +25,7 @@
 <<elseif _Pass == "Starting Girls">>
 	<span id="cost"><<SlaveCostDescription>></span>
 
-<<elseif $ui == "disclaimer">>
-	<span id="nextButton">
-	<strong>
-	[[($nextButton)|$nextLink]]
-	</strong>
-	</span>
-
 <<elseif $ui != "start">>
-
 	<<if $cheatMode || $debugMode>> _Pass<br> <</if>>
 	<span id="week">''Week $week''</span>
 	<<if $week > 52>> (<<= years($week)>>) <</if>>
@@ -63,22 +50,30 @@
 		//@@.red;$weatherToday.name@@//
 	<</if>>
 
-	<span id="endWeekButton">
 	<<if $nextButton == "END WEEK">> <br><br>
+		<span id="endWeekButton">
 		<strong>
-		[[($nextButton)|$nextLink]]
+		<<link [[($nextButton)|($nextLink)]]>><</link>>
 		</strong>
 		@@.cyan;[Ent]@@
 		<<if $rulesError && $rulesAssistantAuto == 1>><br>@@.yellow; WARNING: some custom rules will change slave variables@@<</if>>
-	<<elseif $nextButton !== " ">> <br><br>
-		<strong>
-		[[$nextButton|$nextLink][$ui = "main"]]
-		</strong>
-		@@.cyan;[Space]@@
+		</span>
+	<<elseif $nextButton == " ">> <br><br>
+		<span id="nextButton">
+			/* Hide the button until the player makes a choice */
+		</span>
+	<<else>> <br><br>
+		<span id="nextButton"> /* target for miscWidgets' <<UpdateNextButton>> */
+			<strong><<link "$nextButton">> /* must use link so spacebar shortcut will work */
+					<<set $ui = "main">>
+					<<goto $nextLink>>
+			<</link>></strong>
+			@@.cyan;[Space]@@
+		</span>
 	<</if>>
-	</span>
 
-	<<if $sideBarOptions.Cash > 0>> <br><br>
+
+	<<if $sideBarOptions.Cash > 0>> <br>
 		<<set $cash = Math.trunc($cash)>>
 		<span id="cash">
 		<<if $cash > 0>>
@@ -451,7 +446,7 @@
 				<</if>>
 			<</if>>
 
-			<<if $sideBarOptions.Security >0>>
+			<<if $sideBarOptions.Security > 0>>
 				<span id="sec"> <br>
 					@@.deepskyblue;Security@@ | @@.deepskyblue;<<print Math.trunc($security)>>%@@
 				</span>
@@ -494,26 +489,26 @@
 		<br>
 		<<if _Pass !== "Manage Arcology">>
 			<span id="manageArcology"> <br>
-				[[Manage Arcology]]
+				<<link [[Manage Arcology]]>><</link>>
 			</span>
 			@@.cyan;[C]@@
 		<</if>>
 		<<if _Pass !== "Manage Penthouse">>
 			<span id="managePenthouse"> <br>
-				[[Manage Penthouse]]
+				<<link [[Manage Penthouse]]>><</link>>
 			</span>
 			@@.cyan;[P]@@
 		<</if>>
 
 		<<if _Pass !== "Manage Personal Affairs">>
 			<span id="managePerson"> <br>
-				[[Manage Personal Affairs]]
+				<<link [[Manage Personal Affairs]]>><</link>>
 			</span>
 				@@.cyan;[X]@@
 		<</if>>
 		<<if $corpAnnounced == 1 && _Pass !== "Manage Corporation">>
 			<span id="manageCorporation"> <br>
-				[[Manage Corporation][$nextButton = "Back", $nextLink = _Pass]]
+				<<link [[Manage Corporation][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 			</span>
 			<<if ($corpSpecToken > 0) && ($corpSpecTimer == 0)>>@@.yellow;[!]@@<</if>>
 		<</if>>
@@ -521,13 +516,13 @@
 		<<if (_Pass === "Main") && $newModelUI === 1>> <br>
 			<<if $FSAnnounced>>
 				<span id="FSButton"> <br>
-				[[Future Societies|Future Society][$nextButton = "Back", $nextLink = "Main"]]
+				<<link [[Future Societies|Future Society][$nextButton = "Back", $nextLink = "Main"]]>><</link>>
 				</span>
 				@@.cyan;[F]@@
 				<<if ($FSCredits > 0) || ($FSReminder)>>@@.yellow;[!]@@<</if>>
 			<</if>>
 			<span id="PAOButton"> <br>
-			[[Personal Assistant|Personal assistant options]]
+				<<link [[Personal Assistant|Personal assistant options]]>><</link>>
 			</span>
 			@@.cyan;[T]@@
 
@@ -674,14 +669,14 @@
 
 		<<if _Pass === "Manage Arcology">>
 			<span id="Security">
-			<span id="policyButton"> <br>
-			[[Policies][$nextButton = "Back", $nextLink = "Manage Arcology"]]
+			<span id="policyButton"> <br><br>
+				<<link [[Policies][$nextButton = "Back", $nextLink = "Manage Arcology"]]>><</link>>
 			</span>
 			@@.cyan;[Y]@@
 
 			<<if $secExp == 1>>
 				<span id="edictButton"> <br>
-					[[edicts][$nextButton = "Back", $nextLink = "Manage Arcology"]]
+					<<link [[edicts][$nextButton = "Back", $nextLink = "Manage Arcology"]]>><</link>>
 				</span>
 				@@.cyan;[D]@@
 			<</if>>
@@ -689,37 +684,37 @@
 				[[Diplomacy|Neighbor Interact]]
 			<</if>>
 
-			<<if $secExp > 0 || $SF.Toggle && $SF.Active >= 1>> <br><br>
-				<<link "Manage Security">> <<replace "#Security">>
+			<<if $secExp > 0 || $SF.Toggle && $SF.Active >= 1>> <br>
+				<<link "Manage Security">> <<replace "#Security">> <br>
 					<<if $SF.Toggle && $SF.Active >= 1 && _Pass !== "Firebase">>
 						<span id="SFMButton"> <br>
-							[[$SF.Caps's firebase|Firebase]]
+							<<link "$SF.Caps's firebase""Firebase">><</link>>
 						</span>
 						@@.cyan;[Z]@@
 					<</if>>
 
 					<<if $propHub > 0 && _Pass !== "propagandaHub">>
 						<span id="propHub"> <br>
-							[[Manage PR|propagandaHub][$nextButton = "Back", $nextLink = _Pass]]
+							<<link [[Manage PR|propagandaHub][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 						</span>
 						@@.cyan;[Shift+H]@@
 					<</if>>
 					<<if $secHQ > 0 && _Pass !== "securityHQ">>
 						<span id="securityHQ"> <br>
-							[[Manage Security|securityHQ][$nextButton = "Back", $nextLink = _Pass]]
+							<<link [[Manage Security|securityHQ][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 						</span>
 						@@.cyan;[Shift+S]@@
 					<</if>>
 
 					<<if $secBarracks > 0 && _Pass !== "secBarracks">>
 						<span id="secBarracks"> <br>
-							[[Manage Military|secBarracks][$nextButton = "Back", $nextLink = _Pass]]
+							<<link [[Manage Military|secBarracks][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 						</span>
 						@@.cyan;[Shift+A]@@
 					<</if>>
 					<<if $riotCenter > 0 && _Pass !== "riotControlCenter">>
 						<span id="riotCenter"> <br>
-							[[Manage Rebels|riotControlCenter][$nextButton = "Back", $nextLink = _Pass]]
+							<<link [[Manage Rebels|riotControlCenter][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 						</span>
 						@@.cyan;[Shift+R]@@
 					<</if>>
@@ -728,8 +723,8 @@
 			</span>
 
 		<<elseif _Pass === "Manage Penthouse">>
-			<span id="URButton"> <br>
-				[[Universal Rules]]
+			<span id="URButton"> <br><br>
+				<<link [[Universal Rules]]>><</link>>
 			</span>
 			@@.cyan;[V]@@
 
@@ -758,35 +753,36 @@
 			[[Rules Assistant Summary]]
 
 		<<elseif ["Firebase", "propagandaHub", "securityHQ", "secBarracks", "riotControlCenter"].includes(_Pass)>>
+			<br>
 			<<if $SF.Toggle && $SF.Active >= 1 && _Pass !== "Firebase">>
 				<span id="SFMButton"> <br>
-					[[$SF.Caps's firebase|Firebase]]
+					<<link "$SF.Caps's firebase""Firebase">><</link>>
 				</span>
 				@@.cyan;[Z]@@
 			<</if>>
 
 			<<if $propHub > 0 && _Pass !== "propagandaHub">>
 				<span id="propHub"> <br>
-					[[Manage PR|propagandaHub][$nextButton = "Back", $nextLink = _Pass]]
+					<<link [[Manage PR|propagandaHub][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 				</span>
 				@@.cyan;[Shift+H]@@
 			<</if>>
 			<<if $secHQ > 0 && _Pass !== "securityHQ">>
 				<span id="securityHQ"> <br>
-					[[Manage Security|securityHQ][$nextButton = "Back", $nextLink = _Pass]]
+					<<link [[Manage Security|securityHQ][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 				</span>
 				@@.cyan;[Shift+S]@@
 			<</if>>
 
 			<<if $secBarracks > 0 && _Pass !== "secBarracks">>
 				<span id="secBarracks"> <br>
-					[[Manage Military|secBarracks][$nextButton = "Back", $nextLink = _Pass]]
+					<<link [[Manage Military|secBarracks][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 				</span>
 				@@.cyan;[Shift+A]@@
 			<</if>>
 			<<if $riotCenter > 0 && _Pass !== "riotControlCenter">>
 				<span id="riotCenter"> <br>
-					[[Manage Rebels|riotControlCenter][$nextButton = "Back", $nextLink = _Pass]]
+					<<link [[Manage Rebels|riotControlCenter][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 				</span>
 				@@.cyan;[Shift+R]@@
 			<</if>>
@@ -799,7 +795,7 @@
 		<br><br>
 		<<if !["Options", "Summary Options", "Description Options"].includes(_Pass)>>
 			<span id="optionsButton">
-				[[Game Options|Options][$nextButton = "Back", $nextLink = _Pass]]
+				<<link [[Game Options|Options][$nextButton = "Back", $nextLink = _Pass]]>><</link>>
 			</span>
 			@@.cyan;[O]@@
 		<<else>>
@@ -843,4 +839,4 @@
 		<<link "Dump Game State">><<run App.Debug.dumpGameState()>><</link>>
 	<</if>>
 
-<</if>> /* Closes ui != "start" */
\ No newline at end of file
+<</if>> /* Closes ui != "start" */