diff --git a/src/js/heroCreator.js b/src/js/heroCreator.js
index 47ba071f6bb981fd42a31cebded8b5bd8dc3785d..99158605d21f28614cc26759fce30f2f4b378384 100644
--- a/src/js/heroCreator.js
+++ b/src/js/heroCreator.js
@@ -1,7 +1,7 @@
 /** creates an array from App.Data.HeroSlaves that will be similar to the old $heroSlaves.
  * @returns {Array}
  */
-App.Utils.buildHeroArray = function() {
+App.Utils.buildHeroArray = function () {
 	let array;
 	if (V.seeExtreme === 1) {
 		array = App.Data.HeroSlaves.D.concat(
@@ -44,7 +44,7 @@ App.Utils.buildHeroArray = function() {
  * @param {App.Entity.SlaveState} heroSlave
  * @returns {App.Entity.SlaveState}
  */
-App.Utils.getHeroSlave = function(heroSlave) {
+App.Utils.getHeroSlave = function (heroSlave) {
 	function repairLimbs(slave) {
 		if (slave.hasOwnProperty("removedLimbs")) {
 			if (slave.removedLimbs[0] === 1) {
@@ -103,6 +103,7 @@ App.Utils.getHeroSlave = function(heroSlave) {
 	if (heroSlave.geneMods.rapidCellGrowth === undefined) {
 		heroSlave.geneMods.rapidCellGrowth = 0;
 	}
+
 	// WombInit(heroSlave);
 	const newSlave = BaseSlave();
 	deepAssign(newSlave, heroSlave);
@@ -111,6 +112,72 @@ App.Utils.getHeroSlave = function(heroSlave) {
 	newSlave.albinismOverride = albinismOverride;
 	repairLimbs(newSlave);
 	generatePuberty(newSlave);
+	newSlave.weekAcquired = V.week;
+	if (!newSlave.pubicHColor) {
+		newSlave.pubicHColor = newSlave.hColor;
+	}
+	if (!newSlave.underArmHColor) {
+		newSlave.underArmHColor = newSlave.hColor;
+	}
+	if (newSlave.override_Race !== 1) {
+		newSlave.origRace = newSlave.race;
+	}
+	if (newSlave.override_Eye_Color !== 1) {
+		resetEyeColor(newSlave, "both");
+	}
+	if (newSlave.override_H_Color !== 1) {
+		newSlave.hColor = getGeneticHairColor(newSlave);
+	}
+	if (newSlave.override_Arm_H_Color !== 1) {
+		newSlave.underArmHColor = getGeneticHairColor(newSlave);
+	}
+	if (newSlave.override_Pubic_H_Color !== 1) {
+		newSlave.pubicHColor = getGeneticHairColor(newSlave);
+	}
+	if (newSlave.override_Brow_H_Color !== 1) {
+		newSlave.eyebrowHColor = getGeneticHairColor(newSlave);
+	}
+	if (newSlave.override_Skin !== 1) {
+		newSlave.skin = getGeneticSkinColor(newSlave);
+	}
+
+	SetBellySize(newSlave);
+	if (V.familyTesting === 1) {
+		/* special slaves exceptions to keep siblings sensible */
+		if (newSlave.mother === -9999 && newSlave.father === -9998) {
+			/* The twins — Camille & Kennerly */
+			for (_k = 0; _k < V.slaves.length; _k++) {
+				if (areSisters(V.slaves[_k], newSlave) > 0) {
+					newSlave.actualAge = V.slaves[_k].actualAge, newSlave.physicalAge = newSlave.actualAge, newSlave.visualAge = newSlave.actualAge, newSlave.ovaryAge = newSlave.actualAge, newSlave.birthWeek = V.slaves[_k].birthWeek;
+				}
+			}
+		}
+		if (newSlave.mother === -9997 && newSlave.father === -9996) {
+			/* The siblings — Elisa & Martin */
+			for (_k = 0; _k < V.slaves.length; _k++) {
+				if (areSisters(V.slaves[_k], newSlave) > 0) {
+					if (newSlave.birthName === "Elisa") {
+						newSlave.actualAge = V.slaves[_k].actualAge - 1, newSlave.physicalAge = newSlave.actualAge, newSlave.visualAge = newSlave.actualAge, newSlave.ovaryAge = newSlave.actualAge;
+					} else if (newSlave.birthName === "Martin") {
+						newSlave.actualAge = V.slaves[_k].actualAge + 1, newSlave.physicalAge = newSlave.actualAge, newSlave.visualAge = newSlave.actualAge, newSlave.ovaryAge = newSlave.actualAge;
+					}
+				}
+			}
+		}
+		if (newSlave.mother === -9995 && newSlave.father === -9994) {
+			/* The fruit siblings — Green & Purple Grape */
+			for (_k = 0; _k < V.slaves.length; _k++) {
+				if (areSisters(V.slaves[_k], newSlave) > 0) {
+					if (newSlave.birthName === "Green Grape") {
+						newSlave.actualAge = V.slaves[_k].actualAge - 5, newSlave.physicalAge = newSlave.actualAge, newSlave.visualAge = newSlave.actualAge, newSlave.ovaryAge = newSlave.actualAge;
+					} else if (newSlave.birthName === "Purple Grape") {
+						newSlave.actualAge = V.slaves[_k].actualAge + 5, newSlave.physicalAge = newSlave.actualAge, newSlave.visualAge = newSlave.actualAge, newSlave.ovaryAge = newSlave.actualAge;
+					}
+				}
+			}
+		}
+	}
+	nationalityToAccent(newSlave);
 	return newSlave;
 };
 /**
@@ -119,7 +186,7 @@ App.Utils.getHeroSlave = function(heroSlave) {
  * @param {{}}hero
  * @param {string} limb
  */
-App.Utils.removeHeroLimbs = function(hero, limb = "all") {
+App.Utils.removeHeroLimbs = function (hero, limb = "all") {
 	if (!hero.hasOwnProperty("removedLimbs")) {
 		hero.removedLimbs = [0, 0, 0, 0];
 	}
diff --git a/src/uncategorized/completeCatalog.tw b/src/uncategorized/completeCatalog.tw
index eec6f5db3d7eac94a2cfd78c876fbdf721dc63b2..2fbc581415936b2179452d8380b9e11a91914941 100644
--- a/src/uncategorized/completeCatalog.tw
+++ b/src/uncategorized/completeCatalog.tw
@@ -19,79 +19,17 @@
 	<</if>>
 <</for>>
 
-<<if ndef $activeSlave.pubicHColor>>
-	<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
-<</if>>
-<<if ndef $activeSlave.underArmHColor>>
-	<<set $activeSlave.underArmHColor = $activeSlave.hColor>>
-<</if>>
-<<if $activeSlave.override_Race != 1>>
-	<<set $activeSlave.origRace = $activeSlave.race>>
-<</if>>
-<<if $activeSlave.override_Eye_Color != 1>>
-	<<run resetEyeColor($activeSlave, "both")>>
-<</if>>
-<<if $activeSlave.override_H_Color != 1>>
-	<<set $activeSlave.hColor = getGeneticHairColor($activeSlave)>>
-<</if>>
-<<if $activeSlave.override_Arm_H_Color != 1>>
-	<<set $activeSlave.underArmHColor = getGeneticHairColor($activeSlave)>>
-<</if>>
-<<if $activeSlave.override_Pubic_H_Color != 1>>
-	<<set $activeSlave.pubicHColor = getGeneticHairColor($activeSlave)>>
-<</if>>
-<<if $activeSlave.override_Brow_H_Color != 1>>
-	<<set $activeSlave.eyebrowHColor = getGeneticHairColor($activeSlave)>>
-<</if>>
-<<if $activeSlave.override_Skin != 1>>
-	<<set $activeSlave.skin = getGeneticSkinColor($activeSlave)>>
-<</if>>
-<<run SetBellySize($activeSlave)>>
-<<set $specialSlavesPriceOverride = 1>>
-<<run nationalityToAccent($activeSlave)>>
-<<if $familyTesting == 1>>
-	/* special slaves exceptions to keep siblings sensible */
-	<<if $activeSlave.mother == -9999 && $activeSlave.father == -9998>> /* The twins — Camille & Kennerly */
-		<<for _k = 0; _k < $slaves.length; _k++>>
-			<<if areSisters($slaves[_k], $activeSlave) > 0>>
-				<<set $activeSlave.actualAge = $slaves[_k].actualAge, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge, $activeSlave.birthWeek = $slaves[_k].birthWeek>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<<if $activeSlave.mother == -9997 && $activeSlave.father == -9996>> /* The siblings — Elisa & Martin */
-		<<for _k = 0; _k < $slaves.length; _k++>>
-			<<if areSisters($slaves[_k], $activeSlave) > 0>>
-				<<if $activeSlave.birthName == "Elisa">>
-					<<set $activeSlave.actualAge = $slaves[_k].actualAge-1, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-				<<elseif $activeSlave.birthName == "Martin">>
-					<<set $activeSlave.actualAge = $slaves[_k].actualAge+1, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-				<</if>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<<if $activeSlave.mother == -9995 && $activeSlave.father == -9994>> /* The fruit siblings — Green & Purple Grape */
-		<<for _k = 0; _k < $slaves.length; _k++>>
-			<<if areSisters($slaves[_k], $activeSlave) > 0>>
-				<<if $activeSlave.birthName == "Green Grape">>
-					<<set $activeSlave.actualAge = $slaves[_k].actualAge-5, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-				<<elseif $activeSlave.birthName == "Purple Grape">>
-					<<set $activeSlave.actualAge = $slaves[_k].actualAge+5, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-				<</if>>
-			<</if>>
-		<</for>>
-	<</if>>
-<</if>>
-
 <br><br>
 
 <<set $saleDescription = 1>>
 <<include "Long Slave Description">>
+<<set $specialSlavesPriceOverride = 1>>
 <<set _slaveCost = slaveCost($activeSlave)>>
+<<set $specialSlavesPriceOverride = 0>>
 <<set _slaveCost = (10*Math.trunc((_slaveCost/10)*2))>>
 <<if _slaveCost < 40000>>
 	<<set _slaveCost += random(20000,60000)>>
 <</if>>
-<<set $specialSlavesPriceOverride = 0>>
 
 <br><br>
 
diff --git a/src/uncategorized/specialSlave.tw b/src/uncategorized/specialSlave.tw
index db71d6e53663f0ec21abd877fb6e10f010a66447..cd0fd6196f0d2c9b809795a698acec22ee66e853 100644
--- a/src/uncategorized/specialSlave.tw
+++ b/src/uncategorized/specialSlave.tw
@@ -12,71 +12,6 @@
 
 	<<run slaveSortMinor(_heroSlaves)>>
 	<<set $activeSlave = App.Utils.getHeroSlave(_heroSlaves.random())>>
-	<<set $activeSlave.weekAcquired = $week>>
-	<<if ndef $activeSlave.pubicHColor>>
-		<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
-	<</if>>
-	<<if ndef $activeSlave.underArmHColor>>
-		<<set $activeSlave.underArmHColor = $activeSlave.hColor>>
-	<</if>>
-
-	<<if $activeSlave.override_Race != 1>>
-		<<set $activeSlave.origRace = $activeSlave.race>>
-	<</if>>
-
-	<<if $activeSlave.override_Eye_Color != 1>>
-		<<run resetEyeColor($activeSlave, "both")>>
-	<</if>>
-	<<if $activeSlave.override_H_Color != 1>>
-		<<set $activeSlave.hColor = getGeneticHairColor($activeSlave)>>
-	<</if>>
-	<<if $activeSlave.override_Arm_H_Color != 1>>
-		<<set $activeSlave.underArmHColor = getGeneticHairColor($activeSlave)>>
-	<</if>>
-	<<if $activeSlave.override_Pubic_H_Color != 1>>
-		<<set $activeSlave.pubicHColor = getGeneticHairColor($activeSlave)>>
-	<</if>>
-	<<if $activeSlave.override_Brow_H_Color != 1>>
-		<<set $activeSlave.eyebrowHColor = getGeneticHairColor($activeSlave)>>
-	<</if>>
-	<<if $activeSlave.override_Skin != 1>>
-		<<set $activeSlave.skin = getGeneticSkinColor($activeSlave)>>
-	<</if>>
-
-	<<run SetBellySize($activeSlave)>>
-	<<if $familyTesting == 1>>
-		/* special slaves exceptions to keep siblings sensible */
-		<<if $activeSlave.mother == -9999 && $activeSlave.father == -9998>> /* The twins — Camille & Kennerly */
-			<<for _k = 0; _k < $slaves.length; _k++>>
-				<<if areSisters($slaves[_k], $activeSlave) > 0>>
-					<<set $activeSlave.actualAge = $slaves[_k].actualAge, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge, $activeSlave.birthWeek = $slaves[_k].birthWeek>>
-				<</if>>
-			<</for>>
-		<</if>>
-		<<if $activeSlave.mother == -9997 && $activeSlave.father == -9996>> /* The siblings — Elisa & Martin */
-			<<for _k = 0; _k < $slaves.length; _k++>>
-				<<if areSisters($slaves[_k], $activeSlave) > 0>>
-					<<if $activeSlave.birthName == "Elisa">>
-						<<set $activeSlave.actualAge = $slaves[_k].actualAge-1, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-					<<elseif $activeSlave.birthName == "Martin">>
-						<<set $activeSlave.actualAge = $slaves[_k].actualAge+1, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-					<</if>>
-				<</if>>
-			<</for>>
-		<</if>>
-		<<if $activeSlave.mother == -9995 && $activeSlave.father == -9994>> /* The fruit siblings — Green & Purple Grape */
-			<<for _k = 0; _k < $slaves.length; _k++>>
-				<<if areSisters($slaves[_k], $activeSlave) > 0>>
-					<<if $activeSlave.birthName == "Green Grape">>
-						<<set $activeSlave.actualAge = $slaves[_k].actualAge-5, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-					<<elseif $activeSlave.birthName == "Purple Grape">>
-						<<set $activeSlave.actualAge = $slaves[_k].actualAge+5, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-					<</if>>
-				<</if>>
-			<</for>>
-		<</if>>
-	<</if>>
-	<<run nationalityToAccent($activeSlave)>>
 	<<set $specialSlavesPriceOverride = 1>>
 	<<set _slaveCost = slaveCost($activeSlave)>>
 	<<set _slaveCost = (10*Math.trunc((_slaveCost/10)*2))>>