diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 7410a16019ab8dd868113fb115654934f8ee94d5..c71ca5ca4f1ddbb02c006f70b0f95a03c33db285 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -6596,6 +6596,112 @@ window.properTitle = function properTitle() {
 	else return "Ma'am";
 };
 
+window.newSlave = function newSlave(slave) {
+	const V = State.variables;
+
+	switch (slave.eyeColor) {
+		case "blind blue":
+			slave.origEye = "deep blue";
+			break;
+		case "milky white":
+		case "implant":
+			slave.origEye = jsEither(["blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue"]);
+			break;
+		default:
+			slave.origEye = slave.eyeColor;
+			break;
+	}
+	slave.origHColor = slave.hColor;
+	slave.underArmHColor = slave.hColor;
+	slave.pubicHColor = slave.hColor;
+	slave.origSkin = slave.skin;
+
+	if (V.surnamesForbidden === 1) {
+		slave.slaveSurname = 0;
+	}
+
+	if (slave.preg > 0) {
+		slave.pregWeek = slave.preg;
+	} else {
+		slave.pregWeek = 0;
+	}
+
+	if (V.familyTesting === 1) {
+		slave.sisters = 0;
+		slave.daughters = 0;
+		if (slave.mother === -1 || slave.father === -1) {
+			V.PC.daughters += 1;
+		}
+		if (areSisters(V.PC, slave) > 0) {
+			V.PC.sisters += 1;
+		}
+		for (let k = 0; k < V.slaves.length; k++) {
+			if (V.slaves[k].mother === slave.ID || V.slaves[k].father === slave.ID) {
+				slave.daughters++;
+			}
+			if (slave.mother === V.slaves[k].ID || slave.father === V.slaves[k].ID) {
+				V.slaves[k].daughters++;
+			}
+			if (areSisters(V.slaves[k], slave) > 0) {
+				slave.sisters++;
+				V.slaves[k].sisters++;
+			}
+		}
+	}
+
+	if (slave.dick > 0 &&
+		slave.balls > 0 &&
+		slave.devotion <= 50 &&
+		(slave.fetish !== "buttslut" || slave.fetishKnown !== 1) &&
+		slave.sexualFlaw !== "hates women") {
+		V.REFeminizationCheckinIDs.push(slave.ID);
+	}
+	if (slave.actualAge > 35 && slave.face < 40 && slave.analSkill <= 30) {
+		V.REMILFCheckinIDs.push(slave.ID);
+	}
+	if (slave.attrXY <= 60 && slave.attrXX > 60 ) {
+		V.REOrientationCheckinIDs.push(slave.ID);
+	}
+	if (slave.face < -10) {
+		V.REUglyCheckinIDs.push(slave.ID);
+	}
+	if (slave.anus < 2) {
+		V.REButtholeCheckinIDs.push(slave.ID);
+	}
+	if (slave.boobs < 800) {
+		V.REReductionCheckinIDs.push(slave.ID);
+	}
+
+	if (slave.fuckdoll > 0) {
+		slave.pronoun = "it", slave.possessivePronoun = "its", slave.possessive = "its", slave.object = "it", slave.objectReflexive = "itself", slave.noun = "toy";
+	} else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) {
+		slave.pronoun = "he", slave.possessivePronoun = "his", slave.possessive = "his", slave.object = "him", slave.objectReflexive = "himself", slave.noun = "boy";
+	} else {
+		slave.pronoun = "she", slave.possessivePronoun = "hers", slave.possessive = "her", slave.object = "her", slave.objectReflexive = "herself", slave.noun = "girl";
+	}
+
+	SetBellySize(slave);
+	addSlave(slave);
+	
+	if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) {
+		V.genePool.push(slave);
+	} else {
+		if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) {
+			V.genePool.push(slave);
+		}
+	}
+
+	/* add to facilities array if needed */
+	if (slave.assignment !== "rest") {
+		assignJob(slave, slave.assignment);
+	}
+
+	/** do not run the Rules Assistant before adding the new slave to the slaves list! **/
+	if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) {
+		DefaultRules(slave);
+	}
+};
+
 window.addSlave = function addSlave(slave) {
 	State.variables.slaves.push(slave);
 	State.variables.slaveIndices[slave.ID] = State.variables.slaves.length - 1;
@@ -7620,6 +7726,59 @@ window.SlaveSort = function SlaveSort(slaves, main=false) {
 	}
 };
 
+window.MenialPopCap = function MenialPopCap () {
+	const V = State.variables;
+	let popCap = 500;
+	let r = "";
+
+	for (let mwi = 20; mwi < V.sectors.length; mwi++) {
+		if (V.sectors[mwi].type === "Pens") {
+			popCap += 500;
+		}
+	}
+	let overMenialCap = V.helots + V.fuckdolls + V.menialBioreactors - popCap;
+	if (overMenialCap > 0) {
+		let price = menialSlaveCost();
+		if (V.helots > 0) {
+			if (V.helots > overMenialCap) {
+				V.cash += overMenialCap * price;
+				V.menialDemandFactor -= overMenialCap;
+				V.helots -= overMenialCap;
+				overMenialCap = 0;
+				r += "You don't have enough room for all your menials and are obliged to sell some.";
+			} else {
+				V.cash += V.helots * price;
+				V.menialDemandFactor -= V.helots;
+				overMenialCap -= V.helots;
+				V.helots = 0;
+				r += "You don't have enough room for your menials and are obliged to sell them.";
+			}
+		}
+		if (overMenialCap > 0 && V.fuckdolls > 0) {
+			if (V.fuckdolls > overMenialCap) {
+				V.cash += overMenialCap * (price * 2);
+				V.menialDemandFactor -= overMenialCap;
+				V.fuckdolls -= overMenialCap;
+				overMenialCap = 0;
+				r += "You don't have enough room for all your fuckdolls and are obliged to sell some.";
+			} else {
+				V.cash += V.fuckdolls * (price * 2);
+				V.menialDemandFactor -= V.fuckdolls;
+				overMenialCap -= V.fuckdolls;
+				V.fuckdolls = 0;
+				r += "You don't have enough room for your fuckdolls and are obliged to sell them.";
+			}
+		}
+		if (overMenialCap > 0 && V.menialBioreactors > 0) {
+			V.cash += overMenialCap * (price - 100);
+			V.menialDemandFactor -= overMenialCap;
+			V.menialBioreactors -= overMenialCap;
+			r += "You don't have enough room for all your menial bioreactors and are obliged to sell some.";
+		}
+	}
+	return r;
+};
+
 /*:: Summary Widgets JS [script]*/
 
 window.SlaveStatClamp = function SlaveStatClamp(slave) {
diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw
index ba68110ef72d2289859ef1fee5a5bf158567a28d..c621fb3f53857f4b231f3651d05dfae0c45330c6 100644
--- a/src/SecExp/secBarracks.tw
+++ b/src/SecExp/secBarracks.tw
@@ -180,7 +180,7 @@ __Security Drones__
 __Slaves__
 <br>/* slaves */
 You are free to organize your menial slaves into fighting units. Currently you have <<print commaNum($helots)>> slaves available, while <<print commaNum($slavesEmployedManpower)>> are already employed as soldiers. During all your battles you lost a total of <<print commaNum($slavesTotalCasualties)>>.
-<<silently>><<MenialPopCap>><</silently>>
+<<silently>><<= MenialPopCap()>><</silently>>
 <<set _menialPrice = menialSlaveCost()>>
 <<if $cash > _menialPrice>>
 <<if $PopCap > $helots+$fuckdolls+$menialBioreactors>>
diff --git a/src/SecExp/secExpOptions.tw b/src/SecExp/secExpOptions.tw
index 4ce4be5c242ee104fd86b749cff3ebd9c66cddef..1e0eae270ceedb2af9fe5090270dde3a50151ad2 100644
--- a/src/SecExp/secExpOptions.tw
+++ b/src/SecExp/secExpOptions.tw
@@ -409,7 +409,7 @@ __Rebellions buildup speed__:
 <br>
 
 __Debug/cheats:__
-<<silently>><<MenialPopCap>><</silently>>
+<<silently>><<= MenialPopCap()>><</silently>>
 <br>
 <<link "Set loyalty high" "secExpOptions">>
 	<<for _i = 0; _i < $militiaUnits.length; _i++>>
diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw
index 78cfca082308ed3b0f03860860248433c513817c..40d44e15172e84ffb1cd3a35e3e69dd31291700c 100644
--- a/src/SecExp/securityHQ.tw
+++ b/src/SecExp/securityHQ.tw
@@ -21,7 +21,7 @@ You have <span id="secHel"><<print $secHelots>></span> slaves working in the HQ.
 <<else>>
 	You have enough slaves to man all security systems.
 <</if>>
-<<silently>><<MenialPopCap>><</silently>>
+<<silently>><<= MenialPopCap()>><</silently>>
 <<set _menialPrice = menialSlaveCost()>>
 <<if $cash > _menialPrice>>
 <<if $PopCap > $helots+$fuckdolls+$menialBioreactors || $helots+$fuckdolls+$menialBioreactors == 0>>
diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw
index 87a8c7b51ecef4abdbe6f744f97a14636c02beec..339b434aa738fab80187fa0a79fb8eeab57fc03d 100644
--- a/src/SecExp/weaponsManufacturing.tw
+++ b/src/SecExp/weaponsManufacturing.tw
@@ -32,7 +32,7 @@ many small old world nations as the advanced technology that free cities have av
 <<if $weapHelots> 0>>Assigned here are $weapHelots slaves working to produce as much equipment as possible<<else>>There are no assigned menial slaves here. The spaces is manned exclusively by low rank citizens.<</if>>
 You own <<print commaNum($helots)>> free menial slaves. This manufacturing complex can house 500 at most, with <<print 500 - $weapHelots>> free slots.
 <br>
-<<silently>><<MenialPopCap>><</silently>>
+<<silently>><<= MenialPopCap()>><</silently>>
 <<set _menialPrice = menialSlaveCost()>>
 <<if $cash > _menialPrice>>
 <<if $PopCap > $helots+$fuckdolls+$menialBioreactors || $helots+$fuckdolls+$menialBioreactors == 0>>
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index 172de1fc76c7899782654ae068b16488b93fa9c0..76303be830a69013e8af655f18fe2034769f3463 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -236,6 +236,112 @@ window.properTitle = function properTitle() {
 	else return "Ma'am";
 };
 
+window.newSlave = function newSlave(slave) {
+	const V = State.variables;
+
+	switch (slave.eyeColor) {
+		case "blind blue":
+			slave.origEye = "deep blue";
+			break;
+		case "milky white":
+		case "implant":
+			slave.origEye = jsEither(["blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue"]);
+			break;
+		default:
+			slave.origEye = slave.eyeColor;
+			break;
+	}
+	slave.origHColor = slave.hColor;
+	slave.underArmHColor = slave.hColor;
+	slave.pubicHColor = slave.hColor;
+	slave.origSkin = slave.skin;
+
+	if (V.surnamesForbidden === 1) {
+		slave.slaveSurname = 0;
+	}
+
+	if (slave.preg > 0) {
+		slave.pregWeek = slave.preg;
+	} else {
+		slave.pregWeek = 0;
+	}
+
+	if (V.familyTesting === 1) {
+		slave.sisters = 0;
+		slave.daughters = 0;
+		if (slave.mother === -1 || slave.father === -1) {
+			V.PC.daughters += 1;
+		}
+		if (areSisters(V.PC, slave) > 0) {
+			V.PC.sisters += 1;
+		}
+		for (let k = 0; k < V.slaves.length; k++) {
+			if (V.slaves[k].mother === slave.ID || V.slaves[k].father === slave.ID) {
+				slave.daughters++;
+			}
+			if (slave.mother === V.slaves[k].ID || slave.father === V.slaves[k].ID) {
+				V.slaves[k].daughters++;
+			}
+			if (areSisters(V.slaves[k], slave) > 0) {
+				slave.sisters++;
+				V.slaves[k].sisters++;
+			}
+		}
+	}
+
+	if (slave.dick > 0 &&
+		slave.balls > 0 &&
+		slave.devotion <= 50 &&
+		(slave.fetish !== "buttslut" || slave.fetishKnown !== 1) &&
+		slave.sexualFlaw !== "hates women") {
+		V.REFeminizationCheckinIDs.push(slave.ID);
+	}
+	if (slave.actualAge > 35 && slave.face < 40 && slave.analSkill <= 30) {
+		V.REMILFCheckinIDs.push(slave.ID);
+	}
+	if (slave.attrXY <= 60 && slave.attrXX > 60 ) {
+		V.REOrientationCheckinIDs.push(slave.ID);
+	}
+	if (slave.face < -10) {
+		V.REUglyCheckinIDs.push(slave.ID);
+	}
+	if (slave.anus < 2) {
+		V.REButtholeCheckinIDs.push(slave.ID);
+	}
+	if (slave.boobs < 800) {
+		V.REReductionCheckinIDs.push(slave.ID);
+	}
+
+	if (slave.fuckdoll > 0) {
+		slave.pronoun = "it", slave.possessivePronoun = "its", slave.possessive = "its", slave.object = "it", slave.objectReflexive = "itself", slave.noun = "toy";
+	} else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) {
+		slave.pronoun = "he", slave.possessivePronoun = "his", slave.possessive = "his", slave.object = "him", slave.objectReflexive = "himself", slave.noun = "boy";
+	} else {
+		slave.pronoun = "she", slave.possessivePronoun = "hers", slave.possessive = "her", slave.object = "her", slave.objectReflexive = "herself", slave.noun = "girl";
+	}
+
+	SetBellySize(slave);
+	addSlave(slave);
+	
+	if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) {
+		V.genePool.push(slave);
+	} else {
+		if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) {
+			V.genePool.push(slave);
+		}
+	}
+
+	/* add to facilities array if needed */
+	if (slave.assignment !== "rest") {
+		assignJob(slave, slave.assignment);
+	}
+
+	/** do not run the Rules Assistant before adding the new slave to the slaves list! **/
+	if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) {
+		DefaultRules(slave);
+	}
+};
+
 window.addSlave = function addSlave(slave) {
 	State.variables.slaves.push(slave);
 	State.variables.slaveIndices[slave.ID] = State.variables.slaves.length - 1;
@@ -1259,3 +1365,56 @@ window.SlaveSort = function SlaveSort(slaves, main=false) {
 		slaves.sort((a, b) => V.slaveIndices[a] - V.slaveIndices[b]);
 	}
 };
+
+window.MenialPopCap = function MenialPopCap () {
+	const V = State.variables;
+	let popCap = 500;
+	let r = "";
+
+	for (let mwi = 20; mwi < V.sectors.length; mwi++) {
+		if (V.sectors[mwi].type === "Pens") {
+			popCap += 500;
+		}
+	}
+	let overMenialCap = V.helots + V.fuckdolls + V.menialBioreactors - popCap;
+	if (overMenialCap > 0) {
+		let price = menialSlaveCost();
+		if (V.helots > 0) {
+			if (V.helots > overMenialCap) {
+				V.cash += overMenialCap * price;
+				V.menialDemandFactor -= overMenialCap;
+				V.helots -= overMenialCap;
+				overMenialCap = 0;
+				r += "You don't have enough room for all your menials and are obliged to sell some.";
+			} else {
+				V.cash += V.helots * price;
+				V.menialDemandFactor -= V.helots;
+				overMenialCap -= V.helots;
+				V.helots = 0;
+				r += "You don't have enough room for your menials and are obliged to sell them.";
+			}
+		}
+		if (overMenialCap > 0 && V.fuckdolls > 0) {
+			if (V.fuckdolls > overMenialCap) {
+				V.cash += overMenialCap * (price * 2);
+				V.menialDemandFactor -= overMenialCap;
+				V.fuckdolls -= overMenialCap;
+				overMenialCap = 0;
+				r += "You don't have enough room for all your fuckdolls and are obliged to sell some.";
+			} else {
+				V.cash += V.fuckdolls * (price * 2);
+				V.menialDemandFactor -= V.fuckdolls;
+				overMenialCap -= V.fuckdolls;
+				V.fuckdolls = 0;
+				r += "You don't have enough room for your fuckdolls and are obliged to sell them.";
+			}
+		}
+		if (overMenialCap > 0 && V.menialBioreactors > 0) {
+			V.cash += overMenialCap * (price - 100);
+			V.menialDemandFactor -= overMenialCap;
+			V.menialBioreactors -= overMenialCap;
+			r += "You don't have enough room for all your menial bioreactors and are obliged to sell some.";
+		}
+	}
+	return r;
+};
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index aee0913f8daddb17ed2dd3630f9f1281a4bbf654..8b6568038493540edb409fb06c59c5ab57d9cbc8 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -779,7 +779,7 @@ The Hippolyta Academy have a <<if $HA.schoolProsperity > 4>>very prosperous<<els
 <</if>>
 
 <<if $marketAssistantLimit != 0>>
-<<silently>><<MenialPopCap>><</silently>>
+<<silently>><<= MenialPopCap()>><</silently>>
 <<set $seed = menialSlaveCost()>>
 <br>
 Your ''business assistant'' manages the menial slave market.
@@ -814,5 +814,5 @@ Your ''business assistant'' manages the menial slave market.
 <<else>>
 	Prices are average, so <<if $assistant == 0>>it<<else>>she<</if>> does not make any significant moves.
 <</if>>
-<<silently>><<MenialPopCap>><</silently>>
+<<silently>><<= MenialPopCap()>><</silently>>
 <</if>>
diff --git a/src/uncategorized/buySlaves.tw b/src/uncategorized/buySlaves.tw
index 11536381a54c195e746e650cc28bfc65cb4a0cad..7262d941600aab7dc7ef7eb9a926f072975bc2cb 100644
--- a/src/uncategorized/buySlaves.tw
+++ b/src/uncategorized/buySlaves.tw
@@ -272,7 +272,7 @@ __Sex Slave Purchase Options__
 __Menial Slaves__
 
 <br>
-<<MenialPopCap>>
+<<= MenialPopCap()>>
 The parts of your arcology you own can house a total of $PopCap menial slaves.
 
 <<set _menialPrice = menialSlaveCost()>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index db16b0d2803e0632c773c57b7558c452990f455d..af245756fe09a2d9692ee9035af692e3d739d132 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -1060,52 +1060,6 @@
 
 <</widget>>
 
-/%
- Call as <<MenialPopCap>>
- Applies the menial popcap without asking.
-%/
-<<widget "MenialPopCap">>
-
-<<set $PopCap = 500>>
-<<for _mwi = 20; _mwi < $sectors.length; _mwi++>>
-	<<if $sectors[_mwi].type == "Pens">>
-		<<set $PopCap += 500>>
-	<</if>>
-<</for>>
-<<set _OverMenialCap = ($helots+$fuckdolls+$menialBioreactors)-$PopCap>>
-<<if _OverMenialCap > 0>>
-	<<set _Price = menialSlaveCost()>>
-	<<if $helots > 0>>
-		<<if $helots > _OverMenialCap>>
-			<<set $cash += _OverMenialCap*_Price, $menialDemandFactor -= _OverMenialCap,
-			$helots -= _OverMenialCap, _OverMenialCap = 0>>
-			You don't have enough room for all your menials and are obliged to sell some.
-		<<else>>
-			<<set $cash += $helots*_Price, $menialDemandFactor -= $helots,
-			_OverMenialCap -= $helots, $helots = 0>>
-			You don't have enough room for your menials and are obliged to sell them.
-		<</if>>
-	<</if>>
-	<<if (_OverMenialCap > 0) && ($fuckdolls > 0)>>
-		<<if $fuckdolls > _OverMenialCap>>
-			<<set $cash += _OverMenialCap*(_Price*2), $menialDemandFactor -= _OverMenialCap,
-			$fuckdolls -= _OverMenialCap, _OverMenialCap = 0>>
-			You don't have enough room for all your fuckdolls and are obliged to sell some.
-		<<else>>
-			<<set $cash += $fuckdolls*(_Price*2), $menialDemandFactor -= $fuckdolls,
-			_OverMenialCap -= $fuckdolls, $fuckdolls = 0>>
-			You don't have enough room for your fuckdolls and are obliged to sell them.
-		<</if>>
-	<</if>>
-	<<if (_OverMenialCap > 0) && ($menialBioreactors > 0)>>
-		<<set $cash += _OverMenialCap*(_Price-100), $menialDemandFactor -= _OverMenialCap,
-		$menialBioreactors -= _OverMenialCap>>
-		You don't have enough room for all your menial bioreactors and are obliged to sell some.
-	<</if>>
-<</if>>
-
-<</widget>>
-
 /%
  Call as <<OralSkillIncrease>>
  $args[0]: Slave.
@@ -1292,119 +1246,9 @@
  $args[0]: Slave.
 %/
 <<widget "AddSlave">>
-
-<<switch $args[0].eyeColor>>
-<<case "blind blue">><<set $args[0].origEye = "deep blue">>
-<<case "milky white" "implant">><<set $args[0].origEye = either("blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue")>>
-<<default>><<set $args[0].origEye = $args[0].eyeColor>>
-<</switch>>
-<<set $args[0].origHColor = $args[0].hColor>>
-<<set $args[0].underArmHColor = $args[0].hColor>>
-<<set $args[0].pubicHColor = $args[0].hColor>>
-<<set $args[0].origSkin = $args[0].skin>>
-
-<<if $surnamesForbidden == 1>>
-	<<set $args[0].slaveSurname = 0>>
-<</if>>
-
-<<if $args[0].preg > 0>>
-	<<set $args[0].pregWeek = $args[0].preg>>
-<<else>>
-	<<set $args[0].pregWeek = 0>>
-<</if>>
-
-<<if $familyTesting == 1>>
-	<<set $args[0].sisters = 0>>
-	<<set $args[0].daughters = 0>>
-	<<if $args[0].mother == -1 || $args[0].father == -1>>
-		<<set $PC.daughters += 1>>
-	<</if>>
-	<<if areSisters($PC, $args[0]) > 0>>
-		<<set $PC.sisters += 1>>
-	<</if>>
-	<<for _k = 0; _k < $slaves.length; _k++>>
-		<<if $slaves[_k].mother == $args[0].ID || $slaves[_k].father == $args[0].ID>>
-			<<set $args[0].daughters += 1>>
-		<</if>>
-		<<if $args[0].mother == $slaves[_k].ID || $args[0].father == $slaves[_k].ID>>
-			<<set $slaves[_k].daughters += 1>>
-		<</if>>
-		<<if areSisters($slaves[_k], $args[0]) > 0>>
-			<<set $args[0].sisters += 1>>
-			<<set $slaves[_k].sisters += 1>>
-		<</if>>
-	<</for>>
-<</if>>
-
-<<if $args[0].dick > 0>>
-	<<if $args[0].balls > 0>>
-	<<if $args[0].devotion <= 50>>
-	<<if ($args[0].fetish != "buttslut") || ($args[0].fetishKnown != 1)>>
-	<<if $args[0].sexualFlaw != "hates women">>
-	<<set $REFeminizationCheckinIDs.push($args[0].ID)>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-<</if>>
-<<if $args[0].actualAge > 35>>
-	<<if $args[0].face < 40>>
-	<<if $args[0].analSkill <= 30>>
-	<<set $REMILFCheckinIDs.push($args[0].ID)>>
-	<</if>>
-	<</if>>
-<</if>>
-<<if $args[0].attrXY <= 60>>
-	<<if $args[0].attrXX > 60>>
-		<<set $REOrientationCheckinIDs.push($args[0].ID)>>
-	<</if>>
-<</if>>
-<<if $args[0].face < -10>>
-	<<set $REUglyCheckinIDs.push($args[0].ID)>>
-<</if>>
-<<if $args[0].anus < 2>>
-	<<set $REButtholeCheckinIDs.push($args[0].ID)>>
-<</if>>
-<<if $args[0].boobs < 800>>
-	<<set $REReductionCheckinIDs.push($args[0].ID)>>
-<</if>>
-
-<<if $args[0].fuckdoll > 0>>
-	<<set $args[0].pronoun = "it", $args[0].possessivePronoun = "its", $args[0].possessive = "its", $args[0].object = "it", $args[0].objectReflexive = "itself", $args[0].noun = "toy">>
-<<elseif $args[0].dick > 0 && $args[0].vagina == -1 && $diversePronouns == 1>>
-	<<set $args[0].pronoun = "he", $args[0].possessivePronoun = "his", $args[0].possessive = "his", $args[0].object = "him", $args[0].objectReflexive = "himself", $args[0].noun = "boy">>
-<<else>>
-	<<set $args[0].pronoun = "she", $args[0].possessivePronoun = "hers", $args[0].possessive = "her", $args[0].object = "her", $args[0].objectReflexive = "herself", $args[0].noun = "girl">>
-<</if>>
-
-<<run SetBellySize($args[0])>>
-
-<<run addSlave($args[0])>>
-<<if $args[0].origin != "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && $args[0].ID != $boomerangSlave.ID>>
-	<<set $genePool.push($args[0])>>
-<<else>>
-	<<set _t = $genePool.findIndex(function(s) { return s.ID == $args[0].ID; })>>
-	<<if _t == -1>> /* traitor or boomerang somehow not found */
-		<<set $genePool.push($args[0])>>
-	<</if>>
-<</if>>
-
-/* add to facilities array if needed */
-<<if $args[0].assignment != "rest">>
-	<<= assignJob($args[0], $args[0].assignment)>>
-<</if>>
-
-/** do not run the Rules Assistant before adding the new slave to the slaves list! **/
-<<if $ui != "start">>
-<<if $universalRulesNewSlavesRA == 1>>
-<<if $rulesAssistantAuto != 0>>
-	<<silently>>
-	<<run DefaultRules($args[0])>>
-	<</silently>>
-<</if>>
-<</if>>
-<</if>>
-
+<<silently>> /* making absolutely sure the call to DefaultRules() doesn't print anything */
+	<<run newSlave($args[0])>>
+<</silently>>
 <</widget>>
 
 <<widget "Master">><<if def $args[0]>><<run Enunciate($args[0])>><<elseif ndef $titleEnunciate>><<run Enunciate($activeSlave)>><</if>>$titleEnunciate<</widget>>