diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 577bcb9585838c96ecbc30129ac41f642f8ca17e..758a314f0e3df9f56d15b150ed50b642f6e717c0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -169,7 +169,7 @@ errors, it's not totally clean as is and there are a few false positives.
   * [Twine (Twine is being phased out of the project however the concepts are still relevant)](devNotes/scene-guide.txt)
   * [JavaScript](devNotes/jsEventCreationGuide.md)
 * [Exception handling](devNotes/exceptions.md)
-* [Sanity check](devNotes/exceptions.md)
+* [Sanity check](devNotes/sanityCheck.md)
 * [Slave List](devNotes/slaveListing.md)
 * [Pronouns](devNotes/Pronouns.md)
 * External function documentation
diff --git a/devNotes/eye functions.md b/devNotes/eyeFunctions.md
similarity index 100%
rename from devNotes/eye functions.md
rename to devNotes/eyeFunctions.md
diff --git a/devNotes/limb functions.md b/devNotes/limbFunctions.md
similarity index 100%
rename from devNotes/limb functions.md
rename to devNotes/limbFunctions.md
diff --git a/devNotes/sanityCheck.md b/devNotes/sanityCheck.md
index 9e13bcc2f276f2a01aa1b44884d79517e5785747..0bbaf56c6ecd711e5732a8854a050e576515b7df 100644
--- a/devNotes/sanityCheck.md
+++ b/devNotes/sanityCheck.md
@@ -12,13 +12,13 @@ of `git grep` calls using regex to find typical errors. The second parts is a ja
 The java check has 3 main parts:
 
 1.  A checks for correct closure of all SugarCube macros and HTML tags in the
-	.tw files.
+    .tw files.
 
 2.  A check to find variable names that are only used once to find misspelled
-	variables and leftovers from removed variables.
+    variables and leftovers from removed variables.
 
 3.  A search through all files against a dictionary to find common misspellings
-	and deprecated code.
+    and deprecated code.
 
 ### Maintenance
 
@@ -26,28 +26,28 @@ In order to keep the number of false positives to a minimum this check has to be
 regularly maintained:
 
 1.  When new macros or HTML tags are introduced in the project code they have to
-	be added to `devTools/javaSanityCheck/twineTags` or
-	`devTools/javaSanityCheck/htmlTags`.
+    be added to `devTools/javaSanityCheck/twineTags` or
+    `devTools/javaSanityCheck/htmlTags`.
 
 2.  When removing variables they often have a reference left in some kind of BC
-	related code. This is a common example when a false positive occurs and that
-	variable has to be added to `devTools/javaSanityCheck/ignoredVariables`.
+    related code. This is a common example when a false positive occurs and that
+    variable has to be added to `devTools/javaSanityCheck/ignoredVariables`.
 
 3.  When fully removing variables that were ignored, they have to be removed
-	from `devTools/javaSanityCheck/ignoredVariables` too.
+    from `devTools/javaSanityCheck/ignoredVariables` too.
 
 4.  When adding variables it can happen that only one usage is identified by the
-	check, which means that it throws a false positive. To remove this add the
-	variable to `devTools/javaSanityCheck/ignoredVariables`. When the variable
-	is used in more places later and found more than once it has to be removed
-	again to keep the check as efficient as possible.
+    check, which means that it throws a false positive. To remove this add the
+    variable to `devTools/javaSanityCheck/ignoredVariables`. When the variable
+    is used in more places later and found more than once it has to be removed
+    again to keep the check as efficient as possible.
 
 5.  When you find common missspellings you can add them to
-	`devTools/dictionary_phrases.txt` or `devTools/dictionary_wholeWord.txt`.
+    `devTools/dictionary_phrases.txt` or `devTools/dictionary_wholeWord.txt`.
 
 6.  When a file produces so many false positives that they are impossible to
-	clean up it may be added to `devTools/javaSanityCheck/excluded`.
+    clean up it may be added to `devTools/javaSanityCheck/excluded`.
 
 ### Source code
 
-The source code can either be found at [gitgud.io](https://gitgud.io/Arkerthan/twine-sanitycheck). 
+The source code can be found at [gitgud.io](https://gitgud.io/Arkerthan/twine-sanitycheck).
diff --git a/src/Mods/Catmod/events/SoSassassin.tw b/src/Mods/Catmod/events/SoSassassin.tw
index 2aa578b2521784715b88307b98d4b84698f77c3b..cf5746fa5ae06263566977ac9e6637a054c89ed8 100644
--- a/src/Mods/Catmod/events/SoSassassin.tw
+++ b/src/Mods/Catmod/events/SoSassassin.tw
@@ -68,7 +68,13 @@ As you stroll through your market district in the afternoon, checking up on your
         <</if>>
     <<else>>
         <<if $PC.skill.warfare >= 100 && $personalArms > 0>>
-			There's nothing standing between you two. You level your handgun onto her, but she's just a microsecond faster, kicking the gun out of your hand with a painfully powerful strike that sends the pistol clattering onto the ground a few feet away. Before you can dive for it, she's thrusting her knife up towards your throat. Your combat instincts kick in and you wrench your head to the side, the blade nicking you on the cheek, and grab her by the wrist, throwing a hard punch into her ribcage. The assassin forces her hand free and stumbles back, seemingly surprised that you're holding your own against her. "Bhalwi al-sham asmik qalbik. I was told you could fight." She mumbles. You glance at your handgun on the ground as she drops into a combat stance and lunges towards you a second time. You barely catch her wrist as she thrusts the knife at your stomach, forcing her hand off to the side, and she responds by slamming a kick into your ankle, rearing her hand back for another strike as you reel. You narrowly deflect strike after strike as she jabs the knife towards your vitals, the sharp steel cutting and scraping your skin as you hold off the better-armed assailant, until she pulls back and brutally kicks you in the ribs as you block a jab, sending you slamming against the hard ground of the marketplace. Coughing a trace of blood, you roll to the side towards your discarded handgun as the assassin lunges atop you, pinning you down. She's got an insane look in her pretty eyes as she raises the knife, shouting "Abna Sakhmat damkun!" You reach your hand to the side as far as you can get it, narrowly grasp your fingers around your handgun, and whip it back to fire a single round, the last round in the magazine, through the assassin straddling your chest. She gasps once, and then slumps off, an instant before having plunged the knife into your heart. Covered in blood, you push the corpse off, stand up, brush yourself off, and tell the @@.green;shocked and amazed@@ citizens of the marketplace that this is just another day in your life. Someone awkwardly applauds as the security drones arrive.
+			There's nothing standing between you two. You level your handgun onto her, but she's just a microsecond faster, kicking the gun out of your hand with a painfully powerful strike that sends the pistol clattering onto the ground a few feet away. Before you can dive for it, she's thrusting her knife up towards your throat. Your combat instincts kick in and you wrench your head to the side, the blade nicking you on the cheek, and grab her by the wrist, throwing a hard punch into her ribcage. The assassin forces her hand free and stumbles back, seemingly surprised that you're holding your own against her.
+			<br>
+			"Bhalwi al-sham asmik qalbik. I was told you could fight." She mumbles.
+			<br>
+			You glance at your handgun on the ground as she drops into a combat stance and lunges towards you a second time. You barely catch her wrist as she thrusts the knife at your stomach, forcing her hand off to the side, and she responds by slamming a kick into your ankle, rearing her hand back for another strike as you reel. You narrowly deflect strike after strike as she jabs the knife towards your vitals, the sharp steel cutting and scraping your skin as you hold off the better-armed assailant, until she pulls back and brutally kicks you in the ribs as you block a jab, sending you slamming against the hard ground of the marketplace. Coughing a trace of blood, you roll to the side towards your discarded handgun as the assassin lunges atop you, pinning you down. She's got an insane look in her pretty eyes as she raises the knife, shouting "Abna Sakhmat damkun!" You reach your hand to the side as far as you can get it, narrowly grasp your fingers around your handgun, and whip it back to fire a single round, the last round in the magazine, through the assassin straddling your chest. She gasps once, and then slumps off, an instant before having plunged the knife into your heart.
+			<br>
+			Covered in blood, you push the corpse off, stand up, brush yourself off, and tell the @@.green;shocked and amazed@@ citizens of the marketplace that this is just another day in your life. Someone awkwardly applauds as the security drones arrive.
 			<<run cashX(-1000, "event")>>
 			<<run repX(2500, "event")>>
         <<else>>
@@ -119,7 +125,11 @@ As you stroll through your market district in the afternoon, checking up on your
 			<<run cashX(-1000, "event", _S.Bodyguard)>>
 			<<run repX(2500, "event", _S.Bodyguard)>>
         <<elseif $personalArms > 0 && $PC.skill.warfare >= 60>>
-			The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from _S.Bodyguard.slaveName and hits back twice as hard, forcing $him on the defensive. When _S.Bodyguard.slaveName stumbles, the assassin furiously kicks the blade out from $his hand and leaps atop $him, slashing _S.Bodyguard.slaveName's throat in a single, clean motion as you clutch your arm on the ground and fumble with your handgun, grimacing from the pain. Covered in blood, the assassin stands over _S.Bodyguard.slaveName's corpse and approaches you, smiling psychotically. "Bhalwi al-sham asmik qalbik, dog." The assassin spits, lunging towards you. You can barely muster the strength to raise your handgun, one bullet left in the chamber, and blow a round through her chest before she lands. Killed in midair, the assassin's corpse falls against you as you pass out from blood loss, citizens in the marketplace rushing to your unconscious body and calling for medical help. You'll live, but your bodyguard @@.red;wasn't so lucky.@@
+			The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from _S.Bodyguard.slaveName and hits back twice as hard, forcing $him on the defensive. When _S.Bodyguard.slaveName stumbles, the assassin furiously kicks the blade out from $his hand and leaps atop $him, slashing _S.Bodyguard.slaveName's throat in a single, clean motion as you clutch your arm on the ground and fumble with your handgun, grimacing from the pain. Covered in blood, the assassin stands over _S.Bodyguard.slaveName's corpse and approaches you, smiling psychotically.
+			<br>
+			"Bhalwi al-sham asmik qalbik, dog." The assassin spits, lunging towards you.
+			<br>
+			You can barely muster the strength to raise your handgun, one bullet left in the chamber, and blow a round through her chest before she lands. Killed in midair, the assassin's corpse falls against you as you pass out from blood loss, citizens in the marketplace rushing to your unconscious body and calling for medical help. You'll live, but your bodyguard @@.red;wasn't so lucky.@@
 			<<run cashX(-1000, "event", _S.Bodyguard), healthDamage(_S.Bodyguard, 1000)>>
 			<<= removeSlave(_S.Bodyguard)>>
         <<else>>
diff --git a/src/endWeek/saRulesFunctions.js b/src/endWeek/saRulesFunctions.js
index 8cec6e1cd838cc4afce621b27ed7f928ca1c8eea..9a9f3ee306860f7a4a9d1d8f2f29907ce6812d8c 100644
--- a/src/endWeek/saRulesFunctions.js
+++ b/src/endWeek/saRulesFunctions.js
@@ -309,7 +309,7 @@ App.EndWeek.Rules.playerDrugEffects = function(slave) {
 					slave.trust += 2;
 				} else {
 					el.append(`${His} terribly swollen balls force ${him} to come to you for release several times a day, and ${he} `);
-					App.UI.DOM.appendNewElement("span", el, `learns to rely`, "mediumaquamarine");
+					App.UI.DOM.appendNewElement("span", el, `learns to rely `, "mediumaquamarine");
 					if (slave.anus > 0 && canDoAnal(slave) && App.EndWeek.saVars.freeSexualEnergy > 0) {
 						el.append(`on your `);
 						if (V.PC.dick === 0) {
diff --git a/src/events/RE/reBoomerang.js b/src/events/RE/reBoomerang.js
index e2734356d57fe866ba50c650d5edd4031a41262d..990907e9bde5be1db02695e48b2f8f5bf23e8e9a 100644
--- a/src/events/RE/reBoomerang.js
+++ b/src/events/RE/reBoomerang.js
@@ -740,7 +740,7 @@ App.Events.REBoomerang = class REBoomerang extends App.Events.BaseEvent {
 				}
 				break;
 			case "monster movie":
-				r.push(`You sold ${him} to a film studio to act as a double for a famous actress where ${he} was used installed with a massive fake pregnancy for the ending.`);
+				r.push(`You sold ${him} to a film studio to act as a double for a famous actress where ${he} was installed with a massive fake pregnancy for the ending.`);
 				r.push(Spoken(slave, `"It's too big... Can't breath right... Was going to be sold... Since I was a disposable prop... I'd rather be your prop."`));
 				r.push(`${He} returns to wheezing against the solid mass bulging from ${his} middle.`);
 				healthDamage(slave, random(60, 70));
diff --git a/src/events/RETS/reCockmilkInterception.js b/src/events/RETS/reCockmilkInterception.js
index b8e6b31138ae645ea56c1cdf5e4bf88d118f00df..b41c2dc5200a71ba980201058c982fc792a1213b 100644
--- a/src/events/RETS/reCockmilkInterception.js
+++ b/src/events/RETS/reCockmilkInterception.js
@@ -215,7 +215,7 @@ App.Events.RETSCockmilkInterception = class RETSCockmilkInterception extends App
 			} else if (!canAchieveErection(subSlave)) {
 				t.push(`Since ${slave.slaveName} can't jack off a soft shaft, ${he}'s using one hand to stroke the soft, precum-slick skin below ${subSlave.slaveName}'s anus.`);
 			} else {
-				t.push(`{He}'s using one hand to stroke the hard shaft outside ${his} wet lips, using ${his} saliva and ${subSlave.slaveName}'s precum to perform a messy handjob.`);
+				t.push(`${He}'s using one hand to stroke the hard shaft outside ${his} wet lips, using ${his} saliva and ${subSlave.slaveName}'s precum to perform a messy handjob.`);
 			}
 		}
 		if (hasBothArms(slave)) {
diff --git a/src/events/RETS/reIfYouEnjoyIt.js b/src/events/RETS/reIfYouEnjoyIt.js
index 25990d6d28c6aa52ede80ed4c2a8d3b2bea28997..f88d45b98f668b1516be1beb2f49c85f9a428e62 100644
--- a/src/events/RETS/reIfYouEnjoyIt.js
+++ b/src/events/RETS/reIfYouEnjoyIt.js
@@ -183,7 +183,7 @@ App.Events.RETSIfYouEnjoyIt = class RETSIfYouEnjoyIt extends App.Events.BaseEven
 			App.Events.addParagraph(frag, t);
 			t = [];
 
-			t.push(`${eventSlave.slaveName} laughs unpleasantly at the desperately uncomfortable eventSlave, and ${say}s,`);
+			t.push(`${eventSlave.slaveName} laughs unpleasantly at the desperately uncomfortable ${subSlave.slaveName}, and ${say}s,`);
 			t.push(Spoken(eventSlave, `"Tell you what, slut. I'll leave you alone if this doesn't get you off."`));
 			t.push(`Already realizing ${his2} predicament, ${subSlave.slaveName} begins to protest, but ${eventSlave.slaveName} cuts ${him2} off.`);
 			t.push(Spoken(eventSlave, `"Shut your fucking cockholster, bitch, I'm talking. I'll leave you alone if this doesn't get you off, but if you come, you've obviously been lying to me, and you obviously want me to buttfuck you all night long."`));
@@ -217,7 +217,7 @@ App.Events.RETSIfYouEnjoyIt = class RETSIfYouEnjoyIt extends App.Events.BaseEven
 		function join() {
 			t= [];
 
-			t.push(`You advance on the slaves. ${eventSlave.slaveName}, who has a devoted eventSlave's sixth sense about ${his} ${getWrittenTitle(eventSlave)}'s presence, realizes you're there and turns toward you.`);
+			t.push(`You advance on the slaves. ${eventSlave.slaveName}, who has a devoted slave's sixth sense about ${his} ${getWrittenTitle(eventSlave)}'s presence, realizes you're there and turns toward you.`);
 			if (canSee(eventSlave)) {
 				t.push(`Silently but forcefully, you use a simple hand gesture to instruct ${him} unequivocally`);
 			} else {
diff --git a/src/events/gameover.tw b/src/events/gameover.tw
index 02c755263191f452371aac546e70901b7eb57d12..c8d85fc4c14d816cf2c97b4631d67fe98db65048 100644
--- a/src/events/gameover.tw
+++ b/src/events/gameover.tw
@@ -21,7 +21,9 @@
 		<br><br>
 		The instant your eyes leave the pretty woman, $assistant.name pings an alarm in your ear and two men on opposite sides of the marketplace spin on their heels towards you, pulling compact battle rifles from inside their jackets and screaming something in a foreign language. Your bodyguard quickly fires into the first assassin's chest, then snaps around and blasts the second one before either man can fire.
 		<br>
-		As the two would-be assassins collapse, the pretty woman draws a vicious-looking curved knife from her sleeve, swears in a foreign language, and lunges towards you. She's intercepted by _S.Bodyguard.slaveName, who drops $his empty firearm on the ground to pull $his own sword free. The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from _S.Bodyguard.slaveName and hits back twice as hard, forcing $him on the defensive. When _S.Bodyguard.slaveName stumbles, the assassin furiously kicks the blade out from $his hand and leaps atop $him, slashing _S.Bodyguard.slaveName's throat in a single, clean motion as you clutch your arm on the ground and fumble with your handgun, grimacing from the pain. Covered in blood, the assassin stands over _S.Bodyguard.slaveName's corpse and approaches you, smiling psychotically. "Bhalwi al-sham asmik qalbik, dog." The assassin spits, lunging towards you.
+		As the two would-be assassins collapse, the pretty woman draws a vicious-looking curved knife from her sleeve, swears in a foreign language, and lunges towards you. She's intercepted by _S.Bodyguard.slaveName, who drops $his empty firearm on the ground to pull $his own sword free. The two killers clash, but it's immediately apparent who's better trained. The assassin blocks every strike coming from _S.Bodyguard.slaveName and hits back twice as hard, forcing $him on the defensive. When _S.Bodyguard.slaveName stumbles, the assassin furiously kicks the blade out from $his hand and leaps atop $him, slashing _S.Bodyguard.slaveName's throat in a single, clean motion as you clutch your arm on the ground and fumble with your handgun, grimacing from the pain. Covered in blood, the assassin stands over _S.Bodyguard.slaveName's corpse and approaches you, smiling psychotically.
+		<br>
+		"Bhalwi al-sham asmik qalbik, dog." The assassin spits, lunging towards you.
 		<br>
 		In your last moments alive before the Sekhmeti assassin straddles you and plunges her knife into your heart in front of your watching marketplace, you idly wish that you'd bought a handgun.
 
@@ -32,7 +34,9 @@
 		<br><br>
 		The instant your eyes leave the pretty woman, $assistant.name pings an alarm in your ear and two men on opposite sides of the marketplace spin on their heels towards you, pulling compact battle rifles from inside their jackets and screaming something in a foreign language. You snap your handgun out of its holster and fire three rounds into one of their chests.
 		<br>
-		As the two would-be assassins collapse, the pretty woman draws a vicious-looking curved knife from her sleeve, swears in a foreign language, and lunges towards you. There's nothing standing between you two. You level your handgun onto her, but she's like a blur, kicking it out of your hand with enough force it feels like your hand shattered. The assassin grins psychotically at you and flourishes her curved knife as you reel back. "Bhalwi al-sham asmik qalbik, dog." The Sekhmeti assassin spits, before lunging forward one last time to slash her knife up into your throat. A moment later, everything goes black.
+		As the two would-be assassins collapse, the pretty woman draws a vicious-looking curved knife from her sleeve, swears in a foreign language, and lunges towards you. There's nothing standing between you two. You level your handgun onto her, but she's like a blur, kicking it out of your hand with enough force it feels like your hand shattered. The assassin grins psychotically at you and flourishes her curved knife as you reel back.
+		<br>
+		"Bhalwi al-sham asmik qalbik, dog." The Sekhmeti assassin spits, before lunging forward one last time to slash her knife up into your throat. A moment later, everything goes black.
 
 	<<case "snipedbysons">>
 		It's a particularly nice day out and you've decided to visit some of the more prominent citizens of your arcology, the kind of people you might call 'friends' if genuine friendship wasn't a quick way to get stabbed in the back in the Free Cities. As you're having a pleasant conversation with one of these notables on the raised porch of his luxurious apartment, $assistant.name pings you with an urgent message: DUCK.
diff --git a/src/interaction/main/walkPast.js b/src/interaction/main/walkPast.js
index 554c566d7a38a5c1ddc60a592775b72d7c757de6..d69c1a22a1e072f1c19b7868728783564c9e4adc 100644
--- a/src/interaction/main/walkPast.js
+++ b/src/interaction/main/walkPast.js
@@ -2615,7 +2615,7 @@ globalThis.walkPast = (function() {
 				t += `As ${he} moves, ${his} clubslut netting moves with ${him}, leaving nothing to the imagination.`;
 				break;
 			case "a cheerleader outfit":
-				t += `As ${he} moves, ${his} pleated cheerleader bounces up and down flirtatiously.`;
+				t += `As ${he} moves, ${his} pleated cheerleader skirt bounces up and down flirtatiously.`;
 				break;
 			case "cutoffs and a t-shirt":
 				t += `As ${he} moves, ${his} cutoffs hug ${his} butt.`;
diff --git a/src/npc/interaction/fDick.js b/src/npc/interaction/fDick.js
index 987b2df37034a70f320bf55a7de03c0bc3dca9ac..fee933a5de7ffe15b79d685666a28bc066601e6e 100644
--- a/src/npc/interaction/fDick.js
+++ b/src/npc/interaction/fDick.js
@@ -177,7 +177,7 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms, and unloads${_load} inside of you before apologizing submissively.`);
+				r.push(`spasms, and unloads ${_load} inside of you before apologizing submissively.`);
 			} else if (slave.trust <= 20) {
 				r.push(`Having followed your instructions quickly and obediently, ${he} tries ${his} best to please you while you bounce`);
 				if (V.PC.belly >= 5000) {
@@ -189,7 +189,7 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms, and unloads${_load} into you before helping you up.`);
+				r.push(`spasms, and unloads ${_load} into you before helping you up.`);
 			} else {
 				r.push(`Having followed your instructions with gusto, ${he} energetically pounds you while you bounce`);
 				if (V.PC.belly >= 5000) {
@@ -201,7 +201,7 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms, and unloads${_load} into you before pulling you into a post coitus embrace.`);
+				r.push(`spasms, and unloads ${_load} into you before pulling you into a post coitus embrace.`);
 			}
 		} else if (slave.devotion >= -20) {
 			if (slave.trust < -20) {
@@ -215,7 +215,7 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms, and blows${_load} in you like a good little slave.`);
+				r.push(`spasms, and blows ${_load} in you like a good little slave.`);
 			} else if (slave.trust <= 20) {
 				r.push(`Having obediently followed your instructions, ${he} lies as still as ${he} can beneath you while you bounce`);
 				if (V.PC.belly >= 5000) {
@@ -227,7 +227,7 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms and boldness, and blows${_load} in you during the confusion.`);
+				r.push(`spasms and boldness, and blows ${_load} in you during the confusion.`);
 			} else {
 				r.push(`Having obediently followed your instructions, ${he} energetically pounds you while you bounce`);
 				if (V.PC.belly >= 5000) {
@@ -253,7 +253,7 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms, and unloads${_load} inside of you despite ${his} fear.`);
+				r.push(`spasms, and unloads ${_load} inside of you despite ${his} fear.`);
 			} else if (slave.trust <= 20) {
 				r.push(`Having followed your instructions as quickly as ${he} could, ${he} lies as still as ${he} can beneath you while you bounce`);
 				if (V.PC.belly >= 5000) {
@@ -265,12 +265,12 @@ App.Interact.fDick = function(slave) {
 				} else {
 					r.push(`rectal`);
 				}
-				r.push(`spasms, and unloads${_load} deep inside you without warning. ${He} <span class="orangered">smirks a little</span> as you glare daggers at ${him}.`);
+				r.push(`spasms, and unloads ${_load} deep inside you without warning. ${He} <span class="orangered">smirks a little</span> as you glare daggers at ${him}.`);
 				slave.trust++;
 			} else if (overpowerCheck(slave, V.PC) < random(1, 100)) {
 				r.push(`Without warning, ${he} flips you onto your side and, still hilted,`);
 				if (slave.belly >= 300000) {
-					r.push(`repositions you onto your hands and knees while using ${his}${_belly} belly to pin you under ${him}.`);
+					r.push(`repositions you onto your hands and knees while using ${his} ${_belly} belly to pin you under ${him}.`);
 				} else if (V.PC.belly >= 5000) {
 					r.push(`rolls you into missionary while pinning your arms and legs.`);
 				} else if (V.PC.boobs >= 1000) {
@@ -373,7 +373,7 @@ App.Interact.fDick = function(slave) {
 		r.push(`You reach back`);
 
 		if (slave.scrotum > 0) {
-			r.push(`and stroke ${his}${_nutte} balls.`);
+			r.push(`and stroke ${his} ${_nutte} balls.`);
 		} else if (slave.vagina > -1) {
 			r.push(`and tease ${his} neglected pussy.`);
 		} else {
diff --git a/src/npc/interaction/fLickPussy.js b/src/npc/interaction/fLickPussy.js
index e68c79a7bc319ddd8442e77a70b2748ecb2ebeaf..334f90f4e417a2bcf985358fc71736eea6974839 100644
--- a/src/npc/interaction/fLickPussy.js
+++ b/src/npc/interaction/fLickPussy.js
@@ -77,13 +77,13 @@ App.Interact.fLickPussy = function(slave) {
 	} else if (slave.weight > 95) {
 		r.push(`as you get familiar with ${his} fat belly.`);
 	} else if (slave.muscles > 30) {
-		r.push(`as you get familiar with ${his} prominent abs.`)
+		r.push(`as you get familiar with ${his} prominent abs.`);
 	} else if (slave.weight > 30) {
-		r.push(`as you get familiar with ${his} soft belly.`)
+		r.push(`as you get familiar with ${his} soft belly.`);
 	} else if (slave.muscles > 10) {
-		r.push(`as you get familiar with ${his} toned, smooth belly.`)
+		r.push(`as you get familiar with ${his} toned, smooth belly.`);
 	} else {
-		r.push(`as you get familiar with ${his} smooth belly.`)
+		r.push(`as you get familiar with ${his} smooth belly.`);
 	}
 
 	r.push(`Looking ${him} directly in the eyes, you begin to run your tongue along ${his} labia, drawing a`);
@@ -96,17 +96,17 @@ App.Interact.fLickPussy = function(slave) {
 	if (areRelated(slave, V.PC)) {
 		r.push(`${his} ${relativeTerm(slave, V.PC)}`);
 	} else {
-		r.push(`the ${womanP} ${he}`);
+		r.push(`the ${womanP}`);
 		if (_devotion > 95) {
-			r.push(`loves`);
+			r.push(`${he} loves`);
 		} else if (_devotion > 50) {
-			r.push(`'s accepted as ${his} ${getWrittenTitle(slave)}`);
+			r.push(`${he}'s accepted as ${his} ${getWrittenTitle(slave)}`);
 		} else if (_devotion < -50) {
-			r.push(`hates`);
+			r.push(`${he} hates`);
 		} else if (slave.trust < -50) {
-			r.push(`fears`);
+			r.push(`${he} fears`);
 		} else {
-			r.push(`is enslaved to`)
+			r.push(`${he} is enslaved to`);
 		}
 	}
 	r.push(`makes ${him} blush, but you don't let up.`);
diff --git a/src/npc/interaction/fondleButt.js b/src/npc/interaction/fondleButt.js
index 1962ccbbd356e39cab382cbe8d02586c14beef1f..54b0eb0a2d19128ca27be9e18feaddf0e4b64334 100644
--- a/src/npc/interaction/fondleButt.js
+++ b/src/npc/interaction/fondleButt.js
@@ -672,7 +672,7 @@ App.Interact.fondleButt = function(slave) {
 		} else {
 			r.push(`angles ${his} head to face you`);
 		}
-		r.push(`ecstatically${hasAnyLegs(slave) ? `as ${he} stands up` : ``}, eager for more.`);
+		r.push(`ecstatically${hasAnyLegs(slave) ? ` as ${he} stands up` : ``}, eager for more.`);
 	}
 	App.Events.addParagraph(node, r);
 	return node;
diff --git a/src/npc/interaction/fondleVagina.js b/src/npc/interaction/fondleVagina.js
index 444d1d1a0dc6e794691cdaf42cba192276319f2c..dfbe707e48f9e00741989d052dd38de35a31ce0c 100644
--- a/src/npc/interaction/fondleVagina.js
+++ b/src/npc/interaction/fondleVagina.js
@@ -657,10 +657,7 @@ App.Interact.fondleVagina = function(slave) {
 		}
 		r.push(`as your hand nears it. ${He}`);
 		if (hasAnyLegs(slave)) {
-			r.push(`squeezes ${his} thigh`);
-			if (hasBothLegs(slave)) {
-				r.push(`s`);
-			}
+			r.push(`squeezes ${his} thighs${hasBothLegs(slave) ? `s` : ``}`);
 		} else {
 			r.push(`pushes`);
 		}
diff --git a/src/npc/interaction/passage/fSlaveSlaveDick.js b/src/npc/interaction/passage/fSlaveSlaveDick.js
index 3cbb861ba7970585907e8de1c05d585f04e159ae..e2506bc63e1b2978c0976635a516e3aa1c80f7d9 100644
--- a/src/npc/interaction/passage/fSlaveSlaveDick.js
+++ b/src/npc/interaction/passage/fSlaveSlaveDick.js
@@ -268,12 +268,12 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 		}
 
 		App.Events.addParagraph(el, r);
-		r= [];
+		r = [];
 
 		r.push(`You call ${rapist.slaveName} into the room.`);
 
 		App.Events.addParagraph(el, r);
-		r= [];
+		r = [];
 
 		if (slave.fetish === "mindbroken" && slave.career !== "a dairy cow" && slave.career !== "a breeding bull") {
 			r.push(`${slave.slaveName} doesn't even notice`);
@@ -464,6 +464,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 						}
 					}
 				} else {
+					r.push(`${his} chosen partner.`);
 					if (slave.devotion > 95) {
 						r.push(`${His} deep acceptance of slavery means ${he} is eager to please you,`);
 						if (slave.clit >= 4) {
@@ -505,7 +506,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 		}
 
 		App.Events.addParagraph(el, r);
-		r= [];
+		r = [];
 
 		if (rapist.fetish === "mindbroken" && rapist.career !== "a dairy cow" && rapist.career !== "a breeding bull") {
 			r.push(`${rapist.slaveName} stares blankly, and needs to be deliberately guided to straddle ${slave.slaveName}.`);
@@ -581,7 +582,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 							_incestMood = "Both";
 						} else {
 							_incestMood = "Top";
-							r.push(`as well as ${his} worried expressions. ${rapist.slaveName} seems aroused and determined to show ${him} how a proper slave should act.`);
+							r.push(`as well as ${his} worried expression. ${rapist.slaveName} seems aroused and determined to show ${him} how a proper slave should act.`);
 						}
 					} else if (rapist.devotion > 60) {
 						if (_incestMood === "BottomFragile") {
@@ -633,7 +634,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 						}
 					} else if (rapist.devotion > 20) {
 						if (_incestMood === "BottomFragile") {
-							 _incestMood = "";
+							_incestMood = "";
 						}
 						r.push(`and after figuring out they're just as superficially prepared as ${he2} is, resolves ${himself2} to try and make it pleasurable.`);
 					} else {
@@ -701,7 +702,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 		}
 
 		App.Events.addParagraph(el, r);
-		r= [];
+		r = [];
 
 		if (slave.devotion < -20 && rapist.devotion < -20) {
 			r.push(`Since you have two restrained slaves, it's up to you to do all the work. Since ${slave.slaveName} is already lying on the bed, you maneuver ${rapist.slaveName}'s pussy into place. The two slaves make no further moves until you deal ${rapist.slaveName} a terrific swat across the ass and promise to give ${him2} more of the same until ${he2} gets going. ${rapist.slaveName} starts lowering ${himself2} very slowly, pulling back every time ${slave.slaveName}'s dick prods ${his2} womanhood. After watching the sad display for a while, you grab ${him2} by the hips and slam ${him2} down onto ${slave.slaveName}, hilting ${him2} in one, scream-inducing move.`);
@@ -841,7 +842,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 				}
 			}/* closes losing virginity */
 
-			r.push(`${He2} begins playing with ${him} immediately, slapping, pinching and licking ${his} boobs while bouncing on the meaty shaft. Occasionally ${he2} stops, denying ${slave.slaveName} release by painfully squeezing and smacking the sensitive shaft. By the end of the session ${slave.slaveName}'s abused, pent-up penis has shot several massive and painful loads into the blissfully satisfied ${rapist.slaveName}, leaving ${him} lying on the bed, shaking in horror and <span class="health dec">utter exhaustion,</span> while rapist.slaveName reaps the opportunity to continue painfully tormenting ${him}.`);
+			r.push(`${He2} begins playing with ${him} immediately, slapping, pinching and licking ${his} boobs while bouncing on the meaty shaft. Occasionally ${he2} stops, denying ${slave.slaveName} release by painfully squeezing and smacking the sensitive shaft. By the end of the session ${slave.slaveName}'s abused, pent-up penis has shot several massive and painful loads into the blissfully satisfied ${rapist.slaveName}, leaving ${him} lying on the bed, shaking in horror and <span class="health dec">utter exhaustion,</span> while ${rapist.slaveName} reaps the opportunity to continue painfully tormenting ${him}.`);
 
 			healthDamage(slave, 10);
 			slave.counter.penetrative += 3;
@@ -1229,7 +1230,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 				rapist.counter.anal++;
 				V.analTotal++;
 				if (canImpreg(rapist, V.PC)) {
-					knockMeUp(rapist, 5, 1, -1, true);
+					knockMeUp(rapist, 5, 1, -1);
 				}
 			} else if (canDoVaginal(slave)) {
 				r.push(`penetrate ${slave.slaveName}'s free pussy with your`);
@@ -1257,7 +1258,7 @@ App.Interact.fSlaveSlaveDick = function(slave) {
 		}
 
 		App.Events.addParagraph(el, r);
-		r= [];
+		r = [];
 
 		slave.counter.penetrative += 1;
 		V.penetrativeTotal += 1;
diff --git a/src/npc/interaction/passage/fSlaveSlaveVag.js b/src/npc/interaction/passage/fSlaveSlaveVag.js
index e8a4820a47b27a432d1abecdd8ff429407949db6..5285c5432fe64afd2f76342cf7082cd6c4bcff81 100644
--- a/src/npc/interaction/passage/fSlaveSlaveVag.js
+++ b/src/npc/interaction/passage/fSlaveSlaveVag.js
@@ -354,7 +354,7 @@ App.Interact.fSlaveSlaveVag = function(slave) {
 		} else if (tooBigBreasts(slave)) {
 			r.push(`You set ${him} up for ${rapist.slaveName}, face-down so the weight of ${his} tits pins ${him} helplessly in place.`);
 		} else if (tooBigButt(slave)) {
-			r.push(`You set ${him} up for ${rapist.slaveName}, face-down so the weight of ${his} giant ass pins ${him} helplessly in place and gives rapist.slaveName a lovely cushion to thrust against.`);
+			r.push(`You set ${him} up for ${rapist.slaveName}, face-down so the weight of ${his} giant ass pins ${him} helplessly in place and gives ${rapist.slaveName} a lovely cushion to thrust against.`);
 		} else if (tooBigDick(slave)) {
 			r.push(`You set ${him} up for ${rapist.slaveName}, face-up so ${he} is pinned under the weight of ${his} giant cock.`);
 		} else if (tooBigBalls(slave)) {
@@ -379,7 +379,7 @@ App.Interact.fSlaveSlaveVag = function(slave) {
 			} else {
 				r.push(`strap-on`);
 			}
-			r.push(`into place. The two slaves make no further moves until you deal ${rapist.slaveName} a terrific swat across the ass and promise to give ${him2} more of the same until ${he2} gets going. rapist.slaveName starts moving very slowly, barely prodding. After watching them mechanically go at it for a while, you use your leg to suddenly push ${him2} deep into ${slave.slaveName}, fully hilting ${him2} in one motion. You occasionally prod them with an electrical jolt to keep them going at a faster pace. Both slaves resent what you made them do for you and fear you'll make them do it again.`);
+			r.push(`into place. The two slaves make no further moves until you deal ${rapist.slaveName} a terrific swat across the ass and promise to give ${him2} more of the same until ${he2} gets going. ${rapist.slaveName} starts moving very slowly, barely prodding. After watching them mechanically go at it for a while, you use your leg to suddenly push ${him2} deep into ${slave.slaveName}, fully hilting ${him2} in one motion. You occasionally prod them with an electrical jolt to keep them going at a faster pace. Both slaves resent what you made them do for you and fear you'll make them do it again.`);
 		} else if (rapist.devotion < -20) {
 			r.push(`Since your dick slave is restrained, you order ${slave.slaveName} to present ${himself} on the bed, and then maneuver ${rapist.slaveName}'s`);
 			if (rapist.dick > 0) {
@@ -389,7 +389,7 @@ App.Interact.fSlaveSlaveVag = function(slave) {
 			}
 			r.push(`into place. ${slave.slaveName} does ${his} best to hump ${himself} against the unwilling cock until you deal ${rapist.slaveName} a terrific swat across the ass and promise to give ${him2} more of the same until ${he2} gets going. ${He2} is still unenthusiastic, so you have ${him2} lie down and have ${slave.slaveName} ride ${himself} to orgasm. ${He2} resents what you made ${him2} do and fears you'll force ${him2} to do it again. Though ${slave.slaveName} accepts the situation, ${he} looks into ${rapist.slaveName}'s eyes with obvious apology.`);
 		} else if (rapist.fetish === "dom" && rapist.fetishStrength > 20 && rapist.devotion > 20) {
-			r.push(`${slave.slaveName} is tied and placed on the bed with ${his} pussy defenseless and available, and then you tell the randy ${rapist.slaveName} that it's all ${hers2}. The slave life has so affected rapist.slaveName that ${he2} is quite eager to rape another slave for ${his2} pleasure. ${He2} penetrates ${him2} immediately, fondling, pinching and licking while pistoning away, fully enjoying ${his2} dominant role, edging ${his2} poor toy again and again and making ${him2} beg for release.`);
+			r.push(`${slave.slaveName} is tied and placed on the bed with ${his} pussy defenseless and available, and then you tell the randy ${rapist.slaveName} that it's all ${hers2}. The slave life has so affected ${rapist.slaveName} that ${he2} is quite eager to rape another slave for ${his2} pleasure. ${He2} penetrates ${him2} immediately, fondling, pinching and licking while pistoning away, fully enjoying ${his2} dominant role, edging ${his2} poor toy again and again and making ${him2} beg for release.`);
 			if (slave.fetish === "dom") {
 				if (slave.devotion < -20) {
 					r.push(`By the end of the day ${slave.slaveName}'s abused cunt is`);
@@ -433,7 +433,7 @@ App.Interact.fSlaveSlaveVag = function(slave) {
 			}
 			r.push(`${rapist.slaveName} is lying next to ${him} on the bed in a state of obvious satiation and bliss.`);
 		} else if (rapist.energy > 95 && rapist.devotion > 20 && slave.devotion < -20) {
-			r.push(`${slave.slaveName} is tied and placed on the bed with ${his} pussy defenseless and available, and then you tell the randy ${rapist.slaveName} that it's all ${hers2}. The slave life has so affected rapist.slaveName that ${he2} is quite eager to rape another slave, just for the perverted novelty of the act. ${His} high libido keeps ${him} going for a long time, bringing the helpless toy to one forced orgasm after another. By the end of the day ${slave.slaveName} is lying on the bed, all worn out, ${his} cunt`);
+			r.push(`${slave.slaveName} is tied and placed on the bed with ${his} pussy defenseless and available, and then you tell the randy ${rapist.slaveName} that it's all ${hers2}. The slave life has so affected ${rapist.slaveName} that ${he2} is quite eager to rape another slave, just for the perverted novelty of the act. ${His} high libido keeps ${him} going for a long time, bringing the helpless toy to one forced orgasm after another. By the end of the day ${slave.slaveName} is lying on the bed, all worn out, ${his} cunt`);
 			if (rapist.dick > 0) {
 				r.push(`dripping with cum`);
 			} else {