diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index 84bfd46b4d1a8eee0c59836d13152a75015222c8..cea7e5200928150a9e4e366b07f0871220245082 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -582,26 +582,14 @@ App.SlaveAssignment.serveThePublic = (function() {
 	 *
 	 */
 	function publicReactions(slave) {
-		let sstp;
-
 		if ((slave.rules.release.masturbation === 0 && !App.Utils.hasFamilySex(slave) && slave.rules.release.slaves === 0) && slave.rules.reward !== "orgasm") {
 			r += ` ${He}'s a better slut because public service is ${his} main sexual outlet.`;
 		}
 
 		if (totalRelatives(slave) > 0) {
 			let children = V.slaves.filter((s) => areRelated(slave, s) && (s.assignment === slave.assignment));
-			if (children.length > 2) {
-				r += ` Since ${his} relatives,`;
-				for (sstp = 0; sstp < children.length; sstp++) {
-					if (sstp < children.length - 1) {
-						r += ` ${children[sstp].slaveName},`;
-					} else {
-						r += ` and ${children[sstp].slaveName},`;
-					}
-				}
-				r += ` are public sluts too, ${he} earns extra attention.`;
-			} else if (children.length > 1) {
-				r += ` Since ${his} relatives, ${children[0].slaveName} and ${children[1].slaveName}, are public sluts too, ${he} earns extra attention.`;
+			if (children.length > 1) {
+				r += ` Since ${his} relatives, ${arrayToSentence(children)}, are public sluts too, ${he} earns extra attention.`;
 			} else if (children.length > 0) {
 				r += ` Since ${his} relative, ${children[0].slaveName}, is a public slut too, ${he} earns extra attention.`;
 			}
@@ -614,17 +602,17 @@ App.SlaveAssignment.serveThePublic = (function() {
 			}
 		}
 		if (slave.relationship > 0) {
-			sstp = V.slaveIndices[slave.relationshipTarget];
-			if (sstp !== undefined && slave.assignment === V.slaves[sstp].assignment) {
-				r += ` ${His} ${relationshipTerm(slave)} ${V.slaves[sstp].slaveName} is also serving the public and they work well together.`;
+			const partner = getSlave(slave.relationshipTarget);
+			if (partner && slave.assignment === partner.assignment) {
+				r += ` ${His} ${relationshipTerm(slave)} ${partner.slaveName} is also serving the public and they work well together.`;
 			}
 		} else if (slave.relationship === -1) {
 			r += ` ${He} relies on citizens' desire to fuck ${him} for emotional support, making ${him} an excellent, if occasionally disturbing, slut.`;
 		}
 		if (slave.rivalry !== 0) {
-			sstp = V.slaveIndices[slave.rivalryTarget];
-			if (sstp !== undefined && slave.assignment === V.slaves[sstp].assignment) {
-				r += ` ${He}'s a little less effective due to ${his} mutual dislike with ${V.slaves[sstp].slaveName}.`;
+			const rival = getSlave(slave.rivalryTarget);
+			if (rival && slave.assignment === rival.assignment) {
+				r += ` ${He}'s a little less effective due to ${his} mutual dislike with ${rival.slaveName}.`;
 			}
 		}
 
diff --git a/src/endWeek/saServeYourOtherSlaves.js b/src/endWeek/saServeYourOtherSlaves.js
index 400bde9452b8321660b62e05db6ba4c9c9a95bda..3f2eae566f1052b3faf01178884b2c7681fb0fb1 100644
--- a/src/endWeek/saServeYourOtherSlaves.js
+++ b/src/endWeek/saServeYourOtherSlaves.js
@@ -20,7 +20,6 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 	let load;
 	let cervixPump;
 
-	let dom;
 	let domSlave;
 	let domName;
 	let domRace;
@@ -88,10 +87,9 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			jobType = "cumdump";
 		} else {
 			// validate .subTarget
-			dom = V.slaveIndices[slave.subTarget];
-			if (dom !== undefined) {
+			domSlave = getSlave(slave.subTarget);
+			if (domSlave) {
 				jobType = "sub";
-				domSlave = V.slaves[dom];
 				domName = domSlave.slaveName;
 				domFetishKnown = domSlave.fetishKnown;
 				domSlaveUsedFetish = 0;
@@ -493,7 +491,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 				subSlaveLikedFetish = 1;
 			}
-		} else if (slave.devotion >= -20 && domSlave === "submissive" && domSlave.fetishStrength > 60) {
+		} else if (slave.devotion >= -20 && domSlave.fetish === "submissive" && domSlave.fetishStrength > 60) {
 			domSlaveUsedFetish = 1;
 			if (domFetishKnown) {
 				r.push(`${domName} loves to submit, and tells`);
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index 1fb242d40dd7f636a015f3b097757549d2843057..1ddf0a5a5e3ddf6f8eddb6d2c41557abe4e7fb1c 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -653,26 +653,14 @@ App.SlaveAssignment.whore = (function() {
 	 * @param {App.Entity.SlaveState} slave
 	 */
 	function publicReactions(slave) {
-		let SWi;
-
 		if ((slave.rules.release.masturbation === 0 && !App.Utils.hasFamilySex(slave) && slave.rules.release.slaves === 0) && slave.rules.reward !== "orgasm") {
 			r += ` ${He}'s a better whore because prostitution is ${his} main sexual outlet.`;
 		}
 
 		if (totalRelatives(slave) > 0) {
 			let children = V.slaves.filter((s) => areRelated(slave, s) && (s.assignment === slave.assignment));
-			if (children.length > 2) {
-				r += ` Since ${his} relatives,`;
-				for (SWi = 0; SWi < children.length; SWi++) {
-					if (SWi < children.length - 1) {
-						r += ` ${children[SWi].slaveName},`;
-					} else {
-						r += ` and ${children[SWi].slaveName},`;
-					}
-				}
-				r += ` are selling themselves too, ${he} earns extra ¤ by working with them.`;
-			} else if (children.length > 1) {
-				r += ` Since ${his} relatives, ${children[0].slaveName} and ${children[1].slaveName}, are selling themselves too, ${he} earns extra ¤ by working with them.`;
+			if (children.length > 1) {
+				r += ` Since ${his} relatives, ${arrayToSentence(children)}, are selling themselves too, ${he} earns extra ¤ by working with them.`;
 			} else if (children.length > 0) {
 				const relativePronouns = getPronouns(children[0]);
 				r += ` Since ${his} relative, ${children[0].slaveName}, is selling ${relativePronouns.objectReflexive} too, ${he} earns extra ¤ by working with ${relativePronouns.object}.`;
@@ -686,17 +674,17 @@ App.SlaveAssignment.whore = (function() {
 			}
 		}
 		if (slave.relationship > 0) {
-			SWi = V.slaveIndices[slave.relationshipTarget];
-			if (SWi !== undefined && slave.assignment === V.slaves[SWi].assignment) {
-				r += ` ${His} ${relationshipTerm(slave)} ${V.slaves[SWi].slaveName} is also whoring, so ${he} earns a bit more.`;
+			const partner = getSlave(slave.relationshipTarget);
+			if (partner && slave.assignment === partner.assignment) {
+				r += ` ${His} ${relationshipTerm(slave)} ${partner.slaveName} is also whoring, so ${he} earns a bit more.`;
 			}
 		} else if (slave.relationship === -1) {
 			r += ` ${He} relies on citizens' desire to fuck ${him} for emotional support, making ${him} an excellent, if occasionally disturbing, whore.`;
 		}
 		if (slave.rivalry !== 0) {
-			SWi = V.slaveIndices[slave.rivalryTarget];
-			if (SWi !== undefined && slave.assignment === V.slaves[SWi].assignment) {
-				r += ` ${He} earns a little less ¤ due to bickering with ${V.slaves[SWi].slaveName}.`;
+			const rival = getSlave(slave.rivalryTarget);
+			if (rival && slave.assignment === rival.assignment) {
+				r += ` ${He} earns a little less ¤ due to bickering with ${rival.slaveName}.`;
 			}
 		}
 
diff --git a/src/endWeek/slaveAssignmentReport.js b/src/endWeek/slaveAssignmentReport.js
index 66a3b6bba6a577debc658bf7253958df39121830..ce8b3338e49e772e01e9e3831c606266c68425e9 100644
--- a/src/endWeek/slaveAssignmentReport.js
+++ b/src/endWeek/slaveAssignmentReport.js
@@ -17,10 +17,9 @@ App.EndWeek.slaveAssignmentReport = function() {
 	}
 
 	/** silent pass for any reassignments before generating reports */
-	for (let i = 0; i < V.slaves.length; ++i) {
-		if (V.slaves[i].choosesOwnAssignment === 1) {
-			V.i = i;
-			App.SlaveAssignment.choosesOwnJob(V.slaves[i]);
+	for (const slave of V.slaves) {
+		if (slave.choosesOwnAssignment === 1) {
+			App.SlaveAssignment.choosesOwnJob(slave);
 		}
 	}
 
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index a43f6547e698bf41698d0d67f32345e829d658f0..e31285558d9cf46a3a70d665176be0b36e6a2663 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -2775,39 +2775,31 @@ App.UI.SlaveInteract.custom = (function() {
 				));
 			}
 			if (slave.relationship >= 5) {
-				for (let _i = 0; _i < V.slaves.length; _i++) {
-					if (slave.relationshipTarget === V.slaves[_i].ID) {
-						if (V.slaves[_i].slaveSurname) {
-							if (slave.slaveSurname !== V.slaves[_i].slaveSurname) {
-								result.append(` | `);
-								const wifePronouns = getPronouns(V.slaves[_i]);
-								result.appendChild(App.UI.DOM.link(
-									`Give ${him} ${his} ${wifePronouns.wife}'s surname`,
-									() => {
-										slave.slaveSurname = V.slaves[_i].slaveSurname;
-										updateName(slave, {oldName:oldName, oldSurname:oldSurname});
-									},
-									false,
-								));
-								break;
-							}
-						}
-					}
+				const spouse = getSlave(slave.relationshipTarget);
+				if (spouse.slaveSurname && slave.slaveSurname !== spouse.slaveSurname) {
+					result.append(` | `);
+					const wifePronouns = getPronouns(spouse);
+					result.appendChild(App.UI.DOM.link(
+						`Give ${him} ${his} ${wifePronouns.wife}'s surname`,
+						() => {
+							slave.slaveSurname = spouse.slaveSurname;
+							updateName(slave, {oldName:oldName, oldSurname:oldSurname});
+						},
+						false,
+					));
 				}
 			}
 			if (slave.relationship === -3) {
-				if (V.PC.slaveSurname) {
-					if (slave.slaveSurname !== V.PC.slaveSurname) {
-						result.append(` | `);
-						result.appendChild(App.UI.DOM.link(
-							`Give ${him} your surname`,
-							() => {
-								slave.slaveSurname = V.PC.slaveSurname;
-								updateName(slave, {oldName:oldName, oldSurname:oldSurname});
-							},
-							false,
-						));
-					}
+				if (V.PC.slaveSurname && slave.slaveSurname !== V.PC.slaveSurname) {
+					result.append(` | `);
+					result.appendChild(App.UI.DOM.link(
+						`Give ${him} your surname`,
+						() => {
+							slave.slaveSurname = V.PC.slaveSurname;
+							updateName(slave, {oldName:oldName, oldSurname:oldSurname});
+						},
+						false,
+					));
 				}
 			}
 			if (V.arcologies[0].FSRomanRevivalist !== "unset") {
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index cbb44285758b27dbdd469a6e62134bbb40c9a908..717214e248c9a42344c003659d695e335f5043ff 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -1286,7 +1286,7 @@ globalThis.allBirths = function() {
 				if (curBabies > 0) {
 					r.push(`After sending ${his} reserved ${children} to`);
 					if (cToIncubator > 0 && cToNursery > 0) {
-						r.push(`${V.incubatorName} and V.nurseryName,`);
+						r.push(`${V.incubatorName} and ${V.nurseryName},`);
 					} else if (cToIncubator > 0) {
 						r.push(`${V.incubatorName},`);
 					} else {
diff --git a/src/js/birth/birthDescriptions.js b/src/js/birth/birthDescriptions.js
index a7fa2425b432247fa47ee59731f76e70216285d4..63ff3481642aec462ddcc8b7bfaa446c050caddc 100644
--- a/src/js/birth/birthDescriptions.js
+++ b/src/js/birth/birthDescriptions.js
@@ -233,9 +233,10 @@ globalThis.birthDescription = function(slave) {
 							r.push(`another slave`);
 						}
 						r.push(`has to pull the animal off of ${him} and drag ${him} into the nearest birthing stall. ${He} also shows almost no reaction when ${his} ${children}`);
-						r.push(`begin`);
 						if (slave.pregType <= 1) {
-							r.push(`s`);
+							r.push(`begins`);
+						} else {
+							r.push(`begin`);
 						}
 						r.push(`to come out, or when ${he} is subsequently hosed off before being led back to ${V.farmyardName}.`);
 					} else {
@@ -561,7 +562,7 @@ globalThis.birthDescription = function(slave) {
 			case "live with your Head Girl":
 				({He2, he2, his2} = getPronouns(S.HeadGirl).appendSuffix("2"));
 				if (slave.pregSource === V.HeadGirlID) {
-					r.push(`S.HeadGirl.slaveName makes sure that the mother of ${his2} ${children} is happy and comfortable for the upcoming birth, even if they won't be spending much time with their offspring. ${He2} carefully undresses ${slave.slaveName}, all the while whispering sweet nothings in ${his} ear. ${He} begins to push out ${his} ${babies},`);
+					r.push(`${S.HeadGirl.slaveName} makes sure that the mother of ${his2} ${children} is happy and comfortable for the upcoming birth, even if they won't be spending much time with their offspring. ${He2} carefully undresses ${slave.slaveName}, all the while whispering sweet nothings in ${his} ear. ${He} begins to push out ${his} ${babies},`);
 					if (slave.geneticQuirks.uterineHypersensitivity === 2) {
 						r.push(`convulsing with orgasms in the process,`);
 					}
@@ -1053,11 +1054,7 @@ globalThis.ampBirth = function(slave) { // "AmpBirth"
 					if (slave.pregType === 1) {
 						r.push(`a`);
 					}
-					r.push(`name-card`);
-					if (slave.pregType > 1) {
-						r.push(`s`);
-					}
-					r.push(`affixed to their ${(slave.pregType > 1) ? `blankets` : `blanket`}.`);
+					r.push(`${(slave.pregType > 1) ? `name-cards` : `name-card`} affixed to their ${(slave.pregType > 1) ? `blankets` : `blanket`}.`);
 					if (slave.fetish !== "mindbroken") {
 						r.push(`${He} can't help but feel more devoted to ${his} master after seeing such a touching act. Before you leave, ${slave.slaveName} expresses how cute ${he} found your ${children} and that ${he}'d love to bear more for you.`);
 					}
@@ -4287,9 +4284,11 @@ globalThis.broodmotherBirth = function(slave) {
 						if (random(1, 20) > V.suddenBirth) {
 							r.push(`${He} is helped back to ${his} bed and stripped before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`);
 							if (hasAnyArms(slave)) {
-								r.push(`${He} runs ${his} hand`);
+								r.push(`${He} runs ${his}`);
 								if (hasBothArms(slave)) {
-									r.push(`s`);
+									r.push(`hands`);
+								} else {
+									r.push(`hand`);
 								}
 								r.push(`across the still huge dome of ${his} middle; to`);
 							} else {
@@ -4315,9 +4314,11 @@ globalThis.broodmotherBirth = function(slave) {
 						if (random(1, 20) > V.suddenBirth) {
 							r.push(`${He} returns to ${his} bed and strips before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`);
 							if (hasAnyArms(slave)) {
-								r.push(`${He} runs ${his} hand`);
+								r.push(`${He} runs ${his}`);
 								if (hasBothArms(slave)) {
-									r.push(`s`);
+									r.push(`hands`);
+								} else {
+									r.push(`hand`);
 								}
 								r.push(`across the still huge dome of ${his} middle; to`);
 							} else {
@@ -4962,7 +4963,7 @@ globalThis.broodmotherBirth = function(slave) {
 								r.push(clothingBirth(slave));
 								r.push(`${He} struggles to reach ${firstText} child around ${his} still gravid figure before bringing it to ${his} breast and resuming ${his} wait`);
 								if (S.Concubine) {
-									r.push(`S.Concubine.slaveName furiously orders ${his} child removed and ${his} still very pregnant ass thoroughly cleaned before your return.`);
+									r.push(`${S.Concubine.slaveName} furiously orders ${his} child removed and ${his} still very pregnant ass thoroughly cleaned before your return.`);
 								}
 							}
 						}
@@ -5954,9 +5955,11 @@ globalThis.broodmotherBirth = function(slave) {
 						if (random(1, 20) > V.suddenBirth) {
 							r.push(`${He} is helped back to ${his} bed and stripped before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`);
 							if (hasAnyArms(slave)) {
-								r.push(`${He} runs ${his} hand`);
+								r.push(`${He} runs ${his}`);
 								if (hasBothArms(slave)) {
-									r.push(`s`);
+									r.push(`hands`);
+								} else {
+									r.push(`hand`);
 								}
 								r.push(`across the still huge dome of ${his} middle; to`);
 							} else {
@@ -5982,9 +5985,11 @@ globalThis.broodmotherBirth = function(slave) {
 						if (random(1, 20) > V.suddenBirth) {
 							r.push(`${He} returns to ${his} bed and strips before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`);
 							if (hasAnyArms(slave)) {
-								r.push(`${He} runs ${his} hand`);
+								r.push(`${He} runs ${his}`);
 								if (hasBothArms(slave)) {
-									r.push(`s`);
+									r.push(`hands`);
+								} else {
+									r.push(`hand`);
 								}
 								r.push(`across the still huge dome of ${his} middle; to`);
 							} else {
@@ -6014,9 +6019,11 @@ globalThis.broodmotherBirth = function(slave) {
 				if (random(1, 20) > V.suddenBirth) {
 					r.push(`${He} is helped back to ${his} bed and stripped before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`);
 					if (hasAnyArms(slave)) {
-						r.push(`${He} runs ${his} hand`);
+						r.push(`${He} runs ${his}`);
 						if (hasBothArms(slave)) {
-							r.push(`s`);
+							r.push(`hands`);
+						} else {
+							r.push(`hand`);
 						}
 						r.push(`across the still huge dome of ${his} middle; to`);
 					} else {
@@ -6064,9 +6071,11 @@ globalThis.broodmotherBirth = function(slave) {
 				if (random(1, 20) > V.suddenBirth) {
 					r.push(`${He} returns to ${his} bed and strips before slipping into it. Instinctively, ${he} begins to push out ${firstText} baby. ${His} child is promptly taken and ${he} is encouraged to keep resting.`);
 					if (hasAnyArms(slave)) {
-						r.push(`${He} runs ${his} hand`);
+						r.push(`${He} runs ${his}`);
 						if (hasBothArms(slave)) {
-							r.push(`s`);
+							r.push(`hands`);
+						} else {
+							r.push(`hand`);
 						}
 						r.push(`across the still huge dome of ${his} middle; to`);
 					} else {
@@ -6509,8 +6518,7 @@ globalThis.hyperBroodmotherBirth = function(slave) {
 							r.push(clothingBirth(slave));
 							r.push(`Resting in your bed, ${he} draws ${his} child to ${his} breast and resumes waiting for you.`);
 							if (S.Concubine) {
-								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children}`);
-								r.push(`removed, and ${him} forcefully ejected from the bed so it can be cleaned before your return.`);
+								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children} removed, and ${him} forcefully ejected from the bed so it can be cleaned before your return.`);
 							}
 						} else if (V.masterSuiteUpgradeLuxury === 2) {
 							r.push(`While being the bottom of the master suite's fuckpit, ${slave.slaveName}'s body begins to birth another of ${his} brood. While ${he} doesn't stop having sex, the fucktoys using ${him} do and attempt to drag ${him} from the pit to give birth. Instinctively ${he} begins to push out ${his} baby, indifferent to who may be watching ${his} naked crotch. The fucktoys give up their efforts to haul ${his} bloated form out of the pit and allow ${him} to settle at the bottom. Without a second thought about ${his} child, ${he} attempts to coax the other slaves back into an orgy.`);
@@ -6519,8 +6527,7 @@ globalThis.hyperBroodmotherBirth = function(slave) {
 							r.push(clothingBirth(slave));
 							r.push(`Resting on ${his} belly, ${he} draws ${his} child to ${his} breast and resumes waiting for you.`);
 							if (S.Concubine) {
-								r.push(`S.Concubine.slaveName furiously orders ${his} ${children}`);
-								r.push(`removed, and ${him} thoroughly cleaned before your return.`);
+								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children} removed, and ${him} thoroughly cleaned before your return.`);
 							}
 						}
 					} else {
@@ -6546,8 +6553,7 @@ globalThis.hyperBroodmotherBirth = function(slave) {
 							r.push(clothingBirth(slave));
 							r.push(`Resting in your bed, ${he} draws ${his} child to ${his} breast and resumes waiting for you.`);
 							if (S.Concubine) {
-								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children}`);
-								r.push(`removed, and ${him} forcefully ejected from the bed so it can be cleaned before your return.`);
+								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children} removed, and ${him} forcefully ejected from the bed so it can be cleaned before your return.`);
 							}
 						} else if (V.masterSuiteUpgradeLuxury === 2) {
 							r.push(`While being the bottom of the master suite's fuckpit, ${slave.slaveName}'s body begins to birth another of ${his} brood. While ${he} doesn't stop having sex, the fucktoys using ${him} do and attempt to drag ${him} from the pit to give birth. Instinctively ${he} begins to push out ${his} baby, indifferent to who may be watching ${his} naked crotch. The fucktoys give up their efforts to haul ${his} bloated form out of the pit and allow ${him} to settle a the bottom. Without a second thought about ${his} child, ${he} attempts to coax the other slaves back into an orgy.`);
@@ -6556,8 +6562,7 @@ globalThis.hyperBroodmotherBirth = function(slave) {
 							r.push(clothingBirth(slave));
 							r.push(`Resting on ${his} belly, ${he} draws ${his} child to ${his} breast and resumes waiting for you.`);
 							if (S.Concubine) {
-								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children}`);
-								r.push(`removed, and ${him} thoroughly cleaned before your return.`);
+								r.push(`${S.Concubine.slaveName} furiously orders ${his} ${children} removed, and ${him} thoroughly cleaned before your return.`);
 							}
 						}
 					} else {
diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js
index 0eb1a14a2c55d57e95d09495c429165e85a2b28e..85c410ffd4021940224388e8e780f7cf5a8c1dfa 100644
--- a/src/js/sexActsJS.js
+++ b/src/js/sexActsJS.js
@@ -26,8 +26,8 @@ globalThis.VCheck = (function() {
 	}
 
 	/** call as VCheck.Anal()
-	 * @param {number} [times=1] is how many times to increment the anal counts.
 	 * @param {App.Entity.SlaveState} slave
+	 * @param {number} [times=1] is how many times to increment the anal counts.
 	 * @returns {string}
 	 */
 	function AnalVCheck(slave, times = 1) {
@@ -378,8 +378,6 @@ globalThis.SimpleSexAct = (function() {
 	function SimpleSlaveSlaveFucking(subSlave, domSlave, fuckCount = 1) {
 		let fuckTarget = 0;
 		let r = "";
-		let slave1ID;
-		let slave2ID;
 		let sex = "";
 
 		for (let j = 0; j < fuckCount; j++) {
@@ -387,32 +385,8 @@ globalThis.SimpleSexAct = (function() {
 			fuckTarget = jsRandom(1, 100);
 			if (subSlave.nipples === "fuckable" && canPenetrate(domSlave) && fuckTarget > 80) {
 				sex = "mammary";
-				if (passage() === "SA serve your other slaves") {
-					if (subSlave.ID === V.slaves[V.i].ID) {
-						slave1ID = V.slaves[V.i].ID;
-						slave2ID = domSlave.ID;
-					} else {
-						slave1ID = subSlave.ID;
-						slave2ID = V.slaves[V.i].ID;
-					}
-				} else {
-					slave1ID = subSlave.ID;
-					slave2ID = domSlave.ID;
-				}
 			} else if (canDoVaginal(subSlave) && subSlave.vagina > 0 && canPenetrate(domSlave) && fuckTarget > 33) {
 				sex = "vaginal";
-				if (passage() === "SA serve your other slaves") {
-					if (subSlave.ID === V.slaves[V.i].ID) {
-						slave1ID = V.slaves[V.i].ID;
-						slave2ID = domSlave.ID;
-					} else {
-						slave1ID = subSlave.ID;
-						slave2ID = V.slaves[V.i].ID;
-					}
-				} else {
-					slave1ID = subSlave.ID;
-					slave2ID = domSlave.ID;
-				}
 				if (canImpreg(subSlave, domSlave)) {
 					r += knockMeUp(subSlave, 3, 0, domSlave.ID, true);
 				}
@@ -422,24 +396,10 @@ globalThis.SimpleSexAct = (function() {
 				if (canImpreg(subSlave, domSlave) && subSlave.mpreg === 1) {
 					r += knockMeUp(subSlave, 3, 1, domSlave.ID, true);
 				}
-				if (passage() === "SA serve your other slaves") {
-					if (subSlave.ID === V.slaves[V.i].ID) {
-						slave1ID = V.slaves[V.i].ID;
-						slave2ID = domSlave.ID;
-					} else {
-						slave1ID = subSlave.ID;
-						slave2ID = V.slaves[V.i].ID;
-					}
-				} else {
-					slave1ID = subSlave.ID;
-					slave2ID = domSlave.ID;
-				}
 			} else {
-				actX(subSlave, "oral");
-			}
-			if (typeof slave1ID === Number && typeof slave2ID === Number) {
-				seX(V.slaves[slave1ID], sex, V.slaves[slave2ID], "penetrative");
+				sex = "oral";
 			}
+			seX(subSlave, sex, domSlave, "penetrative");
 		}
 		return r;
 	}