diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js
index 13fdd6416ca4583ff6f3880bcc412da6d8320e7b..318ae6e3cd7cf2abffc2ec1fa3b64a39747c48a9 100644
--- a/js/003-data/policiesData.js
+++ b/js/003-data/policiesData.js
@@ -815,7 +815,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.sex,
 								v => {
-									V.policies.retirement.sex = Math.clamp(v, 1, 1e7);;
+									V.policies.retirement.sex = Math.clamp(v, 1, 1e7);
 									policy("RetirementPolicies");
 								},
 								true
@@ -875,7 +875,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.cum,
 								v => {
-									V.policies.retirement.cum = Math.clamp(v, 1, 1e9);;
+									V.policies.retirement.cum = Math.clamp(v, 1, 1e9);
 									policy("RetirementPolicies");
 								},
 								true
@@ -935,7 +935,7 @@ App.Data.Policies.Selection = {
 							App.UI.DOM.makeTextBox(
 								V.policies.retirement.kills,
 								v => {
-									V.policies.retirement.kills = Math.clamp(v, 1, 1e6);;
+									V.policies.retirement.kills = Math.clamp(v, 1, 1e6);
 									policy("RetirementPolicies");
 								},
 								true
@@ -1817,7 +1817,7 @@ App.Data.Policies.Selection = {
 				note: `Will improve your arcology's combat power during crises`
 			}
 		],
-	"arcologies[0].FSNeoImperialistLaw2": [
+		"arcologies[0].FSNeoImperialistLaw2": [
 			{
 				title: "Neo-Imperial Baronies",
 				titleClass: "lime",
diff --git a/src/003-assets/CSS/links.css b/src/003-assets/CSS/links.css
index 654265f051a54e3cb206dd9788a6addd3fe4df5b..5ea75b9308265e8e8d462f309f020e44ac34d277 100644
--- a/src/003-assets/CSS/links.css
+++ b/src/003-assets/CSS/links.css
@@ -50,6 +50,7 @@ ul.choicesStrip {
 	display: inline;
 	list-style-type: none;
 	padding: 0mm;
+	margin-left: 0em;
 }
 
 ul.choicesStrip li {
diff --git a/src/markets/specificMarkets/customSlave.tw b/src/markets/specificMarkets/customSlave.tw
deleted file mode 100644
index 178b7e16d8e6dceea8bf8d9c952c3367198dd201..0000000000000000000000000000000000000000
--- a/src/markets/specificMarkets/customSlave.tw
+++ /dev/null
@@ -1,1360 +0,0 @@
-:: Custom Slave [nobr]
-
-<<set $nextButton = "Back", $nextLink = "Buy Slaves", $returnTo = "Buy Slaves", $encyclopedia = "Kidnapped Slaves">>
-
-<<setAssistantPronouns>>
-
-<<if $customSlaveOrdered == 0>>You work up a new slave order for posting where slave merchants can work to fulfill it.<<else>>You review your posted slave order.<</if>> <<if $assistant.personality == 1>>As you work, $assistant.name makes lewd comments about what _heA looks forward to doing to this new slave. <</if>>Your order requests a slave with the following characteristics:
-
-<br><br>
-
-<span id = "age">
-<<if $customSlave.age < 3>>2-3 years old.
-<<elseif $customSlave.age < 5>>3-4 years old.
-<<elseif $customSlave.age < 7>>5-6 years old.
-<<elseif $customSlave.age < 10>>7-9 years old.
-<<elseif $customSlave.age < 13>>10-12 years old.
-<<elseif $customSlave.age < 15>>13-14 years old.
-<<elseif $customSlave.age < 18>>15-17 years old.
-<<elseif $customSlave.age < 20>>18-19 years old.
-<<elseif $customSlave.age < 25 && $retirementAge >= 25>>20-24 years old.
-<<elseif $customSlave.age < 25 && $retirementAge >= 20>>20+ years old.
-<<elseif $customSlave.age < 30 && $retirementAge >= 30>>25-29 years old.
-<<elseif $customSlave.age < 30 && $retirementAge >= 25>>25+ years old.
-<<elseif $customSlave.age < 40 && $retirementAge >= 40>>30-39 years old.
-<<elseif $customSlave.age < 40 && $retirementAge >= 30>>30+ years old.
-<<elseif $customSlave.age < 50 && $retirementAge >= 50>>40-49 years old.
-<<elseif $customSlave.age < 50 && $retirementAge >= 40>>40+ years old.
-<<elseif $customSlave.age < 60 && $retirementAge >= 60>>50-59 years old.
-<<elseif $customSlave.age < 60 && $retirementAge >= 50>>50+ years old.
-<<elseif $customSlave.age < 70 && $retirementAge >= 70>>60-69 years old.
-<<elseif $customSlave.age < 70 && $retirementAge >= 60>>60+ years old.
-<<elseif $customSlave.age < 80 && $retirementAge >= 80>>70-79 years old.
-<<elseif $customSlave.age < 80 && $retirementAge >= 70>>70+ years old.
-<<elseif $customSlave.age < 90 && $retirementAge >= 90>>80-89 years old.
-<<elseif $customSlave.age < 90 && $retirementAge >= 80>>80+ years old.
-<<elseif $customSlave.age < 100 && $retirementAge >= 100>>90-99 years old.
-<<elseif $customSlave.age < 100 && $retirementAge >= 90>>90+ years old.
-<<elseif $customSlave.age < 110 && $retirementAge >= 110>>100-109 years old.
-<<elseif $customSlave.age < 110 && $retirementAge >= 100>>100+ years old.
-<<elseif $customSlave.age < 120 && $retirementAge >= 120>>110-119 years old.
-<<elseif $customSlave.age < 120 && $retirementAge >= 110>>110+ years old.
-<<elseif $customSlave.age < 130 && $retirementAge >= 130>>120-129 years old.
-<<elseif $customSlave.age < 130 && $retirementAge >= 120>>120+ years old.
-<<else>>130+ years old.
-<</if>>
-</span>
-<<if $minimumSlaveAge >= 0 && $minimumSlaveAge <= 2>>
-<<link "2-">>
-	<<set $customSlave.age = 2>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 3>>
-<<link "3-4">>
-	<<set $customSlave.age = 4>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 5>>
-<<link "5-6">>
-	<<set $customSlave.age = 6>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 7>>
-<<link "7-9">>
-	<<set $customSlave.age = 9>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 10>>
-<<link "10-12">>
-	<<set $customSlave.age = 12>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 13>>
-<<link "13-14">>
-	<<set $customSlave.age = 14>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 15>>
-<<link "15-17">>
-	<<set $customSlave.age = 17>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $minimumSlaveAge <= 18>>
-<<link "18-19">>
-	<<set $customSlave.age = 19>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<</if>>
-<<if $retirementAge >= 25>>
-<<link "20-24">>
-	<<set $customSlave.age = 24>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 20>>
-<<link "20+">>
-	<<set $customSlave.age = 20>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 30>>
-<<link "25-29">>
-	<<set $customSlave.age = 29>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 25>>
-<<link "25+">>
-	<<set $customSlave.age = 25>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 40>>
-<<link "30-39">>
-	<<set $customSlave.age = 39>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 30>>
-<<link "30+">>
-	<<set $customSlave.age = 30>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 50>>
-<<link "40-49">>
-	<<set $customSlave.age = 49>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 40>>
-<<link "40+">>
-	<<set $customSlave.age = 40>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 60>>
-<<link "50-59">>
-	<<set $customSlave.age = 59>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 50>>
-<<link "50+">>
-	<<set $customSlave.age = 50>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 70>>
-<<link "60-69">>
-	<<set $customSlave.age = 69>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 60>>
-<<link "60+">>
-	<<set $customSlave.age = 60>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 80>>
-<<link "70-79">>
-	<<set $customSlave.age = 79>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 70>>
-<<link "70+">>
-	<<set $customSlave.age = 70>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 90>>
-<<link "80-89">>
-	<<set $customSlave.age = 89>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 80>>
-<<link "80+">>
-	<<set $customSlave.age = 80>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 100>>
-<<link "90-99">>
-	<<set $customSlave.age = 99>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 90>>
-<<link "90+">>
-	<<set $customSlave.age = 90>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 110>>
-<<link "100-109">>
-	<<set $customSlave.age = 109>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 100>>
-<<link "100+">>
-	<<set $customSlave.age = 100>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 120>>
-<<link "110-119">>
-	<<set $customSlave.age = 119>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 110>>
-<<link "110+">>
-	<<set $customSlave.age = 110>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 130>>
-<<link "120-129">>
-	<<set $customSlave.age = 129>>
-	<<CustomSlaveAge>>
-<</link>>
-|
-<<elseif $retirementAge >= 120>>
-<<link "120+">>
-	<<set $customSlave.age = 120>>
-	<<CustomSlaveAge>>
-<</link>>
-<<else>>
-<</if>>
-<<if $retirementAge >= 130>>
-<<link "130+">>
-	<<set $customSlave.age = 130>>
-	<<CustomSlaveAge>>
-<</link>>
-<</if>>
-
-<br>
-
-<span id = "health">
-<<if $customSlave.health == 0>>Healthy.
-<<else>>Extremely healthy.
-<</if>>
-</span>
-<<link "Healthy">>
-	<<set $customSlave.health = 0>>
-	<<CustomSlaveHealth>>
-<</link>>
-|
-<<link "Extremely healthy">>
-	<<set $customSlave.health = 1>>
-	<<CustomSlaveHealth>>
-<</link>>
-
-<br>
-
-<span id = "muscles">
-<<if $customSlave.muscles > 95>>
-	Ripped.
-<<elseif $customSlave.muscles > 50>>
-	Muscular.
-<<elseif $customSlave.muscles > 30>>
-	Well built.
-<<elseif $customSlave.muscles > 5>>
-	Toned.
-<<elseif $customSlave.muscles > -6>>
-	Soft.
-<<elseif $customSlave.muscles > -31>>
-	Weak.
-<<elseif $customSlave.muscles > -96>>
-	Very weak.
-<<else>>
-	Frail.
-<</if>>
-</span>
-<<link "Frail">>
-	<<set $customSlave.muscles = -97>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Very weak">>
-	<<set $customSlave.muscles = -51>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Weak">>
-	<<set $customSlave.muscles = -21>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Normal">>
-	<<set $customSlave.muscles = 0>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Toned">>
-	<<set $customSlave.muscles = 20>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Well built">>
-	<<set $customSlave.muscles = 45>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Muscular">>
-	<<set $customSlave.muscles = 65>>
-	<<CustomSlaveMuscles>>
-<</link>>
-|
-<<link "Ripped">>
-	<<set $customSlave.muscles = 96>>
-	<<CustomSlaveMuscles>>
-<</link>>
-
-<br>
-
-<span id = "lips">
-<<if $customSlave.lips <= 10>>Thin lips.
-<<elseif $customSlave.lips <= 20>>Normal lips.
-<<elseif $customSlave.lips <= 40>>Plush lips.
-<<elseif $customSlave.lips <= 70>>Big lips.
-<<elseif $customSlave.lips <= 95>>Huge lips.
-<<else>>Facepussy.
-<</if>>
-</span>
-<<link "Thin">>
-	<<set $customSlave.lips = 5>>
-	<<CustomSlaveLips>>
-<</link>>
-|
-<<link "Normal">>
-	<<set $customSlave.lips = 15>>
-	<<CustomSlaveLips>>
-<</link>>
-|
-<<link "Plush">>
-	<<set $customSlave.lips = 35>>
-	<<CustomSlaveLips>>
-<</link>>
-|
-<<link "Big">>
-	<<set $customSlave.lips = 65>>
-	<<CustomSlaveLips>>
-<</link>>
-|
-<<link "Enormous">>
-	<<set $customSlave.lips = 85>>
-	<<CustomSlaveLips>>
-<</link>>
-|
-<<link "Facepussy">>
-	<<set $customSlave.lips = 100>>
-	<<CustomSlaveLips>>
-<</link>>
-
-<br>
-
-<span id = "voice">
-<<if $customSlave.voice == 3>>High, girly voice.
-<<elseif $customSlave.voice == 2>>Feminine voice.
-<<elseif $customSlave.voice == 1>>Deep voice.
-<<elseif $customSlave.voice == 0>>Mute.
-<<else>>Voice is unimportant.
-<</if>>
-</span>
-<<link "High, girly voice">>
-	<<set $customSlave.voice = 3>>
-	<<CustomSlaveVoice>>
-<</link>>
-|
-<<link "Feminine voice">>
-	<<set $customSlave.voice = 2>>
-	<<CustomSlaveVoice>>
-<</link>>
-|
-<<link "Deep voice">>
-	<<set $customSlave.voice = 1>>
-	<<CustomSlaveVoice>>
-<</link>>
-|
-<<link "Mute">>
-	<<set $customSlave.voice = 0>>
-	<<CustomSlaveVoice>>
-<</link>>
-|
-<<link "Voice is unimportant">>
-	<<set $customSlave.voice = -1>>
-	<<CustomSlaveVoice>>
-<</link>>
-
-<br>
-
-<span id = "height">
-<<if $customSlave.heightMod == "greatly below average">>Petite.
-<<elseif $customSlave.heightMod == "below average">>Short.
-<<elseif $customSlave.heightMod == "normal">>Average height.
-<<elseif $customSlave.heightMod == "above average">>Tall.
-<<else>>Very tall.
-<</if>>
-</span>
-<<link "Petite">>
-	<<set $customSlave.heightMod = "greatly below average">>
-	<<CustomSlaveHeight>>
-<</link>>
-|
-<<link "Short">>
-	<<set $customSlave.heightMod = "below average">>
-	<<CustomSlaveHeight>>
-<</link>>
-|
-<<link "Average height">>
-	<<set $customSlave.heightMod = "normal">>
-	<<CustomSlaveHeight>>
-<</link>>
-|
-<<link "Tall">>
-	<<set $customSlave.heightMod = "above average">>
-	<<CustomSlaveHeight>>
-<</link>>
-|
-<<link "Very tall">>
-	<<set $customSlave.heightMod = "greatly above average">>
-	<<CustomSlaveHeight>>
-<</link>>
-
-<br>
-
-<span id = "weight">
-<<if $customSlave.weight == -50>>Very thin.
-<<elseif $customSlave.weight == -15>>Thin.
-<<elseif $customSlave.weight == 0>>Average weight.
-<<elseif $customSlave.weight == 15>>Plush.
-<<elseif $customSlave.weight == 50>>Chubby.
-<<elseif $customSlave.weight == 100>>Fat.
-<<elseif $customSlave.weight == 150>>Very Fat.
-<<else>>Immobile.
-<</if>>
-</span>
-<<link "Very thin">>
-	<<set $customSlave.weight = -50>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Thin">>
-	<<set $customSlave.weight = -15>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Average">>
-	<<set $customSlave.weight = 0>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Plush">>
-	<<set $customSlave.weight = 15>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Chubby">>
-	<<set $customSlave.weight = 50>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Fat">>
-	<<set $customSlave.weight = 100>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Very Fat">>
-	<<set $customSlave.weight = 150>>
-	<<CustomSlaveWeight>>
-<</link>>
-|
-<<link "Immobile">>
-	<<set $customSlave.weight = 200>>
-	<<CustomSlaveWeight>>
-<</link>>
-
-<br>
-
-<span id = "face">
-<<if $customSlave.face < -40>>Very unattractive face.
-<<elseif $customSlave.face < -10>>Unattractive face.
-<<elseif $customSlave.face <= 10>>Average face.
-<<elseif $customSlave.face <= 40>>Attractive face.
-<<else>>Very attractive face.
-<</if>>
-</span>
-<<link "Very unattractive">>
-	<<set $customSlave.face = -55>>
-	<<CustomSlaveFace>>
-<</link>>
-|
-<<link "Unattractive">>
-	<<set $customSlave.face = -15>>
-	<<CustomSlaveFace>>
-<</link>>
-|
-<<link "Average">>
-	<<set $customSlave.face = 0>>
-	<<CustomSlaveFace>>
-<</link>>
-|
-<<link "Attractive">>
-	<<set $customSlave.face = 15>>
-	<<CustomSlaveFace>>
-<</link>>
-|
-<<link "Very attractive">>
-	<<set $customSlave.face = 55>>
-	<<CustomSlaveFace>>
-<</link>>
-
-<br>
-
-Ethnicity: <span id = "ethnicity">
-<<textbox "$customSlave.race" $customSlave.race "Custom Slave">>
-</span>
-<<link "White">>
-	<<set $customSlave.race = "white">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Asian">>
-	<<set $customSlave.race = "asian">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Latina">>
-	<<set $customSlave.race = "latina">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Middle Eastern">>
-	<<set $customSlave.race = "middle eastern">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Black">>
-	<<set $customSlave.race = "black">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Semitic">>
-	<<set $customSlave.race = "semitic">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Southern European">>
-	<<set $customSlave.race = "southern european">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Indo-Aryan">>
-	<<set $customSlave.race = "indo-aryan">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Amerindian">>
-	<<set $customSlave.race = "amerindian">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Pacific Islander">>
-	<<set $customSlave.race = "pacific islander">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Malay">>
-	<<set $customSlave.race = "malay">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Mixed Race">>
-	<<set $customSlave.race = "mixed race">>
-	<<CustomSlaveRace>>
-<</link>>
-|
-<<link "Ethnicity is unimportant">>
-	<<set $customSlave.race = "ethnicity is unimportant">>
-	<<CustomSlaveRace>>
-<</link>>
-
-<br>
-
-Skin tone: <span id = "skin">
-<<textbox "$customSlave.skin" $customSlave.skin "Custom Slave">>
-</span>
-<<link "Pure White">>
-	<<set $customSlave.skin = "pure white">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Ivory">>
-	<<set $customSlave.skin = "ivory">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "White">>
-	<<set $customSlave.skin = "white">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Extremely Pale">>
-	<<set $customSlave.skin = "extremely pale">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Very Pale">>
-	<<set $customSlave.skin = "very pale">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Pale">>
-	<<set $customSlave.skin = "pale">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Extremely Fair">>
-	<<set $customSlave.skin = "extremely fair">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Very Fair">>
-	<<set $customSlave.skin = "very fair">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Fair">>
-	<<set $customSlave.skin = "fair">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Light">>
-	<<set $customSlave.skin = "light">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Light Olive">>
-	<<set $customSlave.skin = "light olive">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Tan">>
-	<<set $customSlave.skin = "tan">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Olive">>
-	<<set $customSlave.skin = "olive">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Bronze">>
-	<<set $customSlave.skin = "bronze">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Dark Olive">>
-	<<set $customSlave.skin = "dark olive">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Dark">>
-	<<set $customSlave.skin = "dark">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Light Beige">>
-	<<set $customSlave.skin = "light beige">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Beige">>
-	<<set $customSlave.skin = "beige">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Dark Beige">>
-	<<set $customSlave.skin = "dark beige">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Light Brown">>
-	<<set $customSlave.skin = "light brown">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Brown">>
-	<<set $customSlave.skin = "brown">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Dark Brown">>
-	<<set $customSlave.skin = "dark brown">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Black">>
-	<<set $customSlave.skin = "black">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Ebony">>
-	<<set $customSlave.skin = "ebony">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Pure Black">>
-	<<set $customSlave.skin = "pure black">>
-	<<CustomSlaveSkin>>
-<</link>>
-|
-<<link "Left natural">>
-	<<set $customSlave.skin = "left natural">>
-	<<CustomSlaveSkin>>
-<</link>>
-
-<br>
-
-<span id = "boobs">
-<<if $customSlave.boobs == 200>>Flat chest.
-<<elseif $customSlave.boobs <= 500>>Healthy breasts.
-<<elseif $customSlave.boobs <= 800>>Big breasts.
-<<elseif $customSlave.boobs <= 1400>>Huge breasts.
-<<elseif $customSlave.boobs <= 2100>>Giant breasts.
-<<else>>Massive breasts.
-<</if>>
-</span>
-<<link "Flat">>
-	<<set $customSlave.boobs = 200>>
-	<<CustomSlaveBoobs>>
-<</link>>
-|
-<<link "Healthy">>
-	<<set $customSlave.boobs = 500>>
-	<<CustomSlaveBoobs>>
-<</link>>
-|
-<<link "Big">>
-	<<set $customSlave.boobs = 800>>
-	<<CustomSlaveBoobs>>
-<</link>>
-|
-<<link "Huge">>
-	<<set $customSlave.boobs = 1400>>
-	<<CustomSlaveBoobs>>
-<</link>>
-|
-<<link "Giant">>
-	<<set $customSlave.boobs = 2100>>
-	<<CustomSlaveBoobs>>
-<</link>>
-|
-<<link "Massive">>
-	<<set $customSlave.boobs = 6000>>
-	<<CustomSlaveBoobs>>
-<</link>>
-
-<br>
-
-<span id = "butt">
-<<if $customSlave.butt == 1>>Flat buttocks.
-<<elseif $customSlave.butt < 4>>Healthy buttocks.
-<<elseif $customSlave.butt < 6>>Huge buttocks.
-<<else>>Massive buttocks.
-<</if>>
-</span>
-<<link "Flat">>
-	<<set $customSlave.butt = 1>>
-	<<CustomSlaveButt>>
-<</link>>
-|
-<<link "Healthy">>
-	<<set $customSlave.butt = 3>>
-	<<CustomSlaveButt>>
-<</link>>
-|
-<<link "Huge">>
-	<<set $customSlave.butt = 5>>
-	<<CustomSlaveButt>>
-<</link>>
-|
-<<link "Massive">>
-	<<set $customSlave.butt = 8>>
-	<<CustomSlaveButt>>
-<</link>>
-
-<br>
-
-<span id = "sex">
-<<if $customSlave.sex == 1>>Female (cock & balls options not applied).
-<<elseif $customSlave.sex == 2>>Male (pussy options not applied).
-<<else>>Futanari (clit options not applied).
-<</if>>
-</span>
-<<link "Female">>
-	<<set $customSlave.sex = 1>>
-	<<CustomSlaveSex>>
-<</link>>
-|
-<<link "Male">>
-	<<set $customSlave.sex = 2>>
-	<<CustomSlaveSex>>
-<</link>>
-|
-<<link "Both">>
-	<<set $customSlave.sex = 3>>
-	<<CustomSlaveSex>>
-<</link>>
-
-<br>
-
-<span id = "virgin">
-<<if $customSlave.virgin == 0>>Vaginal virgin.
-<<else>>Virginity not important.
-<</if>>
-</span>
-<<link "Vaginal virgin">>
-	<<set $customSlave.virgin = 0>>
-	<<CustomSlaveVirgin>>
-<</link>>
-|
-<<link "Not Important">>
-	<<set $customSlave.virgin = 1>>
-	<<CustomSlaveVirgin>>
-<</link>>
-
-<br>
-<<if $seeDicks > 0>>
-<span id = "dick">
-<<if $customSlave.dick == 0>>No penis.
-<<elseif $customSlave.dick == 2>>Small penis.
-<<else>>Large penis.
-<</if>>
-</span>
-<<link "No penis">>
-	<<set $customSlave.dick = 0>>
-	<<CustomSlaveDick>>
-<</link>>
-|
-<<link "Small penis">>
-	<<set $customSlave.dick = 2>>
-	<<CustomSlaveDick>>
-<</link>>
-|
-<<link "Large penis">>
-	<<set $customSlave.dick = 4>>
-	<<CustomSlaveDick>>
-<</link>>
-<</if>>
-<br>
-
-<span id = "balls">
-<<if $customSlave.balls == 0>>No testicles.
-<<elseif $customSlave.balls == 2>>Small testicles.
-<<elseif $customSlave.balls == 4>>Large testicles.
-<<else>>Huge Balls.
-<</if>>
-</span>
-<<link "No testicles">>
-	<<set $customSlave.balls = 0>>
-	<<CustomSlaveBalls>>
-<</link>>
-|
-<<link "Small testicles">>
-	<<set $customSlave.balls = 2>>
-	<<CustomSlaveBalls>>
-<</link>>
-|
-<<link "Large testicles">>
-	<<set $customSlave.balls = 4>>
-	<<CustomSlaveBalls>>
-<</link>>
-|
-<<link "huge testicles">>
-	<<set $customSlave.balls = 6>>
-	<<CustomSlaveBalls>>
-<</link>>
-
-<br>
-
-<span id = "clit">
-<<if $customSlave.clit == 0>>Normal clitoris.
-<<elseif $customSlave.clit == 1>>Big clitoris.
-<<elseif $customSlave.clit == 3>>Enormous clitoris.
-<<else>>Pseudophallus.
-<</if>>
-</span>
-<<link "Normal clitoris">>
-	<<set $customSlave.clit = 0>>
-	<<CustomSlaveClit>>
-<</link>>
-|
-<<link "Big clitoris">>
-	<<set $customSlave.clit = 1>>
-	<<CustomSlaveClit>>
-<</link>>
-|
-<<link "Enormous clitoris">>
-	<<set $customSlave.clit = 3>>
-	<<CustomSlaveClit>>
-<</link>>
-|
-<<link "Clit dick">>
-	<<set $customSlave.clit = 5>>
-	<<CustomSlaveClit>>
-<</link>>
-
-<br>
-
-<span id = "labia">
-<<if $customSlave.labia == 0>>Normal labia.
-<<elseif $customSlave.labia == 1>>big labia.
-<<elseif $customSlave.labia == 2>>Huge labia.
-<<else>>Enormous labia.
-<</if>>
-</span>
-<<link "Normal labia">>
-	<<set $customSlave.labia = 0>>
-	<<CustomSlaveLabia>>
-<</link>>
-|
-<<link "Big labia">>
-	<<set $customSlave.labia = 1>>
-	<<CustomSlaveLabia>>
-<</link>>
-|
-<<link "Huge labia">>
-	<<set $customSlave.labia = 2>>
-	<<CustomSlaveLabia>>
-<</link>>
-|
-<<link "Enormous labia">>
-	<<set $customSlave.labia = 3>>
-	<<CustomSlaveLabia>>
-<</link>>
-
-<br>
-
-<span id = "lube">
-<<if $customSlave.vaginaLube == 0>>Dry vagina.
-<<elseif $customSlave.vaginaLube == 1>>Wet vagina.
-<<else>>Sopping wet vagina.
-<</if>>
-</span>
-<<link "Dry vagina">>
-	<<set $customSlave.vaginaLube = 0>>
-	<<CustomSlaveLube>>
-<</link>>
-|
-<<link "Wet vagina">>
-	<<set $customSlave.vaginaLube = 1>>
-	<<CustomSlaveLube>>
-<</link>>
-|
-<<link "Sopping wet vagina">>
-	<<set $customSlave.vaginaLube = 2>>
-	<<CustomSlaveLube>>
-<</link>>
-
-<br>
-
-<span id = "anus">
-<<if $customSlave.analVirgin == 0>>Anal virgin.
-<<else>>Anal virginity is not important.
-<</if>>
-</span>
-<<link "Anal virgin">>
-	<<set $customSlave.analVirgin = 0>>
-	<<CustomSlaveAnalVirginity>>
-<</link>>
-|
-<<link "Anal virginity is not important">>
-	<<set $customSlave.analVirgin = 1>>
-	<<CustomSlaveAnalVirginity>>
-<</link>>
-
-<br>
-
-<span id = "skills">
-<<if $customSlave.skills <= 10>>Sexually unskilled.
-<<elseif $customSlave.skills <= 15>>Basic sex skills.
-<<else>>Sexually skilled.
-<</if>>
-</span>
-<<link "Unskilled">>
-	<<set $customSlave.skills = 0>>
-	<<CustomSlaveSkills>>
-<</link>>
-|
-<<link "Skilled">>
-	<<set $customSlave.skills = 35>>
-	<<CustomSlaveSkills>>
-<</link>>
-|
-<<link "Expert">>
-	<<set $customSlave.skills = 65>>
-	<<CustomSlaveSkills>>
-<</link>>
-
-<br>
-
-<span id = "whore-skills">
-<<if $customSlave.skill.whore <= 10>>Unskilled at prostitution and entertainment.
-<<elseif $customSlave.skill.whore <= 15>>Basic skills at prostitution and entertainment.
-<<else>>Skilled at prostitution and entertainment.
-<</if>>
-</span>
-<<link "Unskilled">>
-	<<set $customSlave.skill.whore = 0>>
-	<<CustomSlaveWhoreSkills>>
-<</link>>
-|
-<<link "Skilled">>
-	<<set $customSlave.skill.whore = 15>>
-	<<CustomSlaveWhoreSkills>>
-<</link>>
-|
-<<link "Expert">>
-	<<set $customSlave.skill.whore = 35>>
-	<<CustomSlaveWhoreSkills>>
-<</link>>
-
-<br>
-
-<span id = "combat-skills">
-<<if $customSlave.skill.combat == 0>>Unskilled at combat.
-<<else>>Skilled at combat.
-<</if>>
-</span>
-<<link "Unskilled">>
-	<<set $customSlave.skill.combat = 0>>
-	<<CustomSlaveCombatSkills>>
-<</link>>
-|
-<<link "Skilled">>
-	<<set $customSlave.skill.combat = 1>>
-	<<CustomSlaveCombatSkills>>
-<</link>>
-
-<br>
-
-<span id = "intelligence">
-<<if $customSlave.intelligence >= 3>>Brilliant.
-<<elseif $customSlave.intelligence == 2>>Very smart..
-<<elseif $customSlave.intelligence == 1>>Smart.
-<<elseif $customSlave.intelligence == 0>>Average intelligence.
-<<elseif $customSlave.intelligence == -1>>Stupid.
-<<elseif $customSlave.intelligence == -2>>Very stupid.
-<<else>>Moronic.
-<</if>>
-</span>
-<<link "Brilliant">>
-	<<set $customSlave.intelligence = 3>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-|
-<<link "Very smart">>
-	<<set $customSlave.intelligence = 2>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-|
-<<link "Smart">>
-	<<set $customSlave.intelligence = 1>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-|
-<<link "Average intelligence">>
-	<<set $customSlave.intelligence = 0>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-|
-<<link "Stupid">>
-	<<set $customSlave.intelligence = -1>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-|
-<<link "Very stupid">>
-	<<set $customSlave.intelligence = -2>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-|
-<<link "Moronic">>
-	<<set $customSlave.intelligence = -3>>
-	<<CustomSlaveIntelligence>>
-<</link>>
-
-<br>
-
-<span id = "education">
-<<if $customSlave.intelligenceImplant >= 30>>Well educated.
-<<elseif $customSlave.intelligenceImplant >= 15>>Educated.
-<<else>>Uneducated.
-<</if>>
-</span>
-<<link "Well educated">>
-	<<set $customSlave.intelligenceImplant = 30>>
-	<<CustomSlaveEducation>>
-<</link>>
-|
-<<link "Educated">>
-	<<set $customSlave.intelligenceImplant = 15>>
-	<<CustomSlaveEducation>>
-<</link>>
-|
-<<link "Uneducated">>
-	<<set $customSlave.intelligenceImplant = 0>>
-	<<CustomSlaveEducation>>
-<</link>>
-
-<br>
-
-<span id = "eyes">
-<<if getBestVision($customSlave) === 2>>Normal vision.
-<<elseif getBestVision($customSlave) === 1>>Nearsighted.
-<<else>>Blind.
-<</if>>
-</span>
-<<link "Normal Vision">>
-	<<run eyeSurgery($customSlave, "both", "fix")>>
-	<<CustomSlaveEyes>>
-<</link>>
-|
-<<link "Nearsighted">>
-	<<run eyeSurgery($customSlave, "both", "blur")>>
-	<<CustomSlaveEyes>>
-<</link>>
-<<if $seeExtreme == 1>>
-	|
-	<<link "Blind">>
-		<<run eyeSurgery($customSlave, "both", "blind")>>
-		<<CustomSlaveEyes>>
-	<</link>>
-<</if>>
-
-<br>
-
-<span id = "hears">
-<<if $seeExtreme == 1>>
-	<<if $customSlave.hears == 0>>Normal hearing.
-	<<elseif $customSlave.hears == -1>>Hard of hearing.
-	<<else>>Deaf.
-	<</if>>
-<<else>>
-	<<if $customSlave.hears == 0>>Normal hearing.
-	<<else>>Hard of hearing.
-	<</if>>
-<</if>>
-</span>
-<<link "Normal Hearing">>
-	<<set $customSlave.hears = 0>>
-	<<CustomSlaveEars>>
-<</link>>
-|
-<<link "Hard of Hearing">>
-	<<set $customSlave.hears = -1>>
-	<<CustomSlaveEars>>
-<</link>>
-<<if $seeExtreme == 1>>
-	|
-	<<link "Deaf">>
-		<<set $customSlave.hears = -2>>
-		<<CustomSlaveEars>>
-	<</link>>
-<</if>>
-
-<br>
-
-<<if $seeExtreme == 1>>
-<span id = "smelling">
-<<if $customSlave.smells == -1>>No sense of smell.
-<<else>>Normal sense of smell.
-<</if>>
-</span>
-<<link "No Sense of Smell">>
-	<<set $customSlave.smells = -1>>
-	<<CustomSlaveSmell>>
-<</link>>
-|
-<<link "Normal Sense of Smell">>
-	<<set $customSlave.smells = 0>>
-	<<CustomSlaveSmell>>
-<</link>>
-
-<br>
-<span id = "tasting">
-<<if $customSlave.tastes == -1>>No sense of taste.
-<<else>>Normal sense of taste.
-<</if>>
-</span>
-<<link "No Sense of Taste">>
-	<<set $customSlave.tastes = -1>>
-	<<CustomSlaveTaste>>
-<</link>>
-|
-<<link "Normal Sense of Taste">>
-	<<set $customSlave.tastes = 0>>
-	<<CustomSlaveTaste>>
-<</link>>
-
-<br>
-
-Left arm:
-<span id = "ampLA">
-	<<if hasLeftArm($customSlave)>>Yes
-	<<else>>No
-	<</if>>
-</span>
-<<link "Remove">>
-	<<set $customSlave.arm.left = null>>
-	<<replace #ampLA>>
-		No
-	<</replace>>
-<</link>>
-<<link "Add">>
-	<<set $customSlave.arm.left = new App.Entity.LimbState()>>
-	<<replace #ampLA>>
-		Yes
-	<</replace>>
-<</link>>
-<br>
-Right arm:
-<span id = "ampRA">
-	<<if hasRightArm($customSlave)>>Yes
-	<<else>>No
-	<</if>>
-</span>
-<<link "Remove">>
-	<<set $customSlave.arm.right = null>>
-	<<replace #ampRA>>
-		No
-	<</replace>>
-<</link>>
-<<link "Add">>
-	<<set $customSlave.arm.right = new App.Entity.LimbState()>>
-	<<replace #ampRA>>
-		Yes
-	<</replace>>
-<</link>>
-<br>
-Left leg:
-<span id = "ampLL">
-	<<if hasLeftLeg($customSlave)>>Yes
-	<<else>>No
-	<</if>>
-</span>
-<<link "Remove">>
-	<<set $customSlave.leg.left = null>>
-	<<replace #ampLL>>
-		No
-	<</replace>>
-<</link>>
-<<link "Add">>
-	<<set $customSlave.leg.left = new App.Entity.LimbState()>>
-	<<replace #ampLL>>
-		Yes
-	<</replace>>
-<</link>>
-<br>
-Right leg:
-<span id = "ampRL">
-	<<if hasRightLeg($customSlave)>>Yes
-	<<else>>No
-	<</if>>
-</span>
-<<link "Remove">>
-	<<set $customSlave.leg.right = null>>
-	<<replace #ampRL>>
-		No
-	<</replace>>
-<</link>>
-<<link "Add">>
-	<<set $customSlave.leg.right = new App.Entity.LimbState()>>
-	<<replace #ampRL>>
-		Yes
-	<</replace>>
-<</link>>
-
-
-<br>
-<</if>>
-
-<span id = "nationality">
-Nationality: $customSlave.nationality.
-</span>
-<<link "Slave">>
-	<<set $customSlave.nationality = "slave">>
-	<<CustomSlaveNationality>>
-<</link>>
-|
-<<link "Stateless">>
-	<<set $customSlave.nationality = "Stateless">>
-	<<CustomSlaveNationality>>
-<</link>>
-|
-<<link "Nationality is unimportant">>
-	<<set $customSlave.nationality = "Nationality is unimportant">>
-	<<CustomSlaveNationality>>
-<</link>>
-<br>
-<<for _i = 0; _i < setup.baseNationalities.length; _i++>>
-<<set _nation = setup.baseNationalities[_i]>>
-
-<<print "
-<<link _nation>>
-	<<set $customSlave.nationality = setup.baseNationalities[" + _i + "]>>
-	<<CustomSlaveNationality>>
-<</link>>
-">>
-<<if _i < setup.baseNationalities.length-1>>
-|
-<</if>>
-<</for>>
-
-<br><br>
-
-<<link "Reset custom order form">>
-	<<set $customSlave = new App.Entity.CustomSlaveOrder()>>
-	<<goto "Custom Slave">>
-<</link>>
-
-<br><br>
-
-<<if $customSlaveOrdered == 1>>
-[[Update custom slave order|Buy Slaves]]
-<br>
-[[Withdraw custom slave order|Buy Slaves][$customSlaveOrdered = 0]]
-<<else>>
-[[Post custom slave order|Buy Slaves][$customSlaveOrdered = 1]]
-<</if>>
diff --git a/src/markets/specificMarkets/customSlaveMarket.js b/src/markets/specificMarkets/customSlaveMarket.js
index 62fa1ebbfe3358daae617fdbde04eca1a0157897..4d0a9b9e5e1296a3fcf23538dc5e406a79ff8a66 100644
--- a/src/markets/specificMarkets/customSlaveMarket.js
+++ b/src/markets/specificMarkets/customSlaveMarket.js
@@ -8,6 +8,36 @@ App.Markets["Custom Slave"] = function() {
 	el.append(muscles());
 	el.append(lips());
 	el.append(voice());
+	el.append(height());
+	el.append(weight());
+	el.append(face());
+	el.append(race());
+	el.append(skin());
+	el.append(boobs());
+	el.append(butt());
+	el.append(sex());
+	el.append(virgin());
+	el.append(dick());
+	el.append(balls());
+	el.append(clit());
+	el.append(labia());
+	el.append(vaginaLube());
+	el.append(analVirgin());
+	el.append(skills());
+	el.append(skillWhore());
+	el.append(skillCombat());
+	el.append(intelligence());
+	el.append(intelligenceImplant());
+	el.append(eyes());
+	el.append(hears());
+	el.append(smells());
+	el.append(tastes());
+	el.append(limbs());
+	el.append(nationality());
+
+	// Links to reset things
+	el.append(reset());
+	el.append(orderControls());
 
 	return el;
 
@@ -36,20 +66,23 @@ App.Markets["Custom Slave"] = function() {
 		const select = document.createElement("select");
 		for (let i = 0; i < ages.length; i++) {
 			const high = ages[i];
-			const low = ages[i-1] || (ages[i] - 1); // First element of array has nothing before it, obviously, so display low as one less than high.
+			const low = ages[i - 1] || (ages[i] - 1); // First element of array has nothing before it, obviously, so display low as one less than high.
 			if (low < V.minimumSlaveAge) {
 				continue;
 			} else if (high > V.retirementAge) {
 				const option = document.createElement("option");
-				option.text = `${low+1}+`;
-				option.value = low+1;
+				option.text = `${low + 1}+`;
+				option.value = low + 1;
 				select.append(option);
 				break;
 			}
 
 			const option = document.createElement("option");
-			option.text = `${low+1}-${high}`;
+			option.text = `${low + 1}-${high}`;
 			option.value = high;
+			if (slave.age === option.value) {
+				option.selected = true;
+			}
 			select.append(option);
 		}
 		select.onchange = () => {
@@ -64,13 +97,13 @@ App.Markets["Custom Slave"] = function() {
 			const highIndex = ages.indexOf(slave.age);
 
 			if (highIndex === 0) {
-				return `${(ages[highIndex]-1)}-${ages[highIndex]} years old. `;
+				return `${(ages[highIndex] - 1)}-${ages[highIndex]} years old. `;
 			} else if (highIndex === ages.length) {
 				// Highest possible number
 				return `${ages[highIndex]}+ years old. `;
 			} else {
 				// Lower age should be the previous number in the array, +1
-				return `${(ages[highIndex-1])+1}-${ages[highIndex]} years old. `;
+				return `${(ages[highIndex - 1]) + 1}-${ages[highIndex]} years old. `;
 			}
 		}
 	}
@@ -88,7 +121,7 @@ App.Markets["Custom Slave"] = function() {
 		function description() {
 			for (const [value, text] of choices) {
 				if (slave.health === Number(value)) {
-					return `${text}.`;
+					return `${text}. `;
 				}
 			}
 		}
@@ -116,7 +149,7 @@ App.Markets["Custom Slave"] = function() {
 		function description() {
 			for (const [value, text] of choices) {
 				if (slave.muscles >= Number(value)) {
-					return `${text}.`;
+					return `${text}. `;
 				}
 			}
 		}
@@ -142,7 +175,7 @@ App.Markets["Custom Slave"] = function() {
 		function description() {
 			for (const [value, text] of choices) {
 				if (slave.lips >= Number(value)) {
-					return `${text}.`;
+					return `${text}. `;
 				}
 			}
 		}
@@ -152,7 +185,7 @@ App.Markets["Custom Slave"] = function() {
 
 	function voice() {
 		const el = document.createElement("div");
-		const slaveProperty = "lips";
+		const slaveProperty = "voice";
 		const choices = new Map([
 			["3", "High, girly"],
 			["2", "Feminine"],
@@ -168,9 +201,363 @@ App.Markets["Custom Slave"] = function() {
 			for (const [value, text] of choices) {
 				if (slave.voice === Number(value)) {
 					if (slave.voice === -1) {
-						return `${text}.`;
+						return `${text}. `;
+					} else {
+						return `${text} voice. `;
+					}
+				} else {
+					return `Voice is unimportant. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function height() {
+		const el = document.createElement("div");
+		const slaveProperty = "heightMod";
+		const choices = new Map([
+			["greatly below average", "Petite"],
+			["below average", "Short"],
+			["normal", "Average height"],
+			["above average", "Tall"],
+			["greatly above average", "Very tall"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.heightMod === value) {
+					return `${text} height. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function weight() {
+		const el = document.createElement("div");
+		const slaveProperty = "weight";
+		const choices = new Map([
+			["200", "Immobile"],
+			["150", "Very Fat"],
+			["100", "Fat"],
+			["50", "Chubby"],
+			["15", "Plush"],
+			["0", "Average"],
+			["-15", "Thin"],
+			["-50", "Very thin"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.weight >= Number(value)) {
+					return `${text} weight. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function face() {
+		const el = document.createElement("div");
+		const slaveProperty = "face";
+		const choices = new Map([
+			["55", "Very attractive"],
+			["15", "Attractive"],
+			["0", "Average"],
+			["-15", "Unattractive"],
+			["-55", "Very unattractive"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.face >= Number(value)) {
+					return `${text} face. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function race() {
+		const el = document.createElement("div");
+		const slaveProperty = "race";
+		const choices = new Map([
+			["ethnicity is unimportant", "Ethnicity is unimportant"],
+		]);
+		for (const race of App.Data.misc.filterRaces) {
+			choices.set(race.toLowerCase(), race);
+		}
+
+		createDescription(el, description, slaveProperty);
+
+		// Choices
+
+		const select = document.createElement("select");
+		for (const [value, text] of choices) {
+			const option = document.createElement("option");
+			option.text = text;
+			option.value = value;
+			if (slave.race == option.value) {
+				option.selected = true;
+			}
+			select.append(option);
+		}
+		select.onchange = () => {
+			slave.race = select.options[select.selectedIndex].value;
+			jQuery("#race-text").empty().append(description());
+		};
+		el.append(select);
+
+		function description() {
+			const el = new DocumentFragment();
+			el.append("Ethnicity: ");
+			el.append(
+				App.UI.DOM.makeTextBox(
+					slave.race,
+					(v) => {
+						slave.race = v;
+						jQuery("#race-text").empty().append(description());
+					}
+				)
+			);
+			return el;
+		}
+
+		return el;
+	}
+
+	function skin() {
+		const el = document.createElement("div");
+		const slaveProperty = "skin";
+		const choices = new Map([
+			["left natural", "Left natural"]
+		]);
+		for (const skin of App.Data.misc.naturalSkins) {
+			choices.set(skin, capFirstChar(skin));
+		}
+
+		createDescription(el, description, slaveProperty);
+
+		// Choices
+		const select = document.createElement("select");
+		for (const [value, text] of choices) {
+			const option = document.createElement("option");
+			option.text = text;
+			option.value = value;
+			if (slave.skin == option.value) {
+				option.selected = true;
+			}
+			select.append(option);
+		}
+		select.onchange = () => {
+			slave.skin = select.options[select.selectedIndex].value;
+			jQuery("#skin-text").empty().append(description());
+		};
+		el.append(select);
+
+		function description() {
+			const el = new DocumentFragment();
+			el.append("Skin tone: ");
+			el.append(
+				App.UI.DOM.makeTextBox(
+					slave.skin,
+					(v) => {
+						slave.skin = v;
+						jQuery("#skin-text").empty().append(description());
+					}
+				)
+			);
+			return el;
+		}
+
+		return el;
+	}
+
+
+	function boobs() {
+		const el = document.createElement("div");
+		const slaveProperty = "boobs";
+		const choices = new Map([
+			["6000", "Massive"],
+			["2100", "Giant"],
+			["1400", "Huge"],
+			["800", "Big"],
+			["500", "Healthy"],
+			["200", "Flat"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.boobs >= Number(value)) {
+					if (slave.boobs <= 200) {
+						return `${text} chest. `;
 					} else {
-						return `${text} voice.`;
+						return `${text} breasts. `;
+					}
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function butt() {
+		const el = document.createElement("div");
+		const slaveProperty = "butt";
+		const choices = new Map([
+			["8", "Massive"],
+			["5", "Huge"],
+			["3", "Healthy"],
+			["1", "Flat"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.butt >= Number(value)) {
+					return `${text} buttocks. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function sex() {
+		const el = document.createElement("div");
+		const slaveProperty = "sex";
+		const choices = new Map([
+			["3", "Both"],
+			["2", "Male"],
+			["1", "Female"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			switch (slave.sex) {
+				case 3:
+					return `Female (cock & balls options not applied). `;
+				case 2:
+					return `Male (pussy options not applied). `;
+				case 1:
+					return `Futanari (clit options not applied). `;
+			}
+		}
+
+		return el;
+	}
+
+	function virgin() {
+		const el = document.createElement("div");
+		const slaveProperty = "virgin";
+		const choices = new Map([
+			["1", "Not Important"],
+			["0", "Vaginal virgin"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.virgin === Number(value)) {
+					return `${text}. `;
+				}
+			}
+			return `Virginity not important. `;
+		}
+
+		return el;
+	}
+
+	function dick() {
+		const el = document.createElement("div");
+		const slaveProperty = "dick";
+		const choices = new Map([
+			["4", "Large penis"],
+			["2", "Small penis"],
+			["0", "No penis"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.dick >= Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function balls() {
+		const el = document.createElement("div");
+		const slaveProperty = "balls";
+		const choices = new Map([
+			["6", "Huge testicles"],
+			["4", "Large testicles"],
+			["2", "Small testicles"],
+			["0", "No testicles"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.balls >= Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function clit() {
+		const el = document.createElement("div");
+		const slaveProperty = "clit";
+		const choices = new Map([
+			["5", "Clit dick"],
+			["3", "Enormous clitoris"],
+			["1", "Big clitoris"],
+			["0", "Normal clitoris"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.clit === 5) {
+					return `Pseudophallus. `;
+				} else {
+					if (slave.clit >= Number(value)) {
+						return `${text}. `;
 					}
 				}
 			}
@@ -179,6 +566,472 @@ App.Markets["Custom Slave"] = function() {
 		return el;
 	}
 
+	function labia() {
+		const el = document.createElement("div");
+		const slaveProperty = "labia";
+		const choices = new Map([
+			["3", "Enormous labia"],
+			["2", "Huge labia"],
+			["1", "Big labia"],
+			["0", "Normal labia"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.labia === Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function vaginaLube() {
+		const el = document.createElement("div");
+		const slaveProperty = "vaginaLube";
+		const choices = new Map([
+			["2", "Sopping wet vagina"],
+			["1", "Wet vagina"],
+			["0", "Dry vagina"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.vaginaLube === Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function analVirgin() {
+		const el = document.createElement("div");
+		const slaveProperty = "analVirgin";
+		const choices = new Map([
+			["1", "Anal virginity is not important"],
+			["0", "Anal virgin"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.analVirgin === Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function skills() {
+		const el = document.createElement("div");
+		const slaveProperty = "skills";
+		const choices = new Map([
+			["65", "Expert"],
+			["35", "Skilled"],
+			["0", "Unskilled"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			if (slave.skills <= 10) {
+				return `Sexually unskilled. `;
+			} else if (slave.skills <= 15) {
+				return `Basic sex skills. `;
+			} else {
+				return `Sexually skilled. `;
+			}
+		}
+
+		return el;
+	}
+
+	function skillWhore() {
+		const el = document.createElement("div");
+		const slaveProperty = "skill.whore";
+		const choices = new Map([
+			["35", "Expert"],
+			["15", "Skilled"],
+			["0", "Unskilled"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			if (slave.skill.whore <= 10) {
+				return `Unskilled at prostitution and entertainment. `;
+			} else if (slave.skills <= 15) {
+				return `Basic skills at prostitution and entertainment. `;
+			} else {
+				return `Skilled at prostitution and entertainment. `;
+			}
+		}
+
+		return el;
+	}
+
+	function skillCombat() {
+		const el = document.createElement("div");
+		const slaveProperty = "skill.combat";
+		const choices = new Map([
+			["1", "Skilled"],
+			["0", "Unskilled"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.skill.combat >= Number(value)) {
+					return `${text} at combat. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function intelligence() {
+		const el = document.createElement("div");
+		const slaveProperty = "intelligence";
+		const choices = new Map([
+			["-3", "Moronic"],
+			["-2", "Very stupid"],
+			["-1", "Stupid"],
+			["0", "Average intelligence"],
+			["1", "Smart"],
+			["2", "Very smart"],
+			["3", "Brilliant"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.intelligence === Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function intelligenceImplant() {
+		const el = document.createElement("div");
+		const slaveProperty = "intelligenceImplant";
+		const choices = new Map([
+			["30", "Well educated"],
+			["15", "Educated"],
+			["0", "Uneducated"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.intelligenceImplant >= Number(value)) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function eyes() {
+		const el = document.createElement("div");
+		const slaveProperty = "eyes";
+		const choices = new Map([
+			["0", "Normal Vision"],
+			["-1", "Nearsighted"],
+		]);
+		if (V.seeExtreme) {
+			choices.set("-2", "Blind");
+		}
+
+		// Desc setup
+		const descText = document.createElement("span");
+		descText.id = (`${slaveProperty}-text`);
+		descText.append(description());
+		el.append(descText);
+
+		const linkArray = [];
+		if (V.seeExtreme) {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Blind",
+					() => {
+						eyeSurgery(slave, "both", "blind");
+						jQuery(`#${descText.id}-text`).empty().append(description());
+					}
+				)
+			);
+		}
+		linkArray.push(
+			App.UI.DOM.link(
+				"Nearsighted",
+				() => {
+					eyeSurgery(slave, "both", "blur");
+					jQuery(`#${descText.id}-text`).empty().append(description());
+				}
+			)
+		);
+		linkArray.push(
+			App.UI.DOM.link(
+				"Normal Vision",
+				() => {
+					eyeSurgery(slave, "both", "fix");
+					jQuery(`#${descText.id}-text`).empty().append(description());
+				}
+			)
+		);
+		el.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		function description() {
+			const vision = getBestVision(slave);
+			for (const [value, text] of choices) {
+				if (vision === Number(value)) {
+					return `${text}. `;
+				}
+			}
+			return `Blind. `;
+		}
+
+		return el;
+	}
+
+	function hears() {
+		const el = document.createElement("div");
+		const slaveProperty = "hears";
+		const choices = new Map([
+			["0", "Normal Hearing"],
+			["-1", "Hard of Hearing"],
+		]);
+		if (V.seeExtreme) {
+			choices.set("-2", "Deaf");
+		}
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.hears === Number(value)) {
+					return `${text}. `;
+				}
+			}
+			return `Hard of hearing. `;
+		}
+
+		return el;
+	}
+
+	function smells() {
+		const el = document.createElement("div");
+		const slaveProperty = "smells";
+		const choices = new Map([
+			["0", "Normal Sense of smell"],
+			["-1", "No Sense of smell"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.smells === Number(value)) {
+					return `${text}.`;
+				} else {
+					return `Normal Sense of smell. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function tastes() {
+		const el = document.createElement("div");
+		const slaveProperty = "tastes";
+		const choices = new Map([
+			["0", "Normal Sense of taste"],
+			["-1", "No Sense of taste"],
+		]);
+
+		createDescription(el, description, slaveProperty);
+		el.append(choicesMaker(slaveProperty, choices, description));
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.tastes === Number(value)) {
+					return `${text}.`;
+				} else {
+					return `Normal Sense of taste. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function limbs() {
+		const el = new DocumentFragment();
+		const limbs = new Map([
+			["arm.left", "Left arm"],
+			["arm.right", "Right arm"],
+			["leg.left", "Left leg"],
+			["leg.right", "Right leg"],
+		]);
+
+		for (const [value, text]  of limbs) {
+			const div = document.createElement("div");
+
+			// Desc setup
+			const descText = document.createElement("span");
+			descText.id = (`${value}-text`).replace(/\./g, "-");
+			const hasLimb = (_.get(slave, value) !== null);
+			descText.append(description(hasLimb, text));
+			div.append(descText);
+
+			const linkArray = [];
+			linkArray.push(
+				App.UI.DOM.link(
+					"Add",
+					() => {
+						_.set(slave, value, new App.Entity.LimbState());
+						jQuery(`#${descText.id}`).empty().append(description(true, text));
+					}
+				)
+			);
+			linkArray.push(
+				App.UI.DOM.link(
+					"Remove",
+					() => {
+						_.set(slave, value, null);
+						jQuery(`#${descText.id}`).empty().append(description(false, text));
+					}
+				)
+			);
+			div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+			el.append(div);
+		}
+
+		function description(hasLimb, text) {
+			return `${text}: ${(hasLimb) ? `Yes` : `No`}. `;
+		}
+
+		return el;
+	}
+
+	function nationality() {
+		const el = document.createElement("div");
+		const slaveProperty = "nationality";
+		const choices = new Map([
+			["slave", "Slave"],
+			["Stateless", "Stateless"],
+			["Nationality is unimportant", "Nationality is unimportant"],
+		]);
+		for (const nationality of setup.baseNationalities) {
+			choices.set(nationality, nationality);
+		}
+
+		createDescription(el, description, slaveProperty);
+
+		// Choices
+		const select = document.createElement("select");
+		for (const [value, text] of choices) {
+			const option = document.createElement("option");
+			option.text = text;
+			option.value = value;
+			if (slave.nationality === option.value) {
+				option.selected = true;
+			}
+			select.append(option);
+		}
+		select.onchange = () => {
+			slave.nationality = select.options[select.selectedIndex].value;
+			jQuery("#nationality-text").empty().append(description());
+		};
+		el.append(select);
+
+		function description() {
+			for (const [value, text] of choices) {
+				if (slave.nationality === value) {
+					return `${text}. `;
+				}
+			}
+		}
+
+		return el;
+	}
+
+	function reset() {
+		return App.UI.DOM.makeElement(
+			"p",
+			App.UI.DOM.link(
+				"Reset custom order form",
+				() => {
+					V.customSlave = new App.Entity.CustomSlaveOrder();
+					V.market = new App.Markets.GlobalVariable();
+					V.market.slaveMarket = "Custom Slave";
+					V.market.newSlaves = [];
+				},
+				[],
+				"Market"
+			)
+		);
+	}
+
+	function orderControls() {
+		const linkArray = [];
+		if (V.customSlaveOrdered === 1) {
+			linkArray.push(
+				App.UI.DOM.passageLink(
+					"Update custom slave order",
+					"Buy Slaves"
+				)
+			);
+			linkArray.push(
+				App.UI.DOM.link(
+					"Withdraw custom slave order",
+					() => { V.customSlaveOrdered = 0; },
+					[],
+					"Buy Slaves"
+				)
+			);
+		} else {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Post custom slave order",
+					() => { V.customSlaveOrdered = 1; },
+					[],
+					"Buy Slaves"
+				)
+			);
+		}
+
+		return App.UI.DOM.makeElement("p", App.UI.DOM.generateLinksStrip(linkArray));
+	}
 
 	/**
 	 *
@@ -206,7 +1059,7 @@ App.Markets["Custom Slave"] = function() {
 				App.UI.DOM.link(
 					text,
 					() => {
-						slave[slaveParam] = (Number(value) || value);
+						_.set(slave, slaveParam, (Number(value) || value));
 						jQuery(`#${slaveParam}-text`).empty().append(description());
 					}
 				)
diff --git a/src/markets/theMarket/buySlaves.js b/src/markets/theMarket/buySlaves.js
index 4bc84e174e308fa2ad256c773a538caaaea7f308..b224e3918d7d1728380d0ce4fa3c986fed95e52d 100644
--- a/src/markets/theMarket/buySlaves.js
+++ b/src/markets/theMarket/buySlaves.js
@@ -137,29 +137,20 @@ App.UI.buySlaves = function() {
 		}
 
 		const linkArray = [];
-		if (store.marketType === "Custom Slave") { // hardcoding this exception because converting this is going to be a bitch.
-			linkArray.push(
-				App.UI.DOM.passageLink(
-					store.title,
-					store.marketType
-				)
-			);
-		} else {
-			linkArray.push(
-				App.UI.DOM.link(
-					store.title,
-					() => {
-						V.market = new App.Markets.GlobalVariable();
-						V.market.slaveMarket = store.marketType;
-						V.market.newSlaves = [];
-						V.market.numArcology = 1;
-						updateNav();
-					},
-					[],
-					"Market"
-				)
-			);
-		}
+		linkArray.push(
+			App.UI.DOM.link(
+				store.title,
+				() => {
+					V.market = new App.Markets.GlobalVariable();
+					V.market.slaveMarket = store.marketType;
+					V.market.newSlaves = [];
+					V.market.numArcology = 1;
+					updateNav();
+				},
+				[],
+				"Market"
+			)
+		);
 		if (store.bulkAvailable !== false) {
 			if (V.cash > (minCost * 5)) {
 				linkArray.push(
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 404cd4b5bad78519331bb96385554d6fedc494f3..cf5894f5e1d032c4b65a8fac7c48fa469e6214fd 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -1,518 +1,3 @@
-:: slave creation widgets [widget nobr]
-
-/%
- Call as <<CustomSlaveAge>>
-%/
-<<widget "CustomSlaveAge">>
-	<<replace #age>>
-		<<if $customSlave.age < 3>>2- years old.
-		<<elseif $customSlave.age < 5>>3-4 years old.
-		<<elseif $customSlave.age < 7>>5-6 years old.
-		<<elseif $customSlave.age < 10>>7-9 years old.
-		<<elseif $customSlave.age < 13>>10-12 years old.
-		<<elseif $customSlave.age < 15>>13-14 years old.
-		<<elseif $customSlave.age < 18>>15-17 years old.
-		<<elseif $customSlave.age < 20>>18-19 years old.
-		<<elseif $customSlave.age < 25 && $retirementAge >= 25>>20-24 years old.
-		<<elseif $customSlave.age < 25 && $retirementAge >= 20>>20+ years old.
-		<<elseif $customSlave.age < 30 && $retirementAge >= 30>>25-29 years old.
-		<<elseif $customSlave.age < 30 && $retirementAge >= 25>>25+ years old.
-		<<elseif $customSlave.age < 40 && $retirementAge >= 40>>30-39 years old.
-		<<elseif $customSlave.age < 40 && $retirementAge >= 30>>30+ years old.
-		<<elseif $customSlave.age < 50 && $retirementAge >= 50>>40-49 years old.
-		<<elseif $customSlave.age < 50 && $retirementAge >= 40>>40+ years old.
-		<<elseif $customSlave.age < 60 && $retirementAge >= 60>>50-59 years old.
-		<<elseif $customSlave.age < 60 && $retirementAge >= 50>>50+ years old.
-		<<elseif $customSlave.age < 70 && $retirementAge >= 70>>60-69 years old.
-		<<elseif $customSlave.age < 70 && $retirementAge >= 60>>60+ years old.
-		<<elseif $customSlave.age < 80 && $retirementAge >= 80>>70-79 years old.
-		<<elseif $customSlave.age < 80 && $retirementAge >= 70>>70+ years old.
-		<<elseif $customSlave.age < 90 && $retirementAge >= 90>>80-89 years old.
-		<<elseif $customSlave.age < 90 && $retirementAge >= 80>>80+ years old.
-		<<elseif $customSlave.age < 100 && $retirementAge >= 100>>90-99 years old.
-		<<elseif $customSlave.age < 100 && $retirementAge >= 90>>90+ years old.
-		<<elseif $customSlave.age < 110 && $retirementAge >= 110>>100-109 years old.
-		<<elseif $customSlave.age < 110 && $retirementAge >= 100>>100+ years old.
-		<<elseif $customSlave.age < 120 && $retirementAge >= 120>>110-119 years old.
-		<<elseif $customSlave.age < 120 && $retirementAge >= 110>>110+ years old.
-		<<elseif $customSlave.age < 130 && $retirementAge >= 130>>120-129 years old.
-		<<elseif $customSlave.age < 130 && $retirementAge >= 120>>120+ years old.
-		<<else>>130+ years old.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveHealth>>
-%/
-<<widget "CustomSlaveHealth">>
-	<<replace #health>>
-		<<if $customSlave.health == 0>>Healthy.
-		<<else>>Extremely healthy.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveMuscles>>
-%/
-<<widget "CustomSlaveMuscles">>
-	<<replace #muscles>>
-		<<if $customSlave.muscles > 95>>
-			Ripped.
-		<<elseif $customSlave.muscles > 50>>
-			Muscular.
-		<<elseif $customSlave.muscles > 30>>
-			Well built.
-		<<elseif $customSlave.muscles > 5>>
-			Toned.
-		<<elseif $customSlave.muscles > -6>>
-			Soft.
-		<<elseif $customSlave.muscles > -31>>
-			Quite weak.
-		<<elseif $customSlave.muscles > -51>>
-			Rather weak.
-		<<elseif $customSlave.muscles > -96>>
-			Very weak.
-		<<else>>
-			Frail.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveLips>>
-%/
-<<widget "CustomSlaveLips">>
-	<<replace #lips>>
-		<<if $customSlave.lips <= 10>>Thin lips.
-		<<elseif $customSlave.lips <= 20>>Normal lips.
-		<<elseif $customSlave.lips <= 40>>Plush lips.
-		<<elseif $customSlave.lips <= 70>>Big lips.
-		<<elseif $customSlave.lips <= 95>>Huge lips.
-		<<else>>Facepussy.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveVoice>>
-%/
-<<widget "CustomSlaveVoice">>
-	<<replace #voice>>
-		<<if $customSlave.voice == 3>>High, girly voice.
-		<<elseif $customSlave.voice == 2>>Feminine voice.
-		<<elseif $customSlave.voice == 1>>Deep voice.
-		<<elseif $customSlave.voice == 0>>Mute.
-		<<else>>Voice is unimportant.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveHeight>>
-%/
-<<widget "CustomSlaveHeight">>
-	<<replace #height>>
-		<<if $customSlave.heightMod == "greatly below average">>Petite.
-		<<elseif $customSlave.heightMod == "below average">>Short.
-		<<elseif $customSlave.heightMod == "normal">>Average height.
-		<<elseif $customSlave.heightMod == "above average">>Tall.
-		<<else>>Very tall.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveWeight>>
-%/
-<<widget "CustomSlaveWeight">>
-	<<replace #weight>>
-		<<if $customSlave.weight == -50>>Very thin.
-		<<elseif $customSlave.weight == -15>>Thin.
-		<<elseif $customSlave.weight == 0>>Average weight.
-		<<elseif $customSlave.weight == 15>>Chubby.
-		<<elseif $customSlave.weight == 50>>Plump.
-		<<elseif $customSlave.weight == 100>>Fat.
-		<<elseif $customSlave.weight == 150>>Very Fat.
-		<<else>>Immobile.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveFace>>
-%/
-<<widget "CustomSlaveFace">>
-	<<replace #face>>
-		<<if $customSlave.face < -40>>Very unattractive face.
-		<<elseif $customSlave.face < -10>>Unattractive face.
-		<<elseif $customSlave.face <= 10>>Average face.
-		<<elseif $customSlave.face <= 40>>Attractive face.
-		<<elseif $customSlave.face > 40>>Very attractive face.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveRace>>
-%/
-<<widget "CustomSlaveRace">>
-	<<replace #ethnicity>>
-		<<textbox "$customSlave.race" $customSlave.race "Custom Slave">>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveSkin>>
-%/
-<<widget "CustomSlaveSkin">>
-	<<replace #skin>>
-		<<textbox "$customSlave.skin" $customSlave.skin "Custom Slave">>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveBoobs>>
-%/
-<<widget "CustomSlaveBoobs">>
-	<<replace #boobs>>
-		<<if $customSlave.boobs == 200>>Flat chest.
-		<<elseif $customSlave.boobs <= 500>>Healthy breasts.
-		<<elseif $customSlave.boobs <= 800>>Big breasts.
-		<<elseif $customSlave.boobs <= 1400>>Huge breasts.
-		<<elseif $customSlave.boobs <= 2100>>Giant breasts.
-		<<else>>Massive breasts.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveButt>>
-%/
-<<widget "CustomSlaveButt">>
-	<<replace #butt>>
-		<<if $customSlave.butt == 1>>Flat buttocks.
-		<<elseif $customSlave.butt < 4>>Healthy buttocks.
-		<<elseif $customSlave.butt < 6>>Huge buttocks.
-		<<else>>Massive buttocks.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveSex>>
-%/
-<<widget "CustomSlaveSex">>
-	<<replace #sex>>
-		<<if $customSlave.sex == 1>>Female (cock & balls options not applied).
-		<<elseif $customSlave.sex == 2>>Male (pussy options not applied).
-		<<else>>Futanari (clit options not applied).
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveVirgin>>
-%/
-<<widget "CustomSlaveVirgin">>
-	<<replace #virgin>>
-		<<if $customSlave.virgin == 0>>Vaginal virgin.
-		<<else>>Virginity not important.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveVagina>>
-%/
-<<widget "CustomSlaveVagina">>
-	<<replace #vagina>>
-		<<if $customSlave.vagina == -1>>No vagina.
-		<<elseif $customSlave.vagina == 0>>Vaginal virgin.
-		<<else>>Normal vagina.
-		<</if>>
-		<<link "No vagina">>
-			<<set $customSlave.vagina = -1, $customSlave.preg = 0, $customSlave.ovaries = 0>>
-			<<CustomSlaveVagina>>
-		<</link>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveDick>>
-%/
-<<widget "CustomSlaveDick">>
-	<<replace #dick>>
-		<<if $customSlave.dick == 0>>No penis.
-		<<elseif $customSlave.dick == 2>>Small penis.
-		<<else>>Large penis.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveBalls>>
-%/
-<<widget "CustomSlaveBalls">>
-	<<replace #balls>>
-		<<if $customSlave.balls == 0>>No testicles.
-		<<elseif $customSlave.balls == 2>>Small testicles.
-		<<elseif $customSlave.balls == 4>>Large testicles.
-		<<else>>Huge Balls.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveClit>>
-%/
-<<widget "CustomSlaveClit">>
-	<<replace #clit>>
-		<<if $customSlave.clit == 0>>Normal clitoris.
-		<<elseif $customSlave.clit == 1>>Big clitoris.
-		<<elseif $customSlave.clit == 3>>Enormous clitoris.
-		<<else>>Pseudophallus.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveLabia>>
-%/
-<<widget "CustomSlaveLabia">>
-	<<replace #labia>>
-		<<if $customSlave.labia == 0>>Normal labia.
-		<<elseif $customSlave.labia == 1>>big labia.
-		<<elseif $customSlave.labia == 2>>Huge labia.
-		<<else>>Enormous labia.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveClitBalls>>
-%/
-<<widget "CustomSlaveClitBalls">>
-	<<replace #clitballs>>
-	<<if $customSlave.dick > 0>>
-	<<if $customSlave.balls == 0>>No testicles.<<elseif $customSlave.balls == 2>>Small testicles.<<else>>Large testicles.<</if>>
-	<<link "No testicles">>
-		<<set $customSlave.balls = 0,$customSlave.clit = 0>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Small testicles">>
-		<<set $customSlave.balls = 2,$customSlave.clit = 0>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Large testicles">>
-		<<set $customSlave.balls = 4,$customSlave.clit = 0>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	<<else>>
-	<<if $customSlave.clit == 0>>Normal clitoris.<<elseif $customSlave.clit == 0>>Big clitoris.<<else>>Enormous clitoris.<</if>>
-	<<link "Normal clitoris">>
-		<<set $customSlave.clit = 0>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Big clitoris">>
-		<<set $customSlave.clit = 1>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Enormous clitoris">>
-		<<set $customSlave.clit = 2>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	<br>
-	<<if $customSlave.labia == 0>>Minimal labia.<<elseif $customSlave.labia == 1>>Normal labia.<<elseif $customSlave.labia == 2>>Huge labia.<<else>>Enormous labia.<</if>>
-	<<link "Minimal labia">>
-		<<set $customSlave.labia = 0>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Normal labia">>
-		<<set $customSlave.labia = 1>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Huge labia">>
-		<<set $customSlave.labia = 2>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	|
-	<<link "Enormous labia">>
-		<<set $customSlave.labia = 3>>
-		<<CustomSlaveClitBalls>>
-	<</link>>
-	<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveLube>>
-%/
-<<widget "CustomSlaveLube">>
-	<<replace #lube>>
-		<<if $customSlave.vaginaLube == 0>>Dry vagina.
-		<<elseif $customSlave.vaginaLube == 1>>Wet vagina.
-		<<else>>Sopping wet vagina.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveAnalVirginity>>
-%/
-<<widget "CustomSlaveAnalVirginity">>
-	<<replace #anus>>
-		<<if $customSlave.analVirgin == 0>>Anal virgin.
-		<<else>>Anal virginity is not important.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveAnus>>
-%/
-<<widget "CustomSlaveAnus">>
-	<<replace #anus>>
-		<<if $customSlave.anus == 0>>Anal virgin.
-		<<else>>Normal anus.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveSkills>>
-%/
-<<widget "CustomSlaveSkills">>
-	<<replace #skills>>
-		<<if $customSlave.skills <= 10>>Sexually unskilled.
-		<<elseif $customSlave.skills <= 35>>Basic sex skills.
-		<<else>>Sexually skilled.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveWhoreSkills>>
-%/
-<<widget "CustomSlaveWhoreSkills">>
-	<<replace #whore-skills>>
-		<<if $customSlave.skill.whore <= 10>>Unskilled at prostitution and entertainment.
-		<<elseif $customSlave.skill.whore <= 35>>Basic prostitution and entertainment skills.
-		<<else>>Skilled at prostitution and entertainment.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveCombatSkills>>
-%/
-<<widget "CustomSlaveCombatSkills">>
-	<<replace #combat-skills>>
-		<<if $customSlave.skill.combat == 0>>Unskilled at combat.
-		<<else>>Skilled at combat.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveIntelligence>>
-%/
-<<widget "CustomSlaveIntelligence">>
-	<<replace #intelligence>>
-		<<if $customSlave.intelligence >= 3>>Brilliant.
-		<<elseif $customSlave.intelligence == 2>>Very smart.
-		<<elseif $customSlave.intelligence == 1>>Smart.
-		<<elseif $customSlave.intelligence == 0>>Average intelligence.
-		<<elseif $customSlave.intelligence == -1>>Stupid.
-		<<elseif $customSlave.intelligence == -2>>Very stupid.
-		<<else>>Moronic.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveEducation>>
-%/
-<<widget "CustomSlaveEducation">>
-	<<replace #education>>
-		<<if $customSlave.intelligenceImplant >= 30>>Well educated.
-		<<elseif $customSlave.intelligenceImplant >= 15>>Educated.
-		<<else>>Uneducated.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveNationality>>
-%/
-<<widget "CustomSlaveNationality">>
-	<<replace #nationality>>
-		Nationality: $customSlave.nationality.
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveEyes>>
-%/
-<<widget "CustomSlaveEyes">>
-	<<replace #eyes>>
-		<<if getBestVision($customSlave) === 2>>Normal vision.
-		<<elseif getBestVision($customSlave) === 1>>Nearsighted.
-		<<else>>Blind.
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveEars>>
-%/
-<<widget "CustomSlaveEars">>
-	<<replace #hears>>
-		<<if $seeExtreme == 1>>
-			<<if $customSlave.hears == -2>>Deaf.
-			<<elseif $customSlave.hears == -1>>Hard of hearing.
-			<<else>>Normal.
-			<</if>>
-		<<else>>
-			<<if $customSlave.hears == -1>>Hard of hearing.
-			<<else>>Normal.
-			<</if>>
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveSmell>>
-%/
-<<widget "CustomSlaveSmell">>
-	<<replace #smelling>>
-		<<if $seeExtreme == 1>>
-			<<if $customSlave.smells == -1>>None.
-			<<else>>Normal.
-			<</if>>
-		<</if>>
-	<</replace>>
-<</widget>>
-
-/%
- Call as <<CustomSlaveTaste>>
-%/
-<<widget "CustomSlaveTaste">>
-	<<replace #tasting>>
-		<<if $seeExtreme == 1>>
-			<<if $customSlave.tastes == -1>>None.
-			<<else>>Normal.
-			<</if>>
-		<</if>>
-	<</replace>>
-<</widget>>
 
 /%
 	Call as <<MarketName 'market' ['arcology']>>