diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 5fd3c3464cbe1a6a31239b3f7bcab6724b94115d..0076de0497110598b8b184035d54c34e0e43b4d6 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -10627,7 +10627,7 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and wears an one-piece swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a monokini"});
 				}
 				if(isItemAccessible("one-piece swimsuit")) {
-					wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "one-piece swimsuit"});
+					wardrobeAssignment.push({text: `and wears a one-piece swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "one-piece swimsuit"});
 				}
 				if(isItemAccessible("a burkini")) {
 					wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a burkini"});
@@ -10752,7 +10752,7 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeAssignment.push({text: `and wears normal clothing to not distract from ${his} lessons.`, clothes: "conservative clothing"});
 					}
 				} else if((slave.assignment == "whore") || (slave.assignment == "work in the brothel")) {
-					 if(slave.belly >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
+					if(slave.belly >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
 						wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while still looking a little classy.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 					wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and still look a little classy.`, clothes: "attractive lingerie"});
@@ -11008,7 +11008,7 @@ window.saChoosesOwnClothes = (function() {
 					if(isItemAccessible("a ball gown")) {
 						wardrobeTastes.push({text: `and chooses a formal dress that makes ${him} feel like royalty.`, clothes: "a ball gown"});
 					}
-				} else if(slave.behavioralQuirk == "devout") {
+				} else if(slave.behavioralFlaw == "devout") {
 					wardrobeTastes.push({text: `and wears something more appropriate for a monastery than a whorehouse.`, clothes: "a penitent nuns habit"});
 				}
 
@@ -22482,9 +22482,9 @@ window.SlaveSummaryUncached = (function(){
 		}
 		r += " ";
 		/*
-		 ** No NCS, then do the standard, However because of the wrinkes of Incubators, as long as visual age is greater 
-		 ** than or equal to physical age, we do the old physical body/Looks for fresh out of the can NCS slaves.
-		 */
+		** No NCS, then do the standard, However because of the wrinkes of Incubators, as long as visual age is greater 
+		** than or equal to physical age, we do the old physical body/Looks for fresh out of the can NCS slaves.
+		*/
 		if (((slave.geneMods.NCS === 0) || (slave.visualAge >= slave.physicalAge))) {
 			if (slave.actualAge !== slave.physicalAge) {
 				r += `${slave.physicalAge} year old body. `;
@@ -22494,14 +22494,14 @@ window.SlaveSummaryUncached = (function(){
 			}
 		} else {
 			/*
-			 ** Now the rub. The use of physical Age for the year old body above, basically conflicts with the changes
-			 ** that NCS introduces, so here to *distinguish* the changes, we use visual age with the 'year old body'
-			 ** and appears, for example: Slave release from incubator at age 10, Her summary would show, 'Age 0. 10 
-			 ** year old body.' But if she's given NCS a few weeks after release, while she's still before her first 
-			 ** birthday, it'll appear the same. But once her birthday fires, if we ran with the above code it would 
-			 ** say: 'Age 1. 11 year old body.' -- this conflicts with the way NCS works though, because she hasn't
-			 ** visually aged, so our change here makes it say 'Age 1. Appears to have a 10 year old body.'
-			 */
+			** Now the rub. The use of physical Age for the year old body above, basically conflicts with the changes
+			** that NCS introduces, so here to *distinguish* the changes, we use visual age with the 'year old body'
+			** and appears, for example: Slave release from incubator at age 10, Her summary would show, 'Age 0. 10 
+			** year old body.' But if she's given NCS a few weeks after release, while she's still before her first 
+			** birthday, it'll appear the same. But once her birthday fires, if we ran with the above code it would 
+			** say: 'Age 1. 11 year old body.' -- this conflicts with the way NCS works though, because she hasn't
+			** visually aged, so our change here makes it say 'Age 1. Appears to have a 10 year old body.'
+			*/
 			r += `Appears to have a ${slave.visualAge} year old body. `;
 		}
 		if (slave.geneMods.NCS === 1) {
@@ -27144,7 +27144,7 @@ window.GetVignette = function GetVignette(slave) {
 				break;
 			case "devout":
 				vignettes.push({
-					text: `a customer catches ${him} praying to ${himself} as they inserts themselves into ${him}, turning them off,`,
+					text: `a customer catches ${him} praying to ${himself} as they inserted themselves into ${him}, turning them off,`,
 					type: "cash",
 					effect: -1,
 				});
@@ -28720,7 +28720,7 @@ window.GetVignette = function GetVignette(slave) {
 				break;
 			case "devout":
 				vignettes.push({
-					text: `a citizen catches ${him} praying to ${himself} as they inserts themsleves into ${him}, turning them off,`,
+					text: `a citizen catches ${him} praying to ${himself} as they inserted themsleves into ${him}, turning them off,`,
 					type: "rep",
 					effect: -1,
 				});
@@ -30104,7 +30104,42 @@ window.GetVignette = function GetVignette(slave) {
 					type: "health",
 					effect: -1,
 				});
-			break;
+				break;
+			case "devout":
+				vignettes.push({
+					text: `${he} spent nearly all of ${his} free time praying,`,
+					type: "cash",
+					effect: 0,
+				});
+				break;
+		}
+		switch (slave.behavioralQuirk) {
+			case "fitness":
+				vignettes.push({
+					text: `${he} spent a great deal of time working out,`,
+					type: "health",
+					effect: 1,
+				});
+				vignettes.push({
+					text: `${he} exercised to the point of physical exhaustion,`,
+					type: "health",
+					effect: -1,
+				});
+				break;
+			case "insecure":
+				vignettes.push({
+					text: `${he} relaxed by doing whatever other slaves were doing,`,
+					type: "cash",
+					effect: 0,
+				});
+				break;
+		}
+		if (slave.fetish === "mindbroken") {
+			vignettes.push({
+				text: `${he} spent ${his} time watching paint dry. No one bothered telling ${him} the wall wasn't newly painted,`,
+				type: "cash",
+				effect: 0,
+			});
 		}
 		if (slave.devotion > 95) {
 			vignettes.push({
@@ -30338,17 +30373,25 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 
 	switch (slave.nationality) {
 		case "Afghan":
-			slave.accent = (V.language === "Pashto") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			if (V.language === "Pashto") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Dari") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Persian") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Albanian":
 			slave.accent = naturalAccent;
 			break;
 		case "Algerian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "American":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Spanish" && slave.race === "latina") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Chinese" && slave.race === "asian") {
@@ -30360,16 +30403,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Andorran":
-			slave.accent = (V.language === "Catalan") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Catalan") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Angolan":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Antiguan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Argentinian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Armenian":
 			if (V.language === "Russian") {
@@ -30382,7 +30425,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Aruban":
 			if (V.language === "Dutch") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Portuguese") {
@@ -30392,16 +30435,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Australian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Austrian":
 			if (V.language === "German") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Serbian") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Slovene") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
-			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+			} else if (V.language === "Turkish" && slave.race === "indo-aryan") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
 				slave.accent = naturalAccent;
@@ -30411,14 +30454,14 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Bahamian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bahraini":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bangladeshi":
 			if (V.language === "Bengali") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Hindi") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30426,16 +30469,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Barbadian":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Belarusian":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Belgian":
 			if (V.language === "Dutch") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "German") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30443,35 +30486,35 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Belizean":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Beninese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bermudian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bhutanese":
-			slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Bissau-Guinean":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bolivian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bosnian":
 			slave.accent = naturalAccent;
 			break;
 		case "Brazilian":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "British":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bruneian":
 			if (V.language === "Malay") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30482,19 +30525,19 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Burkinabé":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Burmese":
 			slave.accent = naturalAccent;
 			break;
 		case "Burundian":
-			slave.accent = (V.language === "Kirundi") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Kirundi") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Cambodian":
 			if (V.language === "Khmer") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Cham") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30502,31 +30545,31 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Cameroonian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Canadian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Cape Verdean":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Catalan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Central African":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Chadian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Chilean":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Chinese":
 			if (V.language === "Tibetan") {
@@ -30540,7 +30583,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Colombian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Comorian":
 			if (V.language === "Arabic") {
@@ -30553,38 +30596,38 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Congolese":
 			if (V.language === "Lingala") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Kikongo") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "a Cook Islander":
 			if (V.language === "Cook Islands Māori") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Costa Rican":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Croatian":
 			slave.accent = naturalAccent;
 			break;
 		case "Cuban":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Cypriot":
 			if (V.language === "Greek") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Turkish") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30592,28 +30635,34 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Czech":
-			slave.accent = naturalAccent;
+			if (V.language === "Slovak") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Vietnamese" && slave.race === "asian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Danish":
 			slave.accent = naturalAccent;
 			break;
 		case "Djiboutian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Dominican":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Dominiquais":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Dutch":
 			slave.accent = naturalAccent;
 			break;
 		case "East Timorese":
 			if (V.language === "Tetum") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Portuguese") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Malay") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30621,22 +30670,22 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Ecuadorian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Egyptian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Emirati":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Equatoguinean":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Eritrean":
 			if (V.language === "Tigrinya") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30648,7 +30697,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Ethiopian":
 			if (V.language === "Amharic") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Tigrinya") {
@@ -30658,15 +30707,15 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Fijian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Filipina":
 			if (V.language === "Filipino") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Tagalog") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Spanish") {
@@ -30676,7 +30725,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Finnish":
-			slave.accent = (V.language === "Swedish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Swedish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "French":
 			if (V.language === "English") {
@@ -30694,26 +30743,26 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "French Guianan":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "French Polynesian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Gabonese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Gambian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Georgian":
-			slave.accent = (V.language === "Abkhaz") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Abkhaz") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "German":
 			if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "French") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
-			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+			} else if (V.language === "Turkish" && slave.race === "indo-aryan") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
 				slave.accent = naturalAccent;
@@ -30721,7 +30770,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Ghanan":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Hausa") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Arabic") {
@@ -30734,37 +30783,37 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Greenlandic":
-			slave.accent = (V.language === "Danish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Danish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Grenadian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guamanian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guatemalan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guinean":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guyanese":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Haitian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Honduran":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Hungarian":
 			slave.accent = naturalAccent;
 			break;
 		case "I-Kiribati":
 			if (V.language === "Gilbertese") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -30780,19 +30829,25 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Indian":
 			if (V.language === "Hindi") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Indonesian":
-			slave.accent = (V.language === "Malay") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			if (V.language === "Javanese") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Iranian":
 			if (V.language === "Persian") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30801,7 +30856,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Iraqi":
 			if (V.language === "Arabic") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Kurdish") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30809,13 +30864,13 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Irish":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Israeli":
 			if (V.language === "Hebrew") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -30824,34 +30879,34 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Ivorian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Jamaican":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Japanese":
 			slave.accent = naturalAccent;
 			break;
 		case "Jordanian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Kazakh":
-			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Kenyan":
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Kittitian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Korean":
 			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Kosovan":
 			if (V.language === "Albanian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Serbian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -30860,16 +30915,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Kuwaiti":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Kyrgyz":
-			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Laotian":
 			if (V.language === "Lao") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Khmu") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30880,25 +30935,25 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Lebanese":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Liberian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Libyan":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "a Liechtensteiner":
-			slave.accent = (V.language === "German") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "German") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Lithuanian":
 			slave.accent = naturalAccent;
 			break;
 		case "Luxembourgian":
 			if (V.language === "German") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -30913,7 +30968,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Malaysian":
-			slave.accent = (V.language === "Malay") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Malay") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Maldivian":
 			slave.accent = naturalAccent;
@@ -30923,61 +30978,67 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Maltese":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Italian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Marshallese":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mauritanian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mauritian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Mexican":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Nahuatl" && slave.race === "amerindian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Micronesian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Moldovan":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Monégasque":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mongolian":
 			slave.accent = naturalAccent;
 			break;
 		case "Montenegrin":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Serbian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Moroccan":
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Mosotho":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Sesotho") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Motswana":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mozambican":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Namibian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Afrikaans") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -30985,34 +31046,52 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Nauruan":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Nepalese":
-			slave.accent = naturalAccent;
+			if (V.language === "Nepali") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Maithili") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Bhojpuri") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "New Caledonian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Nengone") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Drehu") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "a New Zealander":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Ni-Vanuatu":
 			if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Nicaraguan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Nigerian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Hausa") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31021,9 +31100,9 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Nigerien":
 			if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Hausa") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31031,24 +31110,24 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Niuean":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Norwegian":
 			slave.accent = naturalAccent;
 			break;
 		case "Omani":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Pakistani":
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Palauan":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Sonsorolese") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Tobian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Japanese") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31056,19 +31135,19 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Palestinian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Panamanian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Papua New Guinean":
 			slave.accent = naturalAccent;
 			break;
 		case "Paraguayan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Peruvian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Polish":
 			slave.accent = naturalAccent;
@@ -31078,7 +31157,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Puerto Rican":
 			if (V.language === "Spanish") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31086,7 +31165,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Qatari":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Romanian":
 			slave.accent = naturalAccent;
@@ -31095,41 +31174,41 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Rwandan":
-			slave.accent = (V.language === "Kinyarwanda") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Kinyarwanda") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Sahrawi":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Saint Lucian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Salvadoran":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Sammarinese":
-			slave.accent = (V.language === "Italian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Italian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Samoan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "São Toméan":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Saudi":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Scottish":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Senegalese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Serbian":
 			slave.accent = naturalAccent;
 			break;
 		case "Seychellois":
 			if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31137,53 +31216,53 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Sierra Leonean":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Singaporean":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Chinese") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Malay") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Tamil") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Slovak":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Czech") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Slovene":
 			slave.accent = naturalAccent;
 			break;
 		case "a Solomon Islander":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Somali":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "South African":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Afrikaans") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "South Sudanese":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Spanish":
 			slave.accent = (V.language === "Catalan") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Sri Lankan":
 			if (V.language === "Sinhalese") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Tamil") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31194,10 +31273,20 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Surinamese":
-			slave.accent = (V.language === "Dutch") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Dutch") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Swazi":
-			slave.accent = naturalAccent;
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Afrikaans") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Tsonga") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Zulu") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Swedish":
 			if (V.language === "English") {
@@ -31214,9 +31303,9 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Swiss":
 			if (V.language === "German") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Italian") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -31224,16 +31313,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Syrian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Taiwanese":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Tajik":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Tanzanian":
-			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Thai":
 			if (V.language === "Chinese") {
@@ -31247,92 +31336,118 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Tibetan":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Togolese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Tongan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Trinidadian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Tunisian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Turkish":
-			slave.accent = naturalAccent;
+			if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Kurdish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Zaza") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Turkmen":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Tuvaluan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Ugandan":
-			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Ukrainian":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Uruguayan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Uzbek":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Vatican":
-			slave.accent = (V.language === "Italian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			if (V.language === "Italian") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Latin") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Venezuelan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Vietnamese":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			if (V.language === "Chinese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Vincentian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Yemeni":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Zairian":
 			if (V.language === "Lingala") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Kikongo") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Swahili") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Zambian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Zimbabwean":
-			slave.accent = (V.language === "English" && slave.race === "white") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English" && slave.race === "white") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Ancient Chinese Revivalist":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Ancient Egyptian Revivalist":
-			slave.accent = (V.language === "Ancient Egyptian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Ancient Egyptian") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Arabian Revivalist":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Aztec Revivalist":
-			slave.accent = (V.language === "Nahuatl") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Nahuatl") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Edo Revivalist":
-			slave.accent = (V.language === "Japanese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Japanese") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Roman Revivalist":
-			slave.accent = (V.language === "Latin") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Latin") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		default:
 			slave.accent = naturalAccent;
@@ -31340,7 +31455,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 	}
 
 	if (slave.nationality === V.language) {
-		slave.accent = jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1]);
+		slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 	}
 };
 
@@ -32171,13 +32286,13 @@ window.GenerateNewSlave = (function(){
 	function generateCircumcision() {
 		/* The default rate of 50* is wildly unrepresentative, and there is extreme regional variation. */
 		/*
-		 What we want is the prevalence among newborns, since this game
-		 happens about 20 years in the future, but we'll use this lacking
-		 something better.
-		 https://pophealthmetrics.biomedcentral.com/articles/10.1186/s12963-016-0073-5
-		 Right now we mostly just break it down by country.
-		 It would be better to break it down by both country
-		 and race if statistics are available.
+		What we want is the prevalence among newborns, since this game
+		happens about 20 years in the future, but we'll use this lacking
+		something better.
+		https://pophealthmetrics.biomedcentral.com/articles/10.1186/s12963-016-0073-5
+		Right now we mostly just break it down by country.
+		It would be better to break it down by both country
+		and race if statistics are available.
 		*/
 		if (V.seeCircumcision == 0) {
 			slave.foreskin = slave.dick + jsRandom(0,1);
@@ -35592,7 +35707,91 @@ window.childMiscellaneousDatatypeCleanup = function childMiscellaneousDatatypeCl
 	child.accent = Math.clamp(+child.accent, 0, 3) || 0;
 };
 
-window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
+window.PCDatatypeCleanup = function PCDatatypeCleanup() {
+	const V = State.variables;
+	const PC = V.PC;
+
+	if (PC.title !== 0) {
+		PC.title = Math.clamp(+PC.title, 0, 1) || 1;
+	}
+	if (PC.dick !== 0) {
+		PC.dick = Math.clamp(+PC.dick, 0, 1) || 1;
+	}
+	PC.vagina = Math.clamp(+PC.vagina, 0, 1) || 0;
+	PC.belly = Math.max(+PC.belly, 0) || 0;
+	PC.pregMood = Math.clamp(+PC.pregMood, 0, 2) || 0;
+	PC.labor = Math.clamp(+PC.labor, 0, 1) || 0;
+	PC.births = Math.max(+PC.births, 0) || 0;
+	PC.boobs = Math.clamp(+PC.boobs, 0, 1) || 0;
+	PC.boobsBonus = Math.clamp(+PC.boobsBonus, -3, 3) || 0;
+	PC.boobsImplant = Math.clamp(+PC.boobsImplant, 0, 1) || 0;
+	PC.butt = Math.clamp(+PC.butt, 0, 3) || 0;
+	PC.buttImplant = Math.clamp(+PC.buttImplant, 0, 1) || 0;
+	PC.balls = Math.clamp(+PC.balls, 0, 3) || 0;
+	PC.ballsImplant = Math.clamp(+PC.ballsImplant, 0, 4) || 0;
+	PC.degeneracy = Math.max(+PC.degeneracy, 0) || 0;
+	PC.birthWeek = Math.clamp(+PC.birthWeek, 0, 51) || 0;
+	if (PC.sexualEnergy !== 0 ) {
+		PC.sexualEnergy = +PC.sexualEnergy || 4;
+	}
+	PC.refreshmentType = Math.clamp(+PC.refreshmentType, 0, 6) || 0;
+	PC.trading = Math.clamp(+PC.trading, -100, 100) || 0;
+	PC.warfare = Math.clamp(+PC.warfare, -100, 100) || 0;
+	PC.slaving = Math.clamp(+PC.slaving, -100, 100) || 0;
+	PC.engineering = Math.clamp(+PC.engineering, -100, 100) || 0;
+	PC.medicine = Math.clamp(+PC.medicine, -100, 100) || 0;
+	PC.hacking = Math.clamp(+PC.hacking, -100, 100) || 0;
+	PC.cumTap = Math.max(+PC.cumTap, 0) || 0;
+	PC.mother = +PC.mother || 0;
+	PC.father = +PC.father || 0;
+	PC.birthElite = Math.max(+PC.birthElite, 0) || 0;
+	PC.birthMaster = Math.max(+PC.birthMaster, 0) || 0;
+	PC.birthDegenerate = Math.max(+PC.birthDegenerate, 0) || 0;
+	PC.birthClient = Math.max(+PC.birthClient, 0) || 0;
+	PC.birthOther = Math.max(+PC.birthOther, 0) || 0;
+	PC.birthArcOwner = Math.max(+PC.birthArcOwner, 0) || 0;
+	PC.birthCitizen = Math.max(+PC.birthCitizen, 0) || 0;
+	PC.birthSelf = Math.max(+PC.birthSelf, 0) || 0;
+	PC.slavesFathered = Math.max(+PC.slavesFathered, 0) || 0;
+	PC.slavesKnockedUp = Math.max(+PC.slavesKnockedUp, 0) || 0;
+	PC.intelligence = 100;
+	PC.face = 100;
+	PC.actualAge = Math.clamp(+PC.actualAge, 14, 80) || 35;
+	PC.physicalAge = Math.clamp(+PC.physicalAge, 14, 80) || PC.actualAge;
+	PC.visualAge = Math.clamp(+PC.visualAge, 14, 80) || PC.actualAge;
+	PC.ovaryAge = Math.clamp(+PC.ovaryAge, 14, 80) || PC.physicalAge;
+	if (V.playerAging !== 0) {
+		V.playerAging = Math.clamp(+V.playerAging, 0, 2) || 2;
+	}
+	PC.newVag = Math.clamp(+PC.newVag, 0, 1) || 0;
+	PC.reservedChildren = Math.max(+PC.reservedChildren, 0) || 0;
+	PC.reservedChildrenNursery = Math.max(+PC.reservedChildrenNursery, 0) || 0;
+	PC.fertDrugs = Math.clamp(+PC.fertDrugs, 0, 1) || 0;
+	PC.forcedFertDrugs = Math.max(+PC.forcedFertDrugs, 0) || 0;
+	PC.staminaPills = Math.clamp(+PC.staminaPills, 0, 1) || 0;
+	PC.storedCum = Math.max(+PC.storedCum, 0) || 0;
+	PC.mpreg = 0; /* So knockMeUp() may be used with the PC */
+	
+	if (PC.age !== undefined) {
+		delete PC.age;
+	}
+	if (PC.indenture !== undefined) {
+		delete PC.indenture;
+	}
+	if (PC.indentureRestrictions !== undefined) {
+		delete PC.indentureRestrictions;
+	}
+	
+	/* None of these are in use */
+	PC.bellyPreg = PC.belly;
+	PC.ageImplant = 0;
+	PC.voiceImplant = 0;
+	PC.accent = 0;
+	PC.shoulders = 0;
+	PC.shouldersImplant = 0;
+};
+
+window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() {
 	const V = State.variables;
 	
 	V.ACitizens = Math.max(+V.ACitizens, 0) || 0;
@@ -35601,6 +35800,11 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
 	V.ASlaveLimit = Math.max(+V.ASlaveLimit, 0) || 0;
 	V.shelterAbuse = Math.max(+V.shelterAbuse, 0) || 0;
 	
+	V.arcologies[0].prosperity = Math.max(+V.arcologies[0].prosperity, 0) || 0;
+	V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0;
+	V.arcologies[0].ownership = Math.clamp(+V.arcologies[0].ownership, 0, 100) || 0;
+	V.arcologies[0].minority = Math.clamp(+V.arcologies[0].minority, 0, 100) || 0;
+	
 	V.economy = Math.max(+V.economy, 20) || 100;
 	V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0;
 	V.localEcon = Math.max(+V.localEcon, 20) || V.economy;
@@ -35646,14 +35850,4 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
 	V.TCR.schoolProsperity = Math.clamp(+V.TCR.schoolProsperity, -10, 10) || 0;
 	V.TFS.studentsBought = Math.max(+V.TFS.studentsBought, 0) || 0;
 	V.TFS.schoolProsperity = Math.clamp(+V.TFS.schoolProsperity, -10, 10) || 0;
-
-	V.arcologies[0].prosperity = Math.max(+V.arcologies[0].prosperity, 0) || 0;
-	V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0;
-	V.arcologies[0].ownership = Math.clamp(+V.arcologies[0].ownership, 0, 100) || 0;
-	V.arcologies[0].minority = Math.clamp(+V.arcologies[0].minority, 0, 100) || 0;
-
-	/* Will be moved when I get around to creating PCDatatypeCleanup */
-	V.PC.actualAge = Math.clamp(+V.PC.actualAge, 14, 80) || 35;
-	V.PC.physicalAge = Math.clamp(+V.PC.physicalAge, 14, 80) || V.PC.actualAge;
-	V.PC.visualAge = Math.clamp(+V.PC.visualAge, 14, 80) || V.PC.actualAge;
 };
diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt
index a7ce3dab9606614ff3aa62dafd18c916ad82d222..f5ae18e6c5ab64036fee38530b6d89b5572e7268 100644
--- a/player variables documentation - Pregmod.txt	
+++ b/player variables documentation - Pregmod.txt	
@@ -171,6 +171,8 @@ Your career before becoming owner
 "escort"
 "servant"
 "gang"
+"BlackHat"
+"arcology owner"
 
 rumor:
 
@@ -180,14 +182,6 @@ rumor:
 "social engineering"
 "luck"
 
-indenture:
-
-no effect
-
-indentureRestrictions:
-
-no effect
-
 birthWeek:
 
 your week of birth in a year
@@ -196,7 +190,7 @@ accepts int between 0-51
 age:
 
 (uncommon in events)
-your age (deprecated)
+your age (obsolete, not in use)
 0 - young
 1 - typical
 2 - middle age
@@ -386,18 +380,18 @@ actualAge:
 
 (uncommon in events)
 your actualAge
-16+
+14+
 
 physicalAge:
 
 your body's age
-16+
+14+
 
 visualAge:
 
 (uncommon in events)
 how old you look
-16+
+14+
 
 boobsImplant:
 
@@ -425,6 +419,7 @@ how big your balls are (requires dick == 1)
 0 - normal
 1 - big
 2 - huge
+3 - massive
 
 ballsImplant:
 
@@ -437,7 +432,7 @@ how big your balls are (requires dick == 1)
 
 ageImplant:
 
-have your had age altering surgery
+have you had age altering surgery, not yet in use
 0 - no
 1 - yes
 
diff --git a/src/SpecialForce/Firebase.tw b/src/SpecialForce/Firebase.tw
index 09691bf3a557b0a1b51d5f61877044b4d6a17a3a..ce9b92519f7e382b50f57e4b74a5de0d40c70b08 100644
--- a/src/SpecialForce/Firebase.tw
+++ b/src/SpecialForce/Firebase.tw
@@ -1,133 +1,133 @@
 :: Firebase [nobr]
-	
+
 	<<if ndef $Tour>> <<set $Tour = 0>> <</if>>
-	
+
 	<<if $Tour === 0>>
-	
+
 		<<= Count()>> <<if $SF.Lower != "the special force">>
-	
+
 			<<set $SF.Caps = $SF.Lower.replace("the ", "The ")>> <</if>>
-	
+
 		<<switch _Env>> <<case 4>>
-	
+
 				<<set _EnvCash2 = 450,_EnvCash3 = 200,_EnvCash4 = 100,_EnvProsp = 3>>
-	
+
 			<<case 3>>
-	
+
 				<<set _EnvCash2 = 500,_EnvCash3 = 250,_EnvCash4 = 150,_EnvProsp = 5>>
-	
+
 			<<case 2>>
-	
+
 				<<set _EnvCash2 = 550,_EnvCash3 = 300,_EnvCash4 = 200,_EnvProsp = 7>>
-	
+
 		<</switch>> <<set $nextButton = "Back to Main",$nextLink = "Main",$returnTo = "Firebase">>
-	
+
 		<<if $cheatMode > 0>> <<link "Cheat edit""CheatEdit">> <</link>> <br> <</if>>
-	
+
 		The firebase of $arcologies[0].name's <<textbox "$SF.Lower" $SF.Lower "Firebase">> is located in the lower levels, occupying unneeded warehouse space. It is not accessible to the general citizenry, but your personal elevator has express service to it. As you step off, two soldiers in combat armor manning the entry checkpoint tense before recognizing their Marshal and stepping aside with a sharp salute.
-	
+
 		<br><br><<if $SFTradeShow.CanAttend === 1 || ($SFColonel.Fun + $SFColonel.Talk >= 1)>>
-	
+
 			You make your way to the operations center, <<print SFC()>> is handling a minor issue. As you enter, she salutes. <<if $SFTradeShow.CanAttend == 1>> The Colonel is away at her merc meetup, so <<print SFC()>> will assist you.<</if>>
-	
+
 		<<elseif random(1,100) > 5>>
-	
+
 			You make your way to the operations center. The Colonel is 
-	
+
 				<<if random(1,100) > 50>>glancing between her tablet and the large wallscreen, occasionally taking notes or barking orders.
-	
+
 				<<else>>examining a table with a map of the surrounding area, planning manuevers in the event of an attack.<</if>>
-	
+
 			 She notices your entrance and turns her attention to you. 
-	
+
 			<<if $SFColonel.Core == "brazen">>
-	
+
 				She gives a textbook salute. "<<= properTitle()>>, how can I help you?"
-	
+
 			<<else>>
-	
+
 			"Hey boss, what do you need?"<</if>>
-	
+
 		<<else>>
-	
+
 			You make your way to the operations center, finding it empty. A short walk takes you through the barracks to the Colonel's quarters. As you approach, the Colonel <<print ColonelQuarters()>>
-	
+
 		<</if>>
-	
+
 		<<if ndef $SFTradeShow.View && ($SFColonel.Fun + $SFColonel.Talk < 1)>>
-	
+
 			<br><br>Her expression changes as something jogs her memory. "Before we begin <<if $SFColonel.Core == "brazen">><<= properTitle()>><<else>>boss<</if>>, back when I was a merc me and a couple of my old friends would have a meetup every several months. Drinking, fucking, drugs... a little poker. It eventually grew into a whole thing, and now we bring our latest and greatest toys to show off, maybe make some money off selling the schematics. I'd like to continue going, for old times' sake."
-	
+
 			<br>[[Grant leave|Firebase][$SFTradeShow.CanAttend = 1,$SFTradeShow.View = 1]]
-	
+
 			<br>[[Request she remain on base|Firebase][$SFTradeShow.CanAttend = -2,$SFTradeShow.View = 0]]<br>
-	
+
 		<</if>>
-	
+
 			<<if $SFTradeShow.History >= 1 && (Math.trunc($week/24) === ($week/24)) && $SFTradeShow.CanAttend === -1>>
-	
+
 			<br><br>Her expression changes as something jogs her memory. "Before we begin <<if $SFColonel.Core == "brazen">><<= properTitle()>><<else>>boss<</if>>, that biannual merc meetup has come around again. You've already gave me leave to attend, but I just wanted to be sure I'm still clear to go."
-	
+
 			<br>[[Grant leave.|Firebase][$SFTradeShow.CanAttend = 1]]
-	
+
 			<br>[[Request she remain on site.|Firebase][$SFTradeShow.CanAttend = -1]]<br>
-	
+
 		<</if>>
-	
+
 		<<if $SFTradeShow.History >= 1 && ((Math.trunc(($week-1)/24) === ($week-1)/24) || (Math.trunc(($week-2)/24) === ($week-2)/24) || (Math.trunc(($week-3)/24) === ($week-3)/24))>>
-	
-			While at the recent merc meetup, the Colonel made @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Income))>>@@  selling generic schematics to her friends, <<print commaNum($SFTradeShow.Helots)>> menial slaves were won in a poker game, and <<print commaNum($SFTradeShow.TotalMercs)>> mercenaries were persuaded to join $SF.Lower.
-	
+
+			While at the recent merc meetup, the Colonel made @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Income))>>@@ selling generic schematics to her friends, <<print commaNum($SFTradeShow.Helots)>> menial slaves were won in a poker game, and <<print commaNum($SFTradeShow.TotalMercs)>> mercenaries were persuaded to join $SF.Lower.
+
 			<br>Total earnings thus far: @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Revenue))>>@@ in income, <<print commaNum($SFTradeShow.TotalHelots)>> menial slaves and <<print commaNum($SFTradeShow.Mercs)>> mercenaries joined across $SFTradeShow.History meetups.
-	
+
 		<</if>>
-	
+
 		<<print Interactions()>>
-	
+
 		<<include "WC">>
 
 		<<if $SpecOpsLock < 1>>
 			<br><<switch $SF.SpecOps>>
-		
+
 			<<case 0>>
-		
+
 				<br>No soldiers are working undercover. [[Full time assignement|Firebase][$SpecOpsLock = 1]]
-		
+
 				<br>[[Reassign soldiers|Firebase][$SF.SpecOps = -1]]
-		
+
 			<<case 1>>
-		
+
 				<br>A small section of soldiers are working undercover. [[Full time assignement|Firebase][$SpecOpsLock = 1]]
-		
+
 				<br>[[Reassign soldiers|Firebase][$SF.SpecOps = -1]]
-		
+
 			<<case 2>>
-		
+
 				<br>A large section of soldiers are working undercover. [[Full time assignement|Firebase][$SpecOpsLock = 1]]
-		
+
 				<br>[[Reassign soldiers|Firebase][$SF.SpecOps = -1]]
-		
+
 			<<default>>
-		
+
 				<br>Would you like to assign soldiers to undercover duty?
-		
+
 				<br>[[Do not assign soldiers to work undercover|Firebase][$SF.SpecOps = 0]]
-		
+
 				<br>[[Assign a small section of soldiers to work undercover|Firebase][$SF.SpecOps = 1]]
-		
+
 				<br>[[Assign a large section of soldiers to work undercover|Firebase][$SF.SpecOps = 2]]
-		
+
 			<</switch>>
 		<<else>>
 			<br> <<if $SF.SpecOps < 1>>''Zero''<<elseif $SF.SpecOps < 2>>A ''small'' section<<else>>A ''large'' section<</if>> of the special force is assigned to undercover work. [[Re-alloclate the units|Firebase][$SpecOpsLock = 0]]
 		<</if>>
-	
+
 		<<if $SFUnit.Firebase > 5 && $secExp > 0 && $SFSupportLevel >= 4 && $maxUnits === 16 && $readiness <= 10>>
-	
+
 			<br><br>[[Provide the security force with their own section.|Firebase][$maxUnits += 4,$readiness = 10,$cash -= Math.ceil((750000*(1.15+($SF.Units/1000))*(1.15+($SFUnit.Firebase/10)))*_Env)]]
-	
+
 			@@.yellowgreen;<<print cashFormat(Math.ceil((750000*(1.15+($SF.Units/1000))*(1.15+($SFUnit.Firebase/10)))*_Env))>>@@
-	
+
 		<</if>>
 
 		<br> <<if $SF.Bonus < 1>>
@@ -135,17 +135,17 @@
 		<<else>>
 			You are providing @@.yellowgreen;<<print cashFormat(Math.ceil(_SFCashBonus))>>@@ in bonuses for basic FS acceptance amoungst $SF.Lower. [[Withdraw the bonuses.|Firebase][$SF.Bonus = 0]]
 		<</if>>
-	
+
 		<<include "Upgrades">> 
-	
+
 		<br><<link "Tour the firebase" "Firebase">><<set $Tour = 1>><</link>>
-	
+
 	<</if>>
-	
+
 	<<if $Tour === 1>> <<set $nextButton = " ">>
-	
+
 		<<=Count()>><<include "FlavourText">><br>
-	
+
 		[[Return to Operations|Firebase][$Tour = 0]]
-	
+
 	<</if>>
\ No newline at end of file
diff --git a/src/SpecialForce/FlavourText.tw b/src/SpecialForce/FlavourText.tw
index 275fe243686e2984d9b93594add895a6842c4653..2bf9a81e2426090f47c5327d4fdaab5daf6d4c8c 100644
--- a/src/SpecialForce/FlavourText.tw
+++ b/src/SpecialForce/FlavourText.tw
@@ -35,7 +35,7 @@
 		nod respectfully, salute, or bow slightly, as they please.
 	<</if>>
 	You pass the briefing areas, the officers and sergeants of the force are conferring over planning tables and display screens regarding their upcoming deployments.
-	
+
 	<br><br><div style="margin-left:2em">The commanders are
 	<<if $SF.Target === "recruit">>
 		viewing lists of potential recruits for $SF.Lower. Mainly mercenaries and Old World soldiers who might be receptive to an offer of employment and residence within the arcology, in addition to some citizens of the arcology who wish to have some excitement in their lives.
@@ -235,4 +235,4 @@
 	<<elseif passage() === "SF_Report">>
 		<<include "SF_SupportFacilityReport">>
 	<</if>>
-<</if>>*/
+<</if>>*/
\ No newline at end of file
diff --git a/src/SpecialForce/NamingColonel.tw b/src/SpecialForce/NamingColonel.tw
index d8f0e7f57e7c35115d0632c28b487facfa15d8a6..12d3e95c9c48b768c946a28397a956f057115685 100644
--- a/src/SpecialForce/NamingColonel.tw
+++ b/src/SpecialForce/NamingColonel.tw
@@ -141,4 +141,4 @@
 	<br><br>Oh, one last thing. I know you've got some kind of grand social experiment going on up there like all the other arco owners, and that's your own deal, but I'd appreciate it if you could keep that stuff out of the new barracks. I'll have a hard time approaching potential recruits and telling them they should come live in a Roman apartment, an Egyptian temple, a goddamn Japanese teahouse, or some of the other crazy shit I've seen in the past. They're hard, nasty people, and trust me, I can tell you from experience that changing that is just not going to happen. Like I said, though, I can hold them back a bit if you like.
 
 	<br><br>Talk to you later, boss.// <<set $SF.Active = 2>>
-<</if>>
+<</if>>
\ No newline at end of file
diff --git a/src/SpecialForce/Report.tw b/src/SpecialForce/Report.tw
index f9085771d5c7b7bddcfdb9bbcefdedac967382a5..c0166f4804aa39f653eb7d13b2e8a7474f3b550a 100644
--- a/src/SpecialForce/Report.tw
+++ b/src/SpecialForce/Report.tw
@@ -41,7 +41,7 @@
 		<<set _FNGs += $SFUnit.TV,_Trade += 0.25*$SFUnit.TV,_unitMultiplier += 7.5*$SFUnit.TV+2*Math.pow($SFUnit.TV,2), _SFupkeep += 800*$SFUnit.TV>>
 	<</if>>
 	<<if $SFUnit.PGT > 0>>
-		<<set _Trade  += 0.25*($SFUnit.PGT),_unitMultiplier += 15*$SFUnit.PGT+3*Math.pow($SFUnit.PGT,2),_SFupkeep += 5000+1000*$SFUnit.PGT>>
+		<<set _Trade += 0.25*($SFUnit.PGT),_unitMultiplier += 15*$SFUnit.PGT+3*Math.pow($SFUnit.PGT,2),_SFupkeep += 5000+1000*$SFUnit.PGT>>
 	<</if>>
 <</if>>
 <<if $SFUnit.Firebase >= 2 && $SFUnit.Drones > 0>>
@@ -59,13 +59,13 @@
 		<<set _FNGs += $SFUnit.SpacePlane,_Trade += 0.25*$SFUnit.SpacePlane,_unitMultiplier += 7.5*$SFUnit.SpacePlane+2*Math.pow($SFUnit.SpacePlane,2),_SFupkeep += 1000*$SFUnit.SpacePlane>>
 	<</if>>
 	<<if $SFUnit.GunS > 0>>
-		<<set _FNGs += $SFUnit.GunS,_Trade  += 0.25*$SFUnit.GunS,_unitMultiplier += 12*$SFUnit.GunS+3*Math.pow($SFUnit.GunS,2),_SFupkeep += 3000+700*$SFUnit.GunS>>
+		<<set _FNGs += $SFUnit.GunS,_Trade += 0.25*$SFUnit.GunS,_unitMultiplier += 12*$SFUnit.GunS+3*Math.pow($SFUnit.GunS,2),_SFupkeep += 3000+700*$SFUnit.GunS>>
 	<</if>>
 	<<if $SFUnit.Satellite > 0>>
-		<<set _FNGs += $SFUnit.Satellite,_Trade  += 0.25*$SFUnit.Satellite,_unitMultiplier += 15*$SFUnit.Satellite+5*Math.pow($SFUnit.Satellite,2)>>
+		<<set _FNGs += $SFUnit.Satellite,_Trade += 0.25*$SFUnit.Satellite,_unitMultiplier += 15*$SFUnit.Satellite+5*Math.pow($SFUnit.Satellite,2)>>
 	<</if>>
 	<<if $SFUnit.GiantRobot > 0>>
-		<<set _FNGs += $SFUnit.GiantRobot,_Trade  += 0.25*$SFUnit.GiantRobot,_unitMultiplier += 15*$SFUnit.GiantRobot+5*Math.pow($SFUnit.GiantRobot,2),_SFupkeep += 10000+1500*$SFUnit.GiantRobot>>
+		<<set _FNGs += $SFUnit.GiantRobot,_Trade += 0.25*$SFUnit.GiantRobot,_unitMultiplier += 15*$SFUnit.GiantRobot+5*Math.pow($SFUnit.GiantRobot,2),_SFupkeep += 10000+1500*$SFUnit.GiantRobot>>
 	<</if>>
 	<<if $SFUnit.MissileSilo > 0>>
 		<<set _Trade += 0.25*$SFUnit.MissileSilo,_unitMultiplier += 15*$SFUnit.MissileSilo+5*Math.pow($SFUnit.MissileSilo,2),_SFupkeep += 1000*$SFUnit.MissileSilo>>
@@ -73,10 +73,10 @@
 <</if>>
 
 <<if $SFUnit.AircraftCarrier > 0>>
-	<<set _FNGs += $SFUnit.AircraftCarrier,_Trade  += 0.25*$SFUnit.AircraftCarrier,_unitMultiplier += 9*$SFUnit.AircraftCarrier+3*Math.pow($SFUnit.AircraftCarrier,2),_SFupkeep += 800*$SFUnit.AircraftCarrier>>
+	<<set _FNGs += $SFUnit.AircraftCarrier,_Trade += 0.25*$SFUnit.AircraftCarrier,_unitMultiplier += 9*$SFUnit.AircraftCarrier+3*Math.pow($SFUnit.AircraftCarrier,2),_SFupkeep += 800*$SFUnit.AircraftCarrier>>
 <</if>>
 <<if $SFUnit.Sub > 0>>
-	<<set _FNGs += $SFUnit.Sub,_Trade  += 0.25*$SFUnit.Sub,_unitMultiplier += 7.5*$SFUnit.Sub+2*Math.pow($SFUnit.Sub,2),_SFupkeep += 900*$SFUnit.Sub>>
+	<<set _FNGs += $SFUnit.Sub,_Trade += 0.25*$SFUnit.Sub,_unitMultiplier += 7.5*$SFUnit.Sub+2*Math.pow($SFUnit.Sub,2),_SFupkeep += 900*$SFUnit.Sub>>
 <</if>>
 <<if $SFUnit.HAT > 0>>
 	<<set _Trade += 0.25*$SFUnit.HAT,_unitMultiplier += 7.5*$SFUnit.HAT+2*Math.pow($SFUnit.HAT,2),_SFupkeep += 700*$SFUnit.HAT>>
@@ -190,7 +190,7 @@ $SF.Caps managed to recruit <<print Math.round(_FNGs/2)>> new soldiers this week
 	<<set _TradeShowAttendes = 200,_MenialSlavesPerAttendee = 5>>
 	<<set _MenialSlaves = Math.ceil(random(1,((_TradeShowAttendes*_MenialSlavesPerAttendee)/10)))>>
 	<<set _TSProfit = Math.ceil(500000*(1+($SF.Units/1000))*(1+($arcologies[0].prosperity/1000))*_Env)>>
-	During a break, The Colonel managed to sell some generic schematics to the _TradeShowAttendes  attendes, some decided to also give her some menial slaves as a bonus.<br>
+	During a break, The Colonel managed to sell some generic schematics to the _TradeShowAttendes attendes, some decided to also give her some menial slaves as a bonus.<br>
 	<<set $helots = $helots+_MenialSlaves>>
 	<<set $SFTradeShow.Helots += _MenialSlaves,$SFTradeShow.TotalHelots += _MenialSlaves>>
 	<<set $cash = $cash+_TSProfit,$SFTradeShow.Income += _TSProfit>>
@@ -201,4 +201,4 @@ $SF.Caps managed to recruit <<print Math.round(_FNGs/2)>> new soldiers this week
 		<<set $SFTradeShow.Mercs += _NewMercs>>
 	<</if>> <<set $SFTradeShow.History += 1>>
 <</if>><<if $SF.SpecOps === 1 && !$SF.SpecOpsLock>> <<set $SF.SpecOps = 0>> <</if>>
-<<set $SF.U = 0,$SF.WG = 0,$SFColonel.Talk = 0,$SFColonel.Fun = 0>>
+<<set $SF.U = 0,$SF.WG = 0,$SFColonel.Talk = 0,$SFColonel.Fun = 0>>
\ No newline at end of file
diff --git a/src/SpecialForce/TrickShotNight.tw b/src/SpecialForce/TrickShotNight.tw
index 206a35ed7214682e4d2a6f5beb7cf00b20f155a4..970fb847aee847a69757b3d2702d6fb7e3b67823 100644
--- a/src/SpecialForce/TrickShotNight.tw
+++ b/src/SpecialForce/TrickShotNight.tw
@@ -1,4 +1,4 @@
-:: Trick Shot Night  [nobr]
+:: Trick Shot Night [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check">>
 
diff --git a/src/SpecialForce/Upgrades.tw b/src/SpecialForce/Upgrades.tw
index 269032de2318c798cbf97ea87c9e23c185ff5af4..0502c070f2b00c1c585171c91ff10464b81e370f 100644
--- a/src/SpecialForce/Upgrades.tw
+++ b/src/SpecialForce/Upgrades.tw
@@ -1,19 +1,19 @@
 :: Upgrades [nobr]
-	
+
 	<br><br>Total upgrade progress: <<print progress($SF.Units,_max)>>
-	
+
 	<<if $SF.MWU >= 1>> <br>Total multi week $SF.Lower upgrades: $SF.MWU <</if>>
-	
+
 	<<if $SF.U > 0 && $SF.MWU >= 0 && ($SF.Units !== _max)>>
-	
-	<br>[[Re-unlock upgrading.|Firebase][$SF.U = 0,$SF.MWU += 1,$cash -= Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000))))]]  @@.yellowgreen;<<print cashFormat(Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000)))))>><</if>>
-	
+
+	<br>[[Re-unlock upgrading.|Firebase][$SF.U = 0,$SF.MWU += 1,$cash -= Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000))))]] @@.yellowgreen;<<print cashFormat(Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000)))))>><</if>>
+
 	<<if ($SF.Units < 30 || $SF.Units !== _max) && $SF.U < 1>> <<set _T1 = $SF.Units >= 30>>
-	
+
 		<br>Which facility or equipment do you wish to upgrade this week? <br><br>
-	
-		
-	
+
+
+
 		<<if $SFUnit.Firebase < 5||_T1 && $SFUnit.Firebase < _FU>>
 	
 			<<set _cF = Math.ceil(100000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Firebase/100)))>>
@@ -31,327 +31,327 @@
 		<<else>>//More upgrades are required to unlock the next tier.//
 	
 		<</if>>	<span style="float:right;"> <<print progress($SFUnit.Firebase)>> </span><br>
-	
-	
-	
+
+
+
 		<<if $SFUnit.Armoury < 5||_T1 && $SFUnit.Armoury < _AU>>
-	
+
 			<<set _cA = Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Armoury/100)))>>
-	
+
 			<<if $cash >= _cA>>
-	
+
 				<<link "Upgrade Armory">> <<set $SF.U = 1, $SFUnit.Armoury++, $cash -= _cA>> <<goto "Firebase">><</link>>
-	
+
 			<<else>>//Cannot afford to upgrade the Armory.//<</if>>
-	
+
 			 //Costs @@.yellowgreen;<<print cashFormat(_cA)>>@@ // 
-	
+
 		<<elseif $SFUnit.Armoury == _AU>>//The Armory has been fully upgraded.//
-	
+
 		<<else>>//More upgrades are required to unlock the next tier.//
-	
+
 		<</if>> <span style="float:right;"> <<print progress($SFUnit.Armoury)>> </span><br>
-	
-	
-	
+
+
+
 		<<if $SFUnit.Drugs < 5||_T1 && $SFUnit.Drugs < _DrugsU>>
-	
+
 			<<set _cDrugs = Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drugs/100)))>>
-	
+
 			<<if $cash >= _cDrugs>>
-	
+
 				<<link "Upgrade Drug Lab">><<set $SF.U = 1, $SFUnit.Drugs++, $cash -= _cDrugs>> <<goto "Firebase">><</link>>
-	
+
 			<<else>>//Cannot afford to upgrade the Drug Lab.//<</if>>
-	
+
 			 //Costs @@.yellowgreen;<<print cashFormat(_cDrugs)>>@@ //
-	
+
 		<<elseif $SFUnit.Drugs == _DrugsU>>//The Drug Lab has been fully upgraded.//
-	
+
 		<<else>>//More upgrades are required to unlock the next tier.//
-	
+
 		<</if>>	<span style="float:right;"> <<print progress($SFUnit.Drugs)>> </span><br>
-	
-	
-	
+
+
+
 		<<if $SFUnit.Firebase >= 2 && ($SFUnit.Drones < 5 ||_T1 && $SFUnit.Drones < _DU)>>
-	
+
 			<<set _cDrones = Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*HSM())>>
-	
+
 			<<if $cash >= _cDrones>>
-	
+
 				<<link "Upgrade Drone Bay">><<set $SF.U = 1, $SFUnit.Drones++, $cash -= _cDrones>> <<goto "Firebase">>	<</link>>
-	
+
 			<<else>>//Cannot afford to upgrade the Drone Bay.//<</if>>
-	
+
 			 //Costs @@.yellowgreen;<<print cashFormat(Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*HSM()))>>@@ // <span style="float:right;"> <<print progress($SFUnit.Drones)>> </span>
-	
+
 		<<elseif $SFUnit.Drones == _DU>>//The Drone Bay has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.Drones)>> </span>
-	
+
 		<<elseif _T1 && $SFUnit.Drones == 5>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.Drones)>> </span><</if>> 
-	
-		
-	
+
+
+
 		<<if $SFUnit.Firebase >= 1 && $terrain !== "oceanic">><br>''Garage''
-	
+
 			<div style="margin-left:2em"><<if ($SFUnit.AV < 5||_T1 && $SFUnit.AV < _AVU)>>
-	
+
 				<<set _cAV = Math.ceil(60000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AV/100)))>>
-	
+
 				<<if $cash >= _cAV>>
-	
+
 					<<link "Upgrade Attack Vehicle Fleet">><<set $SF.U = 1, $SFUnit.AV++, $cash -= _cAV>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade the Attack Vehicle Fleet.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cAV)>>@@//<span style="float:right;"><<print progress($SFUnit.AV)>></span>
-	
+
 			<<elseif $SFUnit.AV == _AVU>>//The Attack Vehicle Fleet has been fully upgraded.//<span style="float:right;"><<print progress($SFUnit.AV)>></span>
-	
+
 			<<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"><<print progress($SFUnit.AV)>></span>
-	
+
 			<</if>></div>
-	
-	
-	
+
+
+
 			<div style="margin-left:2em"><<if ($SFUnit.TV < 5||_T1 && $SFUnit.TV < _TVU)>>
-	
+
 				<<set _cTV = Math.ceil(60000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.TV/100)))>>
-	
+
 				<<if $cash >= _cTV>>
-	
+
 					<<link "Upgrade Transport Vehicle Fleet">><<set $SF.U = 1, $SFUnit.TV++, $cash -= _cTV>><<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Transport Vehicle Fleet.//<</if>>
-	
+
 					 //Costs @@.yellowgreen;<<print cashFormat(_cTV)>>@@//<span style="float:right;"><<print progress($SFUnit.TV)>> </span>
-	
+
 			<<elseif $SFUnit.TV == _TVU>>//The Transport Vehicle Fleet has been fully upgraded.//<span style="float:right;"><<print progress($SFUnit.TV)>></span>
-	
+
 			<<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.TV)>> </span><</if>></div>
-	
-			
-	
+
+
+
 			<div style="margin-left:2em"><<if _T1 && $SFUnit.PGT < _PGTU>>
-	
+
 				<<set _cPGT = Math.ceil(735000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.PGT/100)))>>
-	
+
 				<<if $cash >= _cPGT>>
-	
+
 					<<link "Upgrade Prototype Goliath tank">><<set $SF.U = 1, $SFUnit.PGT++, $cash -= _cPGT>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Prototype Goliath Tank.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cPGT)>>@@ //<span style="float:right;"> <<print progress($SFUnit.PGT)>> </span>
-	
+
 			<<elseif $SFUnit.PGT == _PGTU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.PGT)>> </span>
-	
+
 			<<elseif $SFUnit.PGT == _PGTU>>//The Prototype Goliath Tank has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.PGT)>> </span><</if>></div><</if>>
-	
-	
-	
+
+
+
 		<<if $SFUnit.Firebase >= 4>>''Hangar''
-	
+
 			<div style="margin-left:2em"><<if $SFUnit.AA < 5||_T1 && $SFUnit.AA < _AAU>>
-	
+
 				<<set _cAA = Math.ceil(70000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AA/100)))>>
-	
+
 				<<if $cash >= _cAA>>
-	
+
 					<<link "Upgrade Attack Aircraft Fleet">><<set $SF.U = 1, $SFUnit.AA++, $cash -= _cAA>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Attack Aircraft Fleet.//<</if>>
-	
+
 			 //Costs @@.yellowgreen;<<print cashFormat(_cAA)>>@@ //<span style="float:right;"> <<print progress($SFUnit.AA)>> </span>
-	
+
 			<<elseif $SFUnit.AA == _AAU>>//The Attack Aircraft Fleet has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.AA)>> </span>
-	
+
 			<<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.AA)>> </span><</if>></div>
-	
-	
-	
+
+
+
 			<div style="margin-left:2em"><<if $SFUnit.TA < 5||_T1 && $SFUnit.TA < _TAU>>
-	
+
 				<<set _cTA = Math.ceil(70000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.TA/100)))>>
-	
+
 				<<if $cash >= _cTA>>
-	
+
 					<<link "Upgrade Transport Aircraft Fleet">><<set $SF.U = 1, $SFUnit.TA++, $cash -= _cTA>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade the Transport Aircraft Fleet.//<</if>>
-	
+
 				//Costs @@.yellowgreen;<<print cashFormat(_cTA)>>@@ //<span style="float:right;"> <<print progress($SFUnit.TA)>> </span>
-	
+
 			<<elseif $SFUnit.TA == _TAU>>//The Transport Aircraft Fleet has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.TA)>> </span>
-	
+
 			<<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.TA)>> </span><</if>></div>
-	
-	
-	
+
+
+
 			<div style="margin-left:2em"><<if _T1 && $SFUnit.SpacePlane < _SPU>>
-	
+
 				<<set _cSP = Math.ceil(250000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.SpacePlane/100))*HSM())>>
-	
+
 				<<if $cash >= _cSP>>
-	
+
 					<<link "Upgrade Spaceplane">><<set $SF.U = 1, $SFUnit.SpacePlane++, $cash -= _cSP>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade the Spaceplane.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cSP)>>@@//<span style="float:right;"><<print progress($SFUnit.SpacePlane)>> </span>
-	
+
 			<<elseif $SFUnit.SpacePlane == _SPU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.SpacePlane)>> </span>
-	
+
 			<<elseif $SFUnit.SpacePlane == _SPU>>//The Spaceplane has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.SpacePlane)>> </span><</if>></div>
-	
-			
-	
+
+
+
 			<div style="margin-left:2em"><<if _T1 && $SFUnit.GunS < _GunSU>>
-	
+
 				<<set _cGunS = Math.ceil(350000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GunS/100))*HSM())>>
-	
+
 				<<if $cash >= _cGunS>>
-	
+
 					<<link "Upgrade Gunship">><<set $SF.U = 1, $SFUnit.GunS++, $cash -= _cGunS>><<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Gunship.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cGunS)>>@@ //<span style="float:right;"> <<print progress($SFUnit.GunS)>> </span>
-	
+
 			<<elseif $SFUnit.GunS == _GunSU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.GunS)>> </span>
-	
+
 			<<elseif $SFUnit.GunS == _GunSU>>//The Gunship has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.GunS)>> </span><</if>></div><</if>>
-	
-	
-	
+
+
+
 		<<if _T1>>''Launch Bay''
-	
+
 			<div style="margin-left:2em"><<if $SFUnit.Satellite < _SatU && $SatLaunched < 1>>
-	
+
 				<<set _cSat = Math.ceil(525000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Satellite/100))*HSM())>>
-	
+
 				<<if $cash >= _cSat>>
-	
+
 					<<link "Upgrade Satellite">><<set $SF.U = 1, $SFUnit.Satellite++, $cash -= _cSat>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Satellite.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cSat)>>@@//<span style="float:right;"><<print progress($SFUnit.Satellite)>> </span>
-	
+
 			<<elseif $SFUnit.Satellite == _SatU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.Satellite)>> </span>
-	
+
 			<<else>>//The Satellite has been fully upgraded.//<span style="float:right;"><<print progress($SFUnit.Satellite)>></span><</if>></div>
-	
-	
-	
+
+
+
 			<<if $terrain !== "oceanic">>
-	
+
 			<div style="margin-left:2em"><<if $SFUnit.GiantRobot < _GRU>>
-	
+
 				<<set _cGR = Math.ceil(550000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GiantRobot/100))*HSM())>>
-	
+
 				<<if $cash >= _cGR>>
-	
+
 					<<link "Upgrade Giant Robot">><<set $SF.U = 1, $SFUnit.GiantRobot++, $cash -= _cGR>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade the Giant Robot.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cGR)>>@@//<span style="float:right;"><<print progress($SFUnit.GiantRobot)>></span>
-	
+
 			<<elseif $SFUnit.GiantRobot == _GRU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.GiantRobot)>> </span>
-	
+
 			<<else>>//The Giant Robot has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.GiantRobot)>> </span><</if>></div><</if>>
-	
-	
-	
+
+
+
 			<div style="margin-left:2em"><<if $SFUnit.MissileSilo < _MSU>>
-	
+
 				<<set _cMS = Math.ceil(565000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.MissileSilo/100))*HSM())>>
-	
+
 				<<if $cash >= _cMS>>
-	
+
 					<<link "Upgrade Cruise Missile">><<set $SF.U = 1, $SFUnit.MissileSilo++, $cash -= _cMS>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Cruise Missile.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cMS)>>@@ //<span style="float:right;"><<print progress($SFUnit.MissileSilo)>></span>
-	
+
 			<<elseif $SFUnit.MissileSilo == _MSU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.MissileSilo)>> </span>
-	
+
 			<<else>>//The Cruise Missile has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.MissileSilo)>> </span><</if>></div><</if>>
-	
-			
-	
+
+
+
 		<<if _T1 && ($terrain == "oceanic" || $terrain == "marine")>>''Naval Yard''
-	
+
 			<div style="margin-left:2em"><<if $SFUnit.AircraftCarrier < _ACU>>
-	
+
 				<<set _cAC = Math.ceil(650000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AircraftCarrier/100))*HSM())>>
-	
+
 				<<if $cash >= _cAC>>
-	
+
 					<<link "Upgrade Aircraft Carrier">><<set $SF.U = 1, $SFUnit.AircraftCarrier++, $cash -= _cAC>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Aircraft Carrier.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(Math.ceil(650000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AircraftCarrier/100))*HSM()))>>@@ //<span style="float:right;"> <<print progress($SFUnit.AircraftCarrier)>> </span>
-	
+
 			<<elseif $SFUnit.AircraftCarrier == _ACU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.AircraftCarrier)>> </span>
-	
+
 			<<else>>//The Aircraft Carrier has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.AircraftCarrier)>> </span><</if>></div>
-	
-			
-	
+
+
+
 			<div style="margin-left:2em"><<if $SFUnit.Sub < _SubU>>
-	
+
 				<<set _cSub = Math.ceil(700000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Sub/100))*HSM())>>
-	
+
 				<<if $cash >= _cSub>>
-	
+
 					<<link "Upgrade Submarine">><<set $SF.U = 1, $SFUnit.Sub++, $cash -= _cSub>> <<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Submarine//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cSub)>>@@ //<span style="float:right;"> <<print progress($SFUnit.Sub)>> </span>
-	
+
 			<<elseif $SFUnit.Sub == _SubU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.Sub)>> </span>
-	
+
 			<<else>>//The Submarine has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.Sub)>> </span><</if>></div>
-	
-			
-	
+
+
+
 			<div style="margin-left:2em"><<if $SFUnit.HAT < _HATU>>
-	
+
 				<<set _cHAT = Math.ceil(665000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.HAT/100)))>>
-	
+
 				<<if $cash >= _cHAT>>
-	
+
 					<<link "Upgrade Amphibious Transport">><<set $SF.U = 1, $SFUnit.HAT++, $cash -= _cHAT>><<goto "Firebase">><</link>>
-	
+
 				<<else>>//Cannot afford to upgrade Amphibious Transport.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cHAT)>>@@ //<span style="float:right;"> <<print progress($SFUnit.HAT)>> </span>
-	
+
 			<<elseif $SFUnit.HAT == _HATU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.HAT)>> </span>
-	
+
 			<<else>>//The Amphibious Transport has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.HAT)>> </span><</if>></div>
-	
+
 		<</if>>
-	
+
 		<<if _T1 < 1>>//More firebase upgrades are required to unlock further upgrades.//<</if>> 
-	
+
 	<</if>>
-	
+
 	/* <div style="margin-left:2em"><<if _T1 && $SF.Facility.Toggle > 0 && $SF.Facility.Active < 1>>
-	
+
 				<<set _cSFF = Math.ceil(735000*_Env*(1.15+($SF.Units/10))*(1.15+($SF.Facility.Active/100)))>>
 
 					<<if $cash >= _cSFF>>
-					
+
 						<<link "Build $SF.Lower's support facility">><<set $SF.U = 1, $SF.Facility.Active++, $cash -= _cSFF>><<goto "Firebase">><</link>>
 
 					<<else>>//Cannot afford to build $SF.Lower's support facility.//<</if>>
-	
+
 				 //Costs @@.yellowgreen;<<print cashFormat(_cSFF)>>@@ //
 
 				<</if>>*/
\ No newline at end of file
diff --git a/src/cheats/PCCheatMenu.tw b/src/cheats/PCCheatMenu.tw
index 1e21631262049e458e26260e4eee262755f41951..de1c4e92e3218014a5cde9db16a449931a768ff6 100644
--- a/src/cheats/PCCheatMenu.tw
+++ b/src/cheats/PCCheatMenu.tw
@@ -68,7 +68,7 @@ Title: ''<<if $tempSlave.title == 0>>Master<<else>>Mistress<</if>>''
 <br>''Dick'': <<textbox "$tempSlave.dick" $tempSlave.dick>>
 <br>''Vagina'': <<textbox "$tempSlave.vagina" $tempSlave.vagina>>
 <<if $tempSlave.dick == 1>>
-	<br>''BallSize'': <<textbox "$tempSlave.balls" $tempSlave.balls>> //0 - normal 1 - big 2 - huge//
+	<br>''BallSize'': <<textbox "$tempSlave.balls" $tempSlave.balls>> //0: normal, 1: big, 2: huge//
 	<br>''BallsImplant'': <<textbox "$tempSlave.ballsImplant" $tempSlave.ballsImplant>> //0: normal, 1: large, 2: huge, 3: enormous, 4: monstrous//
 <</if>>
 
@@ -77,7 +77,7 @@ Title: ''<<if $tempSlave.title == 0>>Master<<else>>Mistress<</if>>''
 <br>''Physical Age'': <<textbox "$tempSlave.physicalAge" $tempSlave.physicalAge>>
 <br>''Visual Age'': <<textbox "$tempSlave.visualAge" $tempSlave.visualAge>>
 <br>''Ovary Age'': <<textbox "$tempSlave.ovaryAge" $tempSlave.ovaryAge>>
-<br>''Age Implant'': <<textbox "$tempSlave.ageImplant" $tempSlave.ageImplant>> //0: no surgery, 1: age altering surgery//
+/*<br>''Age Implant'': <<textbox "$tempSlave.ageImplant" $tempSlave.ageImplant>> //0: no surgery, 1: age altering surgery// */
 <br>''Player Aging'': <<textbox "$playerAging" $playerAging>> //0: no aging, 1: no aging, but birthdays, 2: aging//
 
 <<if $tempSlave.vagina == 1>>
diff --git a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw
index ce3f062ab0d6228451dd28dcb83428d97eec89d5..c38f9f52ef490cddbe92195451b8753e4e245976 100644
--- a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw
+++ b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw
@@ -20,7 +20,6 @@
 <<set $tempSlave.preg = Number($tempSlave.preg) || 0>>
 <<set $tempSlave.pregSource = Number($tempSlave.pregSource) || 0>>
 <<set $tempSlave.pregType = Number($tempSlave.pregType) || 0>>
-<<set $tempSlave.pregMood = Number($tempSlave.pregMood) || 0>>
 <<set WombInit($tempSlave)>> /* just to make sure */
 <<set $tempSlave.womb.length = 0>> /* simple way to delete all fetuses */
 <<set WombImpregnate($tempSlave, $tempSlave.pregType, $tempSlave.pregSource, $tempSlave.preg)>> /* recreates fetuses */
@@ -31,41 +30,20 @@
 	<<set $tempSlave.belly = 0>>
 	<<set $tempSlave.pregWeek = 0>>
 <</if>>
-<<set $tempSlave.pregMood = Number($tempSlave.pregMood) || 0>>
-<<set $tempSlave.boobs = ($tempSlave.boobs == 0 ? 0 : 1)>>
+<<run PCDatatypeCleanup()>>
+
 <<if $tempSlave.boobs == 0>>
 	<<set $tempSlave.boobsBonus = 0>>
 	<<set $tempSlave.boobsImplant = 0>>
-<<else>>
-	<<set $tempSlave.boobsBonus = Number($tempSlave.boobsBonus) || 0>>
-	<<set $tempSlave.boobsImplant = Number($tempSlave.boobsImplant) || 0>>
 <</if>>
-<<set $tempSlave.butt = Number($tempSlave.butt) || 0>>
 <<if $tempSlave.butt == 0>>
 	<<set $tempSlave.buttImplant = 0>>
-<<else>>
-	<<set $tempSlave.buttImplant = ($tempSlave.buttImplant == 0 ? 0 : 1)>>
 <</if>>
-<<set $tempSlave.dick = ($tempSlave.dick == 0 ? 0 : 1)>>
-<<set $tempSlave.vagina = ($tempSlave.vagina == 0 ? 0 : 1)>>
-<<if $tempSlave.dick == 1>>
-	<<set $tempSlave.balls = Number($tempSlave.balls) || 0>>
-	<<set $tempSlave.ballsImplant = Number($tempSlave.ballsImplant) || 0>>
-<<else>>
+<<if $tempSlave.dick == 0>>
 	<<set $tempSlave.balls = 0>>
 	<<set $tempSlave.ballsImplant = 0>>
 <</if>>
 
-<<set $tempSlave.ageImplant = Number($tempSlave.ageImplant) || 0>>
-<<set $playerAging = Number($playerAging) || 0>>
-<<set $tempSlave.ageImplant = Number($tempSlave.ageImplant) || 0>>
-<<set $tempSlave.physicalAge = Number($tempSlave.physicalAge) || 14>>
-<<set $tempSlave.visualAge = Number($tempSlave.visualAge) || 14>>
-<<set $tempSlave.actualAge = Number($tempSlave.actualAge) || 14>>
-<<set $tempSlave.ovaryAge = Number($tempSlave.ovaryAge) || 14>>
-<<set $tempSlave.mother = Number($tempSlave.mother) || 0>>
-<<set $tempSlave.father = Number($tempSlave.father) || 0>>
-
 You perform the dark rituals, pray to the dark gods and sold your soul for the power to reshape your body and life at will. What a cheater!
 
 <<set $PC = clone($tempSlave)>>
diff --git a/src/endWeek/saChoosesOwnClothes.tw b/src/endWeek/saChoosesOwnClothes.tw
index 834934d48c87d17a74348ef7495d9d0a5d86c777..ca6daf6da03ab9e2e016222a269c5e08a9b6b19b 100644
--- a/src/endWeek/saChoosesOwnClothes.tw
+++ b/src/endWeek/saChoosesOwnClothes.tw
@@ -334,7 +334,7 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeAssignment.push({text: `and wears an one-piece swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a monokini"});
 				}
 				if(isItemAccessible("one-piece swimsuit")) {
-					wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "one-piece swimsuit"});
+					wardrobeAssignment.push({text: `and wears a one-piece swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "one-piece swimsuit"});
 				}
 				if(isItemAccessible("a burkini")) {
 					wardrobeAssignment.push({text: `and wears a modest swimsuit, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a burkini"});
@@ -459,7 +459,7 @@ window.saChoosesOwnClothes = (function() {
 						wardrobeAssignment.push({text: `and wears normal clothing to not distract from ${his} lessons.`, clothes: "conservative clothing"});
 					}
 				} else if((slave.assignment == "whore") || (slave.assignment == "work in the brothel")) {
-					 if(slave.belly >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
+					if(slave.belly >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
 						wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while still looking a little classy.`, clothes: "attractive lingerie for a pregnant woman"});
 					}
 					wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and still look a little classy.`, clothes: "attractive lingerie"});
@@ -715,7 +715,7 @@ window.saChoosesOwnClothes = (function() {
 					if(isItemAccessible("a ball gown")) {
 						wardrobeTastes.push({text: `and chooses a formal dress that makes ${him} feel like royalty.`, clothes: "a ball gown"});
 					}
-				} else if(slave.behavioralQuirk == "devout") {
+				} else if(slave.behavioralFlaw == "devout") {
 					wardrobeTastes.push({text: `and wears something more appropriate for a monastery than a whorehouse.`, clothes: "a penitent nuns habit"});
 				}
 
diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw
index 89f4314dcbc8d8774d10536a35085cde27e35511..f89895108f68d95dc97d2d0e908b5773a721145d 100644
--- a/src/facilities/nursery/nursery.tw
+++ b/src/facilities/nursery/nursery.tw
@@ -14,55 +14,55 @@
 $nurseryNameCaps
 <<switch $nurseryDecoration>>
 <<case "Roman Revivalist">>
-    is run with the Roman dream in mind, with wide open windows exposing the babies to the elements. The sleek marble halls bring a sense of serenity and duty as wet nurses wander the halls.
+	is run with the Roman dream in mind, with wide open windows exposing the babies to the elements. The sleek marble halls bring a sense of serenity and duty as wet nurses wander the halls.
 <<case "Aztec Revivalist">>
-    is lined head to toe in illustrious Aztec gold. Tiny but notable subscripts lay in plaques to honor the mothers who died giving birth, the children of said mothers, alive or dead, are tirelessly watched over to tend to their every need.
+	is lined head to toe in illustrious Aztec gold. Tiny but notable subscripts lay in plaques to honor the mothers who died giving birth, the children of said mothers, alive or dead, are tirelessly watched over to tend to their every need.
 <<case "Egyptian Revivalist">>
-    is decorated by sleek, sandstone tablets, golden statues, and even grander Egyptian wall sculptures, many of them depicting the conception, birth, and raising of a child. Each babe is reverently wrapped in linen covers as they drift to sleep to the stories of mighty pharaohs and prosperous palaces.
+	is decorated by sleek, sandstone tablets, golden statues, and even grander Egyptian wall sculptures, many of them depicting the conception, birth, and raising of a child. Each babe is reverently wrapped in linen covers as they drift to sleep to the stories of mighty pharaohs and prosperous palaces.
 <<case "Edo Revivalist">>
-    is minimalistic in nature, but the errant paintings of cherry blossoms and vibrant Japanese maples give a certain peaceful air as the caretakers do their duties.
+	is minimalistic in nature, but the errant paintings of cherry blossoms and vibrant Japanese maples give a certain peaceful air as the caretakers do their duties.
 <<case "Arabian Revivalist">>
-    is decorated wall to wall with splendorous carvings and religious Hamsas meant to protect the fostering children.
+	is decorated wall to wall with splendorous carvings and religious Hamsas meant to protect the fostering children.
 <<case "Chinese Revivalist">>
-    is ripe with Chinese spirit. Depictions of colorful dragons and oriental designs grace the halls, rooms, and cribs of the babies who reside inside.
+	is ripe with Chinese spirit. Depictions of colorful dragons and oriental designs grace the halls, rooms, and cribs of the babies who reside inside.
 <<case "Chattel Religionist">>
-    is decorated with childish religious cartoons and artistic tapestries of slaves bowing in submission, their themes always subsiding varying degrees of sexual worship. The caretakers that wander the halls obediently wear their habits, and never waste a moment to tenderly lull the children to sleep with stories of their prophet.
+	is decorated with childish religious cartoons and artistic tapestries of slaves bowing in submission, their themes always subsiding varying degrees of sexual worship. The caretakers that wander the halls obediently wear their habits, and never waste a moment to tenderly lull the children to sleep with stories of their prophet.
 <<case "Degradationist">>
-    is bare and sullen. The cries of the neglected children destined for slavery trying to find comfort in their burlap coverings echo the halls, while those that await freedom are raised among luxury and are taught to look down on their less fortunate peers.
+	is bare and sullen. The cries of the neglected children destined for slavery trying to find comfort in their burlap coverings echo the halls, while those that await freedom are raised among luxury and are taught to look down on their less fortunate peers.
 <<case "Repopulation Focus">>
-    is designed to be very open and public; a showing testament to your arcology's repopulation efforts. For those old enough to support them, they are strapped with big, but body warming, empathy bellies as to remind them of their destiny.
+	is designed to be very open and public; a showing testament to your arcology's repopulation efforts. For those old enough to support them, they are strapped with big, but body warming, empathy bellies as to remind them of their destiny.
 <<case "Eugenics">>
-    is of utmost quality without a single pleasantry missing -- if the parents are of the elite blood of course. While there are rare stragglers of unworthy genes, the child populace overall is pampered with warm rooms and plentiful small toys.
+	is of utmost quality without a single pleasantry missing -- if the parents are of the elite blood of course. While there are rare stragglers of unworthy genes, the child populace overall is pampered with warm rooms and plentiful small toys.
 <<case "Asset Expansionist">>
-    is not so much decorated as it is intelligently staffed. Every passerby, slave or not, burns the image of their jiggling asses and huge, wobbling tits into the minds of the children.
+	is not so much decorated as it is intelligently staffed. Every passerby, slave or not, burns the image of their jiggling asses and huge, wobbling tits into the minds of the children.
 <<case "Transformation Fetishist">>
-    is kept simple and clean. From their toys down to the nursemaids, the babies are exposed to the wonders of body transformation whenever possible.
+	is kept simple and clean. From their toys down to the nursemaids, the babies are exposed to the wonders of body transformation whenever possible.
 <<case "Gender Radicalist">>
-    is decorated by cheery cartoon depictions of slaves of many shapes, sizes, and genitals, all of them undeniably feminine. The elated smiles and yips of the nurses getting reamed constantly instill the appreciation of nice, pliable buttholes.
+	is decorated by cheery cartoon depictions of slaves of many shapes, sizes, and genitals, all of them undeniably feminine. The elated smiles and yips of the nurses getting reamed constantly instill the appreciation of nice, pliable buttholes.
 <<case "Gender Fundamentalist">>
-    is simply designed and painted with soft feminine colors. The staff heavily encourage the children to play dress up and house, subtly sculpting their minds to proper gender norms and properly put them in line if they try to do otherwise.
+	is simply designed and painted with soft feminine colors. The staff heavily encourage the children to play dress up and house, subtly sculpting their minds to proper gender norms and properly put them in line if they try to do otherwise.
 <<case "Physical Idealist">>
-    is furnished with kiddy health books and posters; their caretakers making painstakingly sure that the importance is drilled into their heads at a young age. Their food is often littered with vitamins and supplements to keep the children growing strong.
+	is furnished with kiddy health books and posters; their caretakers making painstakingly sure that the importance is drilled into their heads at a young age. Their food is often littered with vitamins and supplements to keep the children growing strong.
 <<case "Supremacist">>
-    is designed and structured to give those of $arcologies[0].FSSupremacistRace ethnicity the limelight of the nursery, while the others stay sectioned off and neglected to the world.
+	is designed and structured to give those of $arcologies[0].FSSupremacistRace ethnicity the limelight of the nursery, while the others stay sectioned off and neglected to the world.
 <<case "Subjugationist">>
-    is made to foster and raise the young children of $arcologies[0].FSSubjugationistRace ethnicity. They are reminded of their place with every failure and are encouraged to submissively follow their stereotypes at a young ripe age.
+	is made to foster and raise the young children of $arcologies[0].FSSubjugationistRace ethnicity. They are reminded of their place with every failure and are encouraged to submissively follow their stereotypes at a young ripe age.
 <<case "Paternalist">>
-    is well-stocked and by Paternalistic customs, constantly swaddle the children with love and attention. With the warm colors and sound of child laughter, to the untrained eye, the children actually seem free.
+	is well-stocked and by Paternalistic customs, constantly swaddle the children with love and attention. With the warm colors and sound of child laughter, to the untrained eye, the children actually seem free.
 <<case "Pastoralist">>
-    is decorated to make the children grow up thinking that a life focused on breast milk, cum, and other human secretions are part of the norm. The milky tits swaying above their cow-patterned cribs certainly help with that.
+	is decorated to make the children grow up thinking that a life focused on breast milk, cum, and other human secretions are part of the norm. The milky tits swaying above their cow-patterned cribs certainly help with that.
 <<case "Maturity Preferentialist">>
-    decorations remind the kids to respect those curvy and mature. The older nurserymaids are always flattered whenever the children try to act like adults and take care of the younger toddlers for them.
+	decorations remind the kids to respect those curvy and mature. The older nurserymaids are always flattered whenever the children try to act like adults and take care of the younger toddlers for them.
 <<case "Youth Preferentialist">>
-    is making young children the center of attention, their rooms supplied with plenty of toys, blankets, and surrogate mothers at their beck and call.
+	is making young children the center of attention, their rooms supplied with plenty of toys, blankets, and surrogate mothers at their beck and call.
 <<case "Body Purist">>
-    is decorated to be very clean cut and sterilized with perfect corners and curves; symbolic of the human figure. Nurserymaids are encouraged to show off their natural assets to show the children what the appropriate body should be.
+	is decorated to be very clean cut and sterilized with perfect corners and curves; symbolic of the human figure. Nurserymaids are encouraged to show off their natural assets to show the children what the appropriate body should be.
 <<case "Slimness Enthusiast">>
-    constantly encourages the kids to try and keep their slim and cute physiques. They are given perfectly metered meals to make this possible.
+	constantly encourages the kids to try and keep their slim and cute physiques. They are given perfectly metered meals to make this possible.
 <<case "Hedonistic">>
-    would make any toddler drool in amazement. Meals and naps every other hour, cribs stalked with toys and blankets, and plush slaves carry them to and fro without preamble. A delicious layer of baby fat is the ideal figure of a baby, and they couldn't be happier.
+	would make any toddler drool in amazement. Meals and naps every other hour, cribs stalked with toys and blankets, and plush slaves carry them to and fro without preamble. A delicious layer of baby fat is the ideal figure of a baby, and they couldn't be happier.
 <<default>>
-    is as comfortable and child-friendly as it needs to be. They have everything they need to grow into a proper slave.
+	is as comfortable and child-friendly as it needs to be. They have everything they need to grow into a proper slave.
 <</switch>>
 
 <<if $nurserySlaves > 2>>
@@ -242,7 +242,7 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $
 			<<else>>
 				All $slaves[_u].reservedChildrenNursery of $his children will be placed in $nurseryName.
 			<</if>>
-			<<if ($slaves[_u].reservedChildren + $slaves[_u].reservedChildrenNursery < $slaves[_u].pregType)  && ($reservedChildrenNursery < $freeCribs)>>
+			<<if ($slaves[_u].reservedChildren + $slaves[_u].reservedChildrenNursery < $slaves[_u].pregType) && ($reservedChildrenNursery < $freeCribs)>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;
 				<<print "[[Keep another child|Nursery][$slaves[" + _u + "].reservedChildrenNursery += 1, $reservedChildrenNursery += 1]]">>
 				<<if $slaves[_u].reservedChildrenNursery > 0>>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 1ec94e73cedcff22abe2509fd21d262f0ba4baae..d671c860f4a3c013a71365e637b4b7e9ee9dd1f0 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -162,80 +162,9 @@ You should have received a copy of the GNU General Public License along with thi
 		<<set $slaves[_i].vaginalCount = 0>>
 	<</for>>
 	<<set $slavesOriginal = []>> /* not used by pregmod */
-	<<if ndef $PC.intelligence>>
-		<<set $PC.intelligence = 100>>
-	<</if>>
-	<<if ndef $PC.face>>
-		<<set $PC.face = 100>>
-	<</if>>
-	<<if ndef $PC.actualAge>>
-		<<if $PC.age == 1>>
-			<<set $PC.actualAge = 20>>
-		<<elseif $PC.age == 2>>
-			<<set $PC.actualAge = 35>>
-		<<elseif $PC.age == 3>>
-			<<set $PC.actualAge = 50>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.visualAge>>
-		<<set $PC.visualAge = $PC.actualAge>>
-	<</if>>
-	<<if ndef $PC.physicalAge>>
-		<<set $PC.physicalAge = $PC.actualAge>>
-	<</if>>
-	<<if ndef $PC.birthWeek>>
-		<<set $PC.birthWeek = 0>>
-	<</if>>
 	<<if ndef $PC.markings>>
 		<<set $PC.markings = "none">>
 	<</if>>
-	<<if ndef $PC.mpreg>> /* for <<KnockMeUp $PC>> */
-		<<set $PC.mpreg = 0>>
-	<</if>>
-	<<if ndef $PC.slavesKnockedUp>>
-		<<set $PC.slavesKnockedUp = 0>>
-	<</if>>
-	<<if ndef $PC.slavesFathered>>
-		<<set $PC.slavesFathered = 0>>
-	<</if>>
-	<<if ndef $PC.pronoun>>
-		<<if $PC.title == 1>>
-			<<set $PC.pronoun = "he", $PC.possessive = "his", $PC.object = "him">>
-		<<else>>
-			<<set $PC.pronoun = "she", $PC.possessive = "her", $PC.object = "her">>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.pregKnown>>
-		<<if $PC.preg > 0>>
-			<<set $PC.pregKnown = 1>>
-		<<else>>
-			<<set $PC.pregKnown = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.pregType>>
-		<<if $PC.preg > 0>>
-			<<set $PC.pregType = 1>>
-		<<else>>
-			<<set $PC.pregType = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.belly>>
-		<<if $PC.preg > 0>>
-			<<set $PC.belly = getPregBellySize($PC)>>
-		<<else>>
-			<<set $PC.belly = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.degeneracy>>
-		<<set $PC.degeneracy = 0>>
-	<</if>>
-	<<if ndef $PC.pregWeek>>
-		<<if $PC.preg > 0>>
-			<<set $PC.pregWeek = $PC.preg>>
-		<<else>>
-			<<set $PC.pregWeek = 0>>
-		<</if>>
-	<</if>>
 	<<set $PC.reservedChildren = 0>>
 	<<set $PC.reservedChildrenNursery = 0>>
 <<else>>
@@ -243,7 +172,7 @@ You should have received a copy of the GNU General Public License along with thi
 	<<set $slavesOriginal = []>> /* not used by pregmod */
 	<<set $genePool = []>>
 	<<set $slaveIndices = slaves2indices()>>
-        <<set $missingTable = {}>>
+		<<set $missingTable = {}>>
 	<<set $showMissingSlaves = false>>
 	<<set $showMissingSlavesSD = false>>
 <</if>>
diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw
index 660ea644b7a6d71a46766d7ec3d54beed1842305..61315ab5cec553721b4b858b5ea4b1a1029adbdd 100644
--- a/src/js/datatypeCleanupJS.tw
+++ b/src/js/datatypeCleanupJS.tw
@@ -1105,7 +1105,91 @@ window.childMiscellaneousDatatypeCleanup = function childMiscellaneousDatatypeCl
 	child.accent = Math.clamp(+child.accent, 0, 3) || 0;
 };
 
-window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
+window.PCDatatypeCleanup = function PCDatatypeCleanup() {
+	const V = State.variables;
+	const PC = V.PC;
+
+	if (PC.title !== 0) {
+		PC.title = Math.clamp(+PC.title, 0, 1) || 1;
+	}
+	if (PC.dick !== 0) {
+		PC.dick = Math.clamp(+PC.dick, 0, 1) || 1;
+	}
+	PC.vagina = Math.clamp(+PC.vagina, 0, 1) || 0;
+	PC.belly = Math.max(+PC.belly, 0) || 0;
+	PC.pregMood = Math.clamp(+PC.pregMood, 0, 2) || 0;
+	PC.labor = Math.clamp(+PC.labor, 0, 1) || 0;
+	PC.births = Math.max(+PC.births, 0) || 0;
+	PC.boobs = Math.clamp(+PC.boobs, 0, 1) || 0;
+	PC.boobsBonus = Math.clamp(+PC.boobsBonus, -3, 3) || 0;
+	PC.boobsImplant = Math.clamp(+PC.boobsImplant, 0, 1) || 0;
+	PC.butt = Math.clamp(+PC.butt, 0, 3) || 0;
+	PC.buttImplant = Math.clamp(+PC.buttImplant, 0, 1) || 0;
+	PC.balls = Math.clamp(+PC.balls, 0, 3) || 0;
+	PC.ballsImplant = Math.clamp(+PC.ballsImplant, 0, 4) || 0;
+	PC.degeneracy = Math.max(+PC.degeneracy, 0) || 0;
+	PC.birthWeek = Math.clamp(+PC.birthWeek, 0, 51) || 0;
+	if (PC.sexualEnergy !== 0 ) {
+		PC.sexualEnergy = +PC.sexualEnergy || 4;
+	}
+	PC.refreshmentType = Math.clamp(+PC.refreshmentType, 0, 6) || 0;
+	PC.trading = Math.clamp(+PC.trading, -100, 100) || 0;
+	PC.warfare = Math.clamp(+PC.warfare, -100, 100) || 0;
+	PC.slaving = Math.clamp(+PC.slaving, -100, 100) || 0;
+	PC.engineering = Math.clamp(+PC.engineering, -100, 100) || 0;
+	PC.medicine = Math.clamp(+PC.medicine, -100, 100) || 0;
+	PC.hacking = Math.clamp(+PC.hacking, -100, 100) || 0;
+	PC.cumTap = Math.max(+PC.cumTap, 0) || 0;
+	PC.mother = +PC.mother || 0;
+	PC.father = +PC.father || 0;
+	PC.birthElite = Math.max(+PC.birthElite, 0) || 0;
+	PC.birthMaster = Math.max(+PC.birthMaster, 0) || 0;
+	PC.birthDegenerate = Math.max(+PC.birthDegenerate, 0) || 0;
+	PC.birthClient = Math.max(+PC.birthClient, 0) || 0;
+	PC.birthOther = Math.max(+PC.birthOther, 0) || 0;
+	PC.birthArcOwner = Math.max(+PC.birthArcOwner, 0) || 0;
+	PC.birthCitizen = Math.max(+PC.birthCitizen, 0) || 0;
+	PC.birthSelf = Math.max(+PC.birthSelf, 0) || 0;
+	PC.slavesFathered = Math.max(+PC.slavesFathered, 0) || 0;
+	PC.slavesKnockedUp = Math.max(+PC.slavesKnockedUp, 0) || 0;
+	PC.intelligence = 100;
+	PC.face = 100;
+	PC.actualAge = Math.clamp(+PC.actualAge, 14, 80) || 35;
+	PC.physicalAge = Math.clamp(+PC.physicalAge, 14, 80) || PC.actualAge;
+	PC.visualAge = Math.clamp(+PC.visualAge, 14, 80) || PC.actualAge;
+	PC.ovaryAge = Math.clamp(+PC.ovaryAge, 14, 80) || PC.physicalAge;
+	if (V.playerAging !== 0) {
+		V.playerAging = Math.clamp(+V.playerAging, 0, 2) || 2;
+	}
+	PC.newVag = Math.clamp(+PC.newVag, 0, 1) || 0;
+	PC.reservedChildren = Math.max(+PC.reservedChildren, 0) || 0;
+	PC.reservedChildrenNursery = Math.max(+PC.reservedChildrenNursery, 0) || 0;
+	PC.fertDrugs = Math.clamp(+PC.fertDrugs, 0, 1) || 0;
+	PC.forcedFertDrugs = Math.max(+PC.forcedFertDrugs, 0) || 0;
+	PC.staminaPills = Math.clamp(+PC.staminaPills, 0, 1) || 0;
+	PC.storedCum = Math.max(+PC.storedCum, 0) || 0;
+	PC.mpreg = 0; /* So knockMeUp() may be used with the PC */
+	
+	if (PC.age !== undefined) {
+		delete PC.age;
+	}
+	if (PC.indenture !== undefined) {
+		delete PC.indenture;
+	}
+	if (PC.indentureRestrictions !== undefined) {
+		delete PC.indentureRestrictions;
+	}
+	
+	/* None of these are in use */
+	PC.bellyPreg = PC.belly;
+	PC.ageImplant = 0;
+	PC.voiceImplant = 0;
+	PC.accent = 0;
+	PC.shoulders = 0;
+	PC.shouldersImplant = 0;
+};
+
+window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() {
 	const V = State.variables;
 	
 	V.ACitizens = Math.max(+V.ACitizens, 0) || 0;
@@ -1164,9 +1248,4 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
 	V.TCR.schoolProsperity = Math.clamp(+V.TCR.schoolProsperity, -10, 10) || 0;
 	V.TFS.studentsBought = Math.max(+V.TFS.studentsBought, 0) || 0;
 	V.TFS.schoolProsperity = Math.clamp(+V.TFS.schoolProsperity, -10, 10) || 0;
-
-	/* Will be moved when I get around to creating PCDatatypeCleanup */
-	V.PC.actualAge = Math.clamp(+V.PC.actualAge, 14, 80) || 35;
-	V.PC.physicalAge = Math.clamp(+V.PC.physicalAge, 14, 80) || V.PC.actualAge;
-	V.PC.visualAge = Math.clamp(+V.PC.visualAge, 14, 80) || V.PC.actualAge;
 };
diff --git a/src/js/generateNewSlaveJS.tw b/src/js/generateNewSlaveJS.tw
index 07af35e96dff092a76df3cb70b81adf008525106..cb98f3fd60a1713914c3b22e37a4afb643f2fab2 100644
--- a/src/js/generateNewSlaveJS.tw
+++ b/src/js/generateNewSlaveJS.tw
@@ -271,13 +271,13 @@ window.GenerateNewSlave = (function(){
 	function generateCircumcision() {
 		/* The default rate of 50* is wildly unrepresentative, and there is extreme regional variation. */
 		/*
-		 What we want is the prevalence among newborns, since this game
-		 happens about 20 years in the future, but we'll use this lacking
-		 something better.
-		 https://pophealthmetrics.biomedcentral.com/articles/10.1186/s12963-016-0073-5
-		 Right now we mostly just break it down by country.
-		 It would be better to break it down by both country
-		 and race if statistics are available.
+		What we want is the prevalence among newborns, since this game
+		happens about 20 years in the future, but we'll use this lacking
+		something better.
+		https://pophealthmetrics.biomedcentral.com/articles/10.1186/s12963-016-0073-5
+		Right now we mostly just break it down by country.
+		It would be better to break it down by both country
+		and race if statistics are available.
 		*/
 		if (V.seeCircumcision == 0) {
 			slave.foreskin = slave.dick + jsRandom(0,1);
diff --git a/src/js/slaveGenerationJS.tw b/src/js/slaveGenerationJS.tw
index 3c781254088c0d71ff001c1bcbcac7e39fd934d6..b66e8de51d5c7fd471c827297bfde017ced207b8 100644
--- a/src/js/slaveGenerationJS.tw
+++ b/src/js/slaveGenerationJS.tw
@@ -75,17 +75,25 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 
 	switch (slave.nationality) {
 		case "Afghan":
-			slave.accent = (V.language === "Pashto") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			if (V.language === "Pashto") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Dari") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Persian") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Albanian":
 			slave.accent = naturalAccent;
 			break;
 		case "Algerian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "American":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Spanish" && slave.race === "latina") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Chinese" && slave.race === "asian") {
@@ -97,16 +105,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Andorran":
-			slave.accent = (V.language === "Catalan") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Catalan") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Angolan":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Antiguan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Argentinian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Armenian":
 			if (V.language === "Russian") {
@@ -119,7 +127,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Aruban":
 			if (V.language === "Dutch") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Portuguese") {
@@ -129,16 +137,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Australian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Austrian":
 			if (V.language === "German") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Serbian") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Slovene") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
-			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+			} else if (V.language === "Turkish" && slave.race === "indo-aryan") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
 				slave.accent = naturalAccent;
@@ -148,14 +156,14 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Bahamian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bahraini":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bangladeshi":
 			if (V.language === "Bengali") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Hindi") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -163,16 +171,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Barbadian":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Belarusian":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Belgian":
 			if (V.language === "Dutch") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "German") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -180,35 +188,35 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Belizean":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Beninese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bermudian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bhutanese":
-			slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Bissau-Guinean":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bolivian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bosnian":
 			slave.accent = naturalAccent;
 			break;
 		case "Brazilian":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "British":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Bruneian":
 			if (V.language === "Malay") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -219,19 +227,19 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Burkinabé":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Burmese":
 			slave.accent = naturalAccent;
 			break;
 		case "Burundian":
-			slave.accent = (V.language === "Kirundi") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Kirundi") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Cambodian":
 			if (V.language === "Khmer") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Cham") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -239,31 +247,31 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Cameroonian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Canadian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Cape Verdean":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Catalan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Central African":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Chadian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Chilean":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Chinese":
 			if (V.language === "Tibetan") {
@@ -277,7 +285,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Colombian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Comorian":
 			if (V.language === "Arabic") {
@@ -290,38 +298,38 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Congolese":
 			if (V.language === "Lingala") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Kikongo") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "a Cook Islander":
 			if (V.language === "Cook Islands Māori") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Costa Rican":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Croatian":
 			slave.accent = naturalAccent;
 			break;
 		case "Cuban":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Cypriot":
 			if (V.language === "Greek") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Turkish") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -329,28 +337,34 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Czech":
-			slave.accent = naturalAccent;
+			if (V.language === "Slovak") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Vietnamese" && slave.race === "asian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Danish":
 			slave.accent = naturalAccent;
 			break;
 		case "Djiboutian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Dominican":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Dominiquais":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Dutch":
 			slave.accent = naturalAccent;
 			break;
 		case "East Timorese":
 			if (V.language === "Tetum") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Portuguese") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Malay") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -358,22 +372,22 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Ecuadorian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Egyptian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Emirati":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Equatoguinean":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Eritrean":
 			if (V.language === "Tigrinya") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -385,7 +399,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Ethiopian":
 			if (V.language === "Amharic") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Tigrinya") {
@@ -395,15 +409,15 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Fijian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Filipina":
 			if (V.language === "Filipino") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Tagalog") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Spanish") {
@@ -413,7 +427,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Finnish":
-			slave.accent = (V.language === "Swedish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Swedish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "French":
 			if (V.language === "English") {
@@ -431,26 +445,26 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "French Guianan":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "French Polynesian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Gabonese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Gambian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Georgian":
-			slave.accent = (V.language === "Abkhaz") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Abkhaz") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "German":
 			if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "French") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
-			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+			} else if (V.language === "Turkish" && slave.race === "indo-aryan") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
 				slave.accent = naturalAccent;
@@ -458,7 +472,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Ghanan":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Hausa") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else if (V.language === "Arabic") {
@@ -471,37 +485,37 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Greenlandic":
-			slave.accent = (V.language === "Danish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Danish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Grenadian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guamanian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guatemalan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guinean":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Guyanese":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Haitian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Honduran":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Hungarian":
 			slave.accent = naturalAccent;
 			break;
 		case "I-Kiribati":
 			if (V.language === "Gilbertese") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -517,19 +531,25 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Indian":
 			if (V.language === "Hindi") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Indonesian":
-			slave.accent = (V.language === "Malay") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			if (V.language === "Javanese") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Iranian":
 			if (V.language === "Persian") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -538,7 +558,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Iraqi":
 			if (V.language === "Arabic") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Kurdish") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -546,13 +566,13 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Irish":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Israeli":
 			if (V.language === "Hebrew") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Arabic") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -561,34 +581,34 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Ivorian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Jamaican":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Japanese":
 			slave.accent = naturalAccent;
 			break;
 		case "Jordanian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Kazakh":
-			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Kenyan":
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Kittitian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Korean":
 			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Kosovan":
 			if (V.language === "Albanian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Serbian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -597,16 +617,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Kuwaiti":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Kyrgyz":
-			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Laotian":
 			if (V.language === "Lao") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Khmu") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -617,25 +637,25 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Lebanese":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Liberian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Libyan":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "a Liechtensteiner":
-			slave.accent = (V.language === "German") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "German") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Lithuanian":
 			slave.accent = naturalAccent;
 			break;
 		case "Luxembourgian":
 			if (V.language === "German") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
@@ -650,7 +670,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Malaysian":
-			slave.accent = (V.language === "Malay") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Malay") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Maldivian":
 			slave.accent = naturalAccent;
@@ -660,61 +680,67 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Maltese":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Italian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Marshallese":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mauritanian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mauritian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Mexican":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Nahuatl" && slave.race === "amerindian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Micronesian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Moldovan":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Monégasque":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mongolian":
 			slave.accent = naturalAccent;
 			break;
 		case "Montenegrin":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Serbian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Moroccan":
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Mosotho":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Sesotho") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Motswana":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Mozambican":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Namibian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Afrikaans") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -722,34 +748,52 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Nauruan":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Nepalese":
-			slave.accent = naturalAccent;
+			if (V.language === "Nepali") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Maithili") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Bhojpuri") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "New Caledonian":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Nengone") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Drehu") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "a New Zealander":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Ni-Vanuatu":
 			if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Nicaraguan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Nigerian":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Hausa") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -758,9 +802,9 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Nigerien":
 			if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Hausa") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Arabic") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -768,24 +812,24 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Niuean":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Norwegian":
 			slave.accent = naturalAccent;
 			break;
 		case "Omani":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Pakistani":
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Palauan":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Sonsorolese") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Tobian") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Japanese") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -793,19 +837,19 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Palestinian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Panamanian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Papua New Guinean":
 			slave.accent = naturalAccent;
 			break;
 		case "Paraguayan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Peruvian":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Polish":
 			slave.accent = naturalAccent;
@@ -815,7 +859,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Puerto Rican":
 			if (V.language === "Spanish") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -823,7 +867,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Qatari":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Romanian":
 			slave.accent = naturalAccent;
@@ -832,41 +876,41 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = naturalAccent;
 			break;
 		case "Rwandan":
-			slave.accent = (V.language === "Kinyarwanda") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Kinyarwanda") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Sahrawi":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Saint Lucian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Salvadoran":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Sammarinese":
-			slave.accent = (V.language === "Italian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Italian") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Samoan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "São Toméan":
-			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Saudi":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Scottish":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Senegalese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Serbian":
 			slave.accent = naturalAccent;
 			break;
 		case "Seychellois":
 			if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -874,53 +918,53 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Sierra Leonean":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Singaporean":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Chinese") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Malay") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Tamil") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Slovak":
-			slave.accent = naturalAccent;
+			slave.accent = (V.language === "Czech") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Slovene":
 			slave.accent = naturalAccent;
 			break;
 		case "a Solomon Islander":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Somali":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "South African":
 			if (V.language === "English") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Afrikaans") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "South Sudanese":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Spanish":
 			slave.accent = (V.language === "Catalan") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Sri Lankan":
 			if (V.language === "Sinhalese") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Tamil") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "English") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -931,10 +975,20 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Surinamese":
-			slave.accent = (V.language === "Dutch") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Dutch") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Swazi":
-			slave.accent = naturalAccent;
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
+			} else if (V.language === "Afrikaans") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Tsonga") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Zulu") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Swedish":
 			if (V.language === "English") {
@@ -951,9 +1005,9 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			break;
 		case "Swiss":
 			if (V.language === "German") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Italian") {
 				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
 			} else {
@@ -961,16 +1015,16 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Syrian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Taiwanese":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Tajik":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Tanzanian":
-			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Thai":
 			if (V.language === "Chinese") {
@@ -984,92 +1038,118 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 			}
 			break;
 		case "Tibetan":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Togolese":
-			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Tongan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Trinidadian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Tunisian":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Turkish":
-			slave.accent = naturalAccent;
+			if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Kurdish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Zaza") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Turkmen":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Tuvaluan":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Ugandan":
-			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Ukrainian":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Uruguayan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Uzbek":
 			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
 			break;
 		case "Vatican":
-			slave.accent = (V.language === "Italian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			if (V.language === "Italian") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "Latin") {
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Venezuelan":
-			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Vietnamese":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			if (V.language === "Chinese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
 			break;
 		case "Vincentian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Yemeni":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Zairian":
 			if (V.language === "Lingala") {
-				slave.accent = jsEither([0, 0, 0, 1]);
+				slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 			} else if (V.language === "Kikongo") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "Swahili") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else if (V.language === "French") {
-				slave.accent = jsEither([0, 1, 1, 1, 2]);
+				slave.accent = jsEither([0, 1, 1, 1, 1, 2]);
 			} else {
 				slave.accent = naturalAccent;
 			}
 			break;
 		case "Zambian":
-			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Zimbabwean":
-			slave.accent = (V.language === "English" && slave.race === "white") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			slave.accent = (V.language === "English" && slave.race === "white") ? jsEither([0, 1, 1, 1, 1, 2]) : naturalAccent;
 			break;
 		case "Ancient Chinese Revivalist":
-			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Ancient Egyptian Revivalist":
-			slave.accent = (V.language === "Ancient Egyptian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Ancient Egyptian") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Arabian Revivalist":
-			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Aztec Revivalist":
-			slave.accent = (V.language === "Nahuatl") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Nahuatl") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Edo Revivalist":
-			slave.accent = (V.language === "Japanese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Japanese") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		case "Roman Revivalist":
-			slave.accent = (V.language === "Latin") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			slave.accent = (V.language === "Latin") ? jsEither([0, 0, 0, 0, 0, 0, 1]) : naturalAccent;
 			break;
 		default:
 			slave.accent = naturalAccent;
@@ -1077,7 +1157,7 @@ window.nationalityToAccent = function nationalityToAccent(slave) {
 	}
 
 	if (slave.nationality === V.language) {
-		slave.accent = jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1]);
+		slave.accent = jsEither([0, 0, 0, 0, 0, 0, 1]);
 	}
 };
 
@@ -1633,4 +1713,4 @@ window.generatePronouns = function generatePronouns(slave) {
 		slave.objectReflexive = "herself";
 		slave.noun = "girl";	
 	}
-};
+};
\ No newline at end of file
diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw
index 271f157a5811c69bfbba69941df48c1a4916847d..dc26bcf5c594e445e9704ae33a90b471152f2e4a 100644
--- a/src/js/slaveSummaryWidgets.tw
+++ b/src/js/slaveSummaryWidgets.tw
@@ -2220,9 +2220,9 @@ window.SlaveSummaryUncached = (function(){
 		}
 		r += " ";
 		/*
-		 ** No NCS, then do the standard, However because of the wrinkes of Incubators, as long as visual age is greater 
-		 ** than or equal to physical age, we do the old physical body/Looks for fresh out of the can NCS slaves.
-		 */
+		** No NCS, then do the standard, However because of the wrinkes of Incubators, as long as visual age is greater 
+		** than or equal to physical age, we do the old physical body/Looks for fresh out of the can NCS slaves.
+		*/
 		if (((slave.geneMods.NCS === 0) || (slave.visualAge >= slave.physicalAge))) {
 			if (slave.actualAge !== slave.physicalAge) {
 				r += `${slave.physicalAge} year old body. `;
@@ -2232,14 +2232,14 @@ window.SlaveSummaryUncached = (function(){
 			}
 		} else {
 			/*
-			 ** Now the rub. The use of physical Age for the year old body above, basically conflicts with the changes
-			 ** that NCS introduces, so here to *distinguish* the changes, we use visual age with the 'year old body'
-			 ** and appears, for example: Slave release from incubator at age 10, Her summary would show, 'Age 0. 10 
-			 ** year old body.' But if she's given NCS a few weeks after release, while she's still before her first 
-			 ** birthday, it'll appear the same. But once her birthday fires, if we ran with the above code it would 
-			 ** say: 'Age 1. 11 year old body.' -- this conflicts with the way NCS works though, because she hasn't
-			 ** visually aged, so our change here makes it say 'Age 1. Appears to have a 10 year old body.'
-			 */
+			** Now the rub. The use of physical Age for the year old body above, basically conflicts with the changes
+			** that NCS introduces, so here to *distinguish* the changes, we use visual age with the 'year old body'
+			** and appears, for example: Slave release from incubator at age 10, Her summary would show, 'Age 0. 10 
+			** year old body.' But if she's given NCS a few weeks after release, while she's still before her first 
+			** birthday, it'll appear the same. But once her birthday fires, if we ran with the above code it would 
+			** say: 'Age 1. 11 year old body.' -- this conflicts with the way NCS works though, because she hasn't
+			** visually aged, so our change here makes it say 'Age 1. Appears to have a 10 year old body.'
+			*/
 			r += `Appears to have a ${slave.visualAge} year old body. `;
 		}
 		if (slave.geneMods.NCS === 1) {
diff --git a/src/js/vignettes.tw b/src/js/vignettes.tw
index cf8ce1940d560158ace4861ce5821dcfa45112ee..1bba04613b188a0f30edb56d8ee963733813c87d 100644
--- a/src/js/vignettes.tw
+++ b/src/js/vignettes.tw
@@ -369,7 +369,7 @@ window.GetVignette = function GetVignette(slave) {
 				break;
 			case "devout":
 				vignettes.push({
-					text: `a customer catches ${him} praying to ${himself} as they inserts themselves into ${him}, turning them off,`,
+					text: `a customer catches ${him} praying to ${himself} as they inserted themselves into ${him}, turning them off,`,
 					type: "cash",
 					effect: -1,
 				});
@@ -1945,7 +1945,7 @@ window.GetVignette = function GetVignette(slave) {
 				break;
 			case "devout":
 				vignettes.push({
-					text: `a citizen catches ${him} praying to ${himself} as they inserts themsleves into ${him}, turning them off,`,
+					text: `a citizen catches ${him} praying to ${himself} as they inserted themsleves into ${him}, turning them off,`,
 					type: "rep",
 					effect: -1,
 				});
@@ -3321,7 +3321,7 @@ window.GetVignette = function GetVignette(slave) {
 			type: "rep",
 			effect: 0,
 		});
-	} else if (slave.assignment === "rest" || slave.assignment === "rest in the spa" || slave.assignment === "be the Attendant") {
+	} else if (slave.assignment === "rest" || slave.assignment === "rest in the spa") {
 		switch (slave.behavioralFlaw) {
 			case "anorexic":
 				vignettes.push({
@@ -3329,7 +3329,42 @@ window.GetVignette = function GetVignette(slave) {
 					type: "health",
 					effect: -1,
 				});
-			break;
+				break;
+			case "devout":
+				vignettes.push({
+					text: `${he} spent nearly all of ${his} free time praying,`,
+					type: "cash",
+					effect: 0,
+				});
+				break;
+		}
+		switch (slave.behavioralQuirk) {
+			case "fitness":
+				vignettes.push({
+					text: `${he} spent a great deal of time working out,`,
+					type: "health",
+					effect: 1,
+				});
+				vignettes.push({
+					text: `${he} exercised to the point of physical exhaustion,`,
+					type: "health",
+					effect: -1,
+				});
+				break;
+			case "insecure":
+				vignettes.push({
+					text: `${he} relaxed by doing whatever other slaves were doing,`,
+					type: "cash",
+					effect: 0,
+				});
+				break;
+		}
+		if (slave.fetish === "mindbroken") {
+			vignettes.push({
+				text: `${he} spent ${his} time watching paint dry. No one bothered telling ${him} the wall wasn't newly painted,`,
+				type: "cash",
+				effect: 0,
+			});
 		}
 		if (slave.devotion > 95) {
 			vignettes.push({
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index f7894a891d055db46ce9b5af87b8a5b982e3f227..b0bfbacb98324b7032a6bc11fdac3d442d88cf99 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1,7 +1,7 @@
 :: pregmod widgets [nobr widget]
 
 <<widget "initPC">>
-	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, storedCum: 0}>>
+	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, storedCum: 0}>>
 
 	<<set WombInit($PC)>>
 
diff --git a/src/societies/aztec/slaveSacrifice.tw b/src/societies/aztec/slaveSacrifice.tw
index 53ed77111004149b7303070112f27f815089e27b..2c218b43d7dc7dc904c519b9482c8deaaa4a9316 100644
--- a/src/societies/aztec/slaveSacrifice.tw
+++ b/src/societies/aztec/slaveSacrifice.tw
@@ -83,7 +83,7 @@
 			$He proceeds to drop into a massive tantrum for the lack of better ways to express $himself. <<if $HeadGirl != 0>>$HeadGirl.slaveName<<else>>Another, more obedient slave<</if>> removes $him as $he continues struggling, spitting and resisting as much as $he can. By the end of the week, it won't matter; $he'll be so hungry and horny that resistance will be the last thing on $his mind.
 		<</if>>
 	<</if>>
-	
+
 	<br>
 	As tradition dictates, the purification of $his body will be used as penance to the goddess in an attempt to pay for the favors bestowed upon your arcology. First, one of your slaves is appointed to represent you as $his owner, who willingly gives the slave as sacrifice, and is put in charge of the slave's health while $he goes through the penance process. $activeSlave.slaveName is thoroughly bathed and $his whole body covered in blue paint, while $his mouth is covered in black paint, as payment for being a prostitute. /*Might need a clause here for other jobs besides "whore"*/ $He's taken to spend the night at the sexual servitude of another slave who will be sacrificed to Tezcatlipoca, god of the night sky. $He's <<if ($activeSlave.devotion > 20)>>fucked all night long <<else>>raped over and over again throughout the night <</if>>; $his holes dedicated to the sexual satisfaction of the slave who soon will face a much darker fate than $him to please the gods.
 	<<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>
@@ -382,4 +382,4 @@
 	<<include "Remove activeSlave">>
 <</if>>
 
-<<set $sacrificeType = 0>>
+<<set $sacrificeType = 0>>
\ No newline at end of file
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index ca4915570575ae63bae95e94adc9513962f2b380..7faec3e983fc208c242832d5f649a56b9b5bd280 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -212,42 +212,18 @@
 
 /* pregmod stuff */
 
-<<if ndef $PC.intelligence>>
-	<<set $PC.intelligence = 100>>
-<</if>>
-<<if ndef $PC.face>>
-	<<set $PC.face = 100>>
-<</if>>
 <<if ndef $PC.actualAge>>
-	<<if $PC.age == 1>>
+	<<if $PC.age === 1>>
 		<<set $PC.actualAge = 20>>
-	<<elseif $PC.age == 2>>
-		<<set $PC.actualAge = 35>>
-	<<elseif $PC.age == 3>>
+	<<elseif $PC.age === 3>>
 		<<set $PC.actualAge = 50>>
+	<<else>>
+		<<set $PC.actualAge = 35>>
 	<</if>>
 <</if>>
-<<if ndef $PC.birthWeek>>
-	<<set $PC.birthWeek = 0>>
-<</if>>
 <<if ndef $PC.markings>>
 	<<set $PC.markings = "none">>
 <</if>>
-<<if ndef $PC.mpreg>> /* for <<KnockMeUp $PC>> */
-	<<set $PC.mpreg = 0>>
-<</if>>
-<<if ndef $PC.slavesKnockedUp>>
-	<<set $PC.slavesKnockedUp = 0>>
-<</if>>
-<<if ndef $PC.slavesFathered>>
-	<<set $PC.slavesFathered = 0>>
-<</if>>
-<<if ndef $PC.reservedChildren>>
-	<<set $PC.reservedChildren = 0>>
-<</if>>
-<<if ndef $PC.reservedChildrenNursery>>
-	<<set $PC.reservedChildrenNursery = 0>>
-<</if>>
 <<if ndef $PC.pronoun>>
 	<<if $PC.title == 1>>
 		<<set $PC.pronoun = "he", $PC.possessive = "his", $PC.object = "him">>
@@ -283,12 +259,6 @@
 		<<set $PC.belly = 0>>
 	<</if>>
 <</if>>
-<<if ndef $PC.fertDrugs>>
-	<<set $PC.fertDrugs = 0>>
-<</if>>
-<<if ndef $PC.forcedFertDrugs>>
-	<<set $PC.forcedFertDrugs = 0>>
-<</if>>
 <<if ndef $PC.skin>>
 	<<set $PC.skin = "white">>
 <</if>>
@@ -357,21 +327,10 @@
 <<if ndef $PC.nationality>>
 	<<set $PC.nationality = "Stateless">>
 <</if>>
-<<if ndef $PC.ovaryAge>>
-	<<set $PC.ovaryAge = $PC.physicalAge>>
-<</if>>
-<<if ndef $PC.staminaPills>>
-	<<set $PC.staminaPills = 0>>
-<</if>>
-<<if ndef $PC.degeneracy>>
-	<<set $PC.degeneracy = 0>>
-<</if>>
-<<if ndef $PC.storedCum>>
-	<<set $PC.storedCum = 0>>
-<</if>>
 <<if $PC.boobsBonus == -0.5>>
 	<<set $PC.boobsBonus = -1>>
 <</if>>
+<<run PCDatatypeCleanup()>>
 
 <<if ndef $universalRulesImmobileSlavesMaintainMuscles>>
 	<<set $universalRulesImmobileSlavesMaintainMuscles = 0>>
@@ -2604,7 +2563,6 @@ Setting missing global variables:
 	<</if>>
 <</if>>
 <<if $releaseID < 1031>>
-	<<set $PC.intelligence = 100>>
 	<<if $traitor != 0>>
 		<<if $traitor.intelligence == -3>>
 			<<set $traitor.intelligence = -100>>
@@ -3478,10 +3436,6 @@ Setting missing slave variables:
 <<HeroSlavesCleanup>>
 Done!
 
-<<if ndef $PC.hacking>>
-	<<set $PC.hacking = 0>>
-<</if>>
-
 /* Sec Exp */
 <<if $secExp == 1>>
 <br>
diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw
index 098c53700fc9ece2b6f93156999869c4d7613e9e..3b100623855e7761854f77a789dede54fd6f9dce 100644
--- a/src/uncategorized/REFI.tw
+++ b/src/uncategorized/REFI.tw
@@ -227,7 +227,7 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 			<<else>>
 				on the edge of your desk. _He2 doesn't mind the hard surface, not when it means your gravid middle is pushing against _his2 _subBelly own
 			<</if>>
-			 as you languidly take _him2.
+			as you languidly take _him2.
 		<<else>>
 			so you take _him2 on the couch, spooning so that _his2
 			<<if $subSlave.belly >= 300000>>
@@ -240,7 +240,7 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 	<<else>>
 		but _his2 eager hole just can't be permitted to have another of your loads at the moment, so _he2'll have to settle for some cuddling instead. You embrace _him2 on the couch,
 		<<if $PC.belly >= 5000>>
-			 as closely as you can with your own gravidity in the way and languidly fondle _him2; one arm wrapped around behind to _his2 breast and the other alternating between fecund bulges. The two of you share a deep kiss as your bellies run against each other.
+			as closely as you can with your own gravidity in the way and languidly fondle _him2; one arm wrapped around behind to _his2 breast and the other alternating between fecund bulges. The two of you share a deep kiss as your bellies run against each other.
 		<<else>>
 			spooning so that _his2
 			<<if $subSlave.belly >= 300000>>
@@ -261,7 +261,7 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 			<<else>>
 				on the edge of your desk. _He2 doesn't mind the hard surface, not when it means your gravid middle is pushing against _his2 _subBelly own
 			<</if>>
-			 as you languidly take _him2.
+			as you languidly take _him2.
 		<<else>>
 			so you take _him2 on the couch, spooning so that _his2
 			<<if $subSlave.belly >= 300000>>
@@ -274,7 +274,7 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 	<<else>>
 		but _his2 fertile hole is off limits at the moment, so _he2'll have to settle for some cuddling instead. You embrace _him2 on the couch,
 		<<if $PC.belly >= 5000>>
-			 as closely as you can with your own gravidity in the way and languidly fondle _him2; one arm wrapped around behind to _his2 breast and the other alternating between fecund bulges. The two of you share a deep kiss as your bellies run against each other.
+			as closely as you can with your own gravidity in the way and languidly fondle _him2; one arm wrapped around behind to _his2 breast and the other alternating between fecund bulges. The two of you share a deep kiss as your bellies run against each other.
 		<<else>>
 			spooning so that _his2
 			<<if $subSlave.belly >= 300000>>
@@ -288,14 +288,14 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 <<else>>
 	all hot and bothered. $subSlave.slaveName has been a good girl,
 	<<if ($subSlave.mpreg == 1 && canDoAnal($subSlave) && $subSlave.anus > 0) || ($subSlave.mpreg == 0 && canDoVaginal($subSlave) && $subSlave.vagina > 0)>>
-		 so you don a strap-on and take _him2 
+		so you don a strap-on and take _him2 
 		<<if $PC.belly >= 5000>>
 			<<if $subSlave.belly >= 300000>>
 				over _his2 own _subBelly belly. Such discomfort doesn't bother _him2 since it means _he2 gets to enjoy the sensation of your own gravid middle rubbing the small of _his2 back
 			<<else>>
 				on the edge of your desk. _He2 doesn't mind the hard surface, not when it means your gravid middle is pushing against _his2 _subBelly own
 			<</if>>
-			 as you languidly take _him2.
+			as you languidly take _him2.
 		<<else>>
 			on the couch, spooning so that _his2
 			<<if $subSlave.belly >= 300000>>
@@ -308,7 +308,7 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 	<<else>>
 		but _his2 fertile hole is off limits at the moment, so _he2'll have to settle for some cuddling instead. You embrace _him2 on the couch,
 		<<if $PC.belly >= 5000>>
-			 as closely as you can with your own gravidity in the way and languidly fondle _him2; one arm wrapped around behind to _his2 breast and the other alternating between fecund bulges. The two of you share a deep kiss as your bellies run against each other.
+			as closely as you can with your own gravidity in the way and languidly fondle _him2; one arm wrapped around behind to _his2 breast and the other alternating between fecund bulges. The two of you share a deep kiss as your bellies run against each other.
 		<<else>>
 			spooning so that _his2
 			<<if $subSlave.belly >= 300000>>
@@ -630,7 +630,7 @@ There was a glint of envy <<if canSee($activeSlave)>>in $his eyes when $he saw<<
 			<<else>>
 				subject, $he's forced to use delightfully humiliating gestures
 			<</if>>
-			 to communicate $his desire to be abused.
+			to communicate $his desire to be abused.
 		<<elseif $activeSlave.voice == 0>>
 			$He's 
 			<<if $activeSlave.amp == 1>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 7fe7f3bc3cc60db4c55044902cdf6e4af56a75cf..380e1f2efb324573af9711a832f0126793fa571d 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -3396,11 +3396,11 @@ May I?" $He spins, <<if $activeSlave.belly >= 5000>>spreading $his legs for $his
 As you manage your empire from your office, a constant traffic of slaves passes by its door. The glass walls allow a good view of them, and since you naturally own what you find appealing, the passing girls often draw your eye. For example, this morning you notice <<EventNameLink $activeSlave>> almost bounce into view. $He's physically fit, at a healthy weight, 
 <<if $activeSlave.belly >= 10000>>
 	<<if $activeSlave.bellyPreg >= 3000>>
-		 heavily pregnant,
+		heavily pregnant,
 	<<elseif $activeSlave.bellyImplant >= 3000>>
-		 despite $his _belly fake belly,
+		despite $his _belly fake belly,
 	<<else>>
-		 completely full of $activeSlave.inflationType,
+		completely full of $activeSlave.inflationType,
 	<</if>>
 <</if>>
 <<if $activeSlave.physicalAge > 35>>
@@ -4290,7 +4290,7 @@ You are working late tonight, poring over some particularly troublesome business
 <<elseif $PC.refreshmentType == 1>>
 	glass of $PC.refreshment
 <<elseif $PC.refreshmentType == 2>>
-	 plate of $PC.refreshment
+	plate of $PC.refreshment
 <<elseif $PC.refreshmentType == 3>>
 	line of $PC.refreshment
 <<elseif $PC.refreshmentType == 4>>
@@ -5281,7 +5281,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 				<<if $PC.butt == 0>>
 					ass,
 				<<elseif $PC.butt == 1>>
-					 with some effort,
+					with some effort,
 				<<else>>
 					with a struggle,
 				<</if>>
@@ -10606,7 +10606,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		After some continued whining through her tears, $he gives up and just @@.gold;lets you@@ rape her sore vagina.
 		<<= VaginalVCheck()>>
 	<</if>>
-	 When you finally <<if ($PC.dick == 1)>>fill her <<if canDoAnal($activeSlave)>>butt<<else>>pussy<</if>> with your ejaculate and pull out,<<if $PC.vagina == 1>> the motion releasing a waft of the combined cum and pussyjuice smell of a satisfied futa,<</if>><<else>>shudder with orgasm and withdraw your strap-on,<</if>> $he slumps and turns to go, looking a bit sad for some reason.
+	When you finally <<if ($PC.dick == 1)>>fill her <<if canDoAnal($activeSlave)>>butt<<else>>pussy<</if>> with your ejaculate and pull out,<<if $PC.vagina == 1>> the motion releasing a waft of the combined cum and pussyjuice smell of a satisfied futa,<</if>><<else>>shudder with orgasm and withdraw your strap-on,<</if>> $he slumps and turns to go, looking a bit sad for some reason.
 	<<set $activeSlave.trust += 4>>
 	<</replace>>
 <</link>>
@@ -10817,11 +10817,11 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		<<elseif canDoAnal($activeSlave)>>
 			butt is right at the edge of the desk.
 			<<= AnalVCheck(3)>>
-			 You give it a good fuck and then
+			You give it a good fuck and then
 		<<elseif canDoVaginal($activeSlave)>>
 			pussy is right at the edge of the desk.
 			<<= VaginalVCheck(3)>>
-			 You give it a good fuck and then
+			You give it a good fuck and then
 		<<else>>
 			mouth is right at the edge of the desk. You give it a good fuck and then
 			<<set $activeSlave.oralCount += 3, $oralTotal += 3>>
@@ -13058,7 +13058,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<<else>>
 		<<if $activeSlave.belly > 20>>gingerly lowers her <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>bulk onto it,<</if>> and fucks her little ass open on the dildo. You keep her up there until $his legs give out<<if $activeSlave.belly >= 10000 || $activeSlave.weight > 190>>and her <<if $activeSlave.bellyPreg >= 3000>>gravid <</if>>weight pins her on the toy;<<else>>, and<</if>> then let her lie down on
 	<</if>>
-	 the couch, telling $him to keep working the dildo with $his hands or suffer another whipping. After $he's had $his ass filled for a good while, $he has no trouble taking a <<if $PC.dick == 0>>strap-on<<else>>real dick<</if>> for the first time, and is by this point too exhausted to do anything but lie there and be a good little anal slave. @@.gold;$He fears you,@@ and @@.lime;her butthole has been broken in.@@
+	the couch, telling $him to keep working the dildo with $his hands or suffer another whipping. After $he's had $his ass filled for a good while, $he has no trouble taking a <<if $PC.dick == 0>>strap-on<<else>>real dick<</if>> for the first time, and is by this point too exhausted to do anything but lie there and be a good little anal slave. @@.gold;$He fears you,@@ and @@.lime;her butthole has been broken in.@@
 	<<set $activeSlave.trust -= 5, $activeSlave.anus = 1>>
 	<<= AnalVCheck()>>
 	<</replace>>
@@ -15636,7 +15636,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		<br><br>
 		"Oh noo, I'm going to be taken to heaven,"
 	<<case "cherub">>
-		 cutie?" she says cutely, already reaching down to start schlicking away. "You get to be my best friend for the evening!"
+		cutie?" she says cutely, already reaching down to start schlicking away. "You get to be my best friend for the evening!"
 		<br><br>
 		"Oh noo, I'm going to get bapti<<s>>ed by a <<s>>quirting little angel,"
 	<<case "incubus">>
@@ -17846,7 +17846,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 				since $he's fully confirmed in her status as a sub, $he @@.hotpink;glows with devotion@@
 				<<set $activeSlave.devotion += 3>>
 			<</if>>
-			 as $he washes $himself in the shower with you.
+			as $he washes $himself in the shower with you.
 		<<else>>
 			$He seems utterly dissipated by the fucking $he just got, and may have just had the best sex of her life. @@.lightsalmon;$He's a submissive!@@
 			<<set $activeSlave.fetishKnown = 1>>
@@ -19721,7 +19721,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 			<<else>>
 				on your pussy and asshole quickly have you hot and bothered.
 			<</if>>
-			 You can't stop yourself from rubbing against the squirming mass, enjoying the unique undulations across your junk. It doesn't take long to coat $his stomach in a layer of fluids. After a few hours of objectifying degradation in this way, you rise from your enjoyable seat to attend business elsewhere in your penthouse and dismiss $activeSlave.slaveName. Although you didn't penetrate $him, her experience as a sex toy for your amusement @@.hotpink;has increased her submissiveness@@.
+			You can't stop yourself from rubbing against the squirming mass, enjoying the unique undulations across your junk. It doesn't take long to coat $his stomach in a layer of fluids. After a few hours of objectifying degradation in this way, you rise from your enjoyable seat to attend business elsewhere in your penthouse and dismiss $activeSlave.slaveName. Although you didn't penetrate $him, her experience as a sex toy for your amusement @@.hotpink;has increased her submissiveness@@.
 		<<else>>
 			After a few hours of objectifying degradation in this way, you rise from your novel seat to attend business elsewhere in your penthouse and dismiss $activeSlave.slaveName. Although you didn't fuck $him, her experience as a piece of furniture for your comfort @@.hotpink;has increased her submissiveness@@.
 		<</if>>
@@ -20504,7 +20504,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <<link "Comfort $him">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-		You set the $PC.refreshment aside on your desk for now, and take $him gently by the hand. You lead $him out onto the balcony of the Penthouse over to the railing. $He obediently assumes a position for you, bracing $his arms on the railing, arching $his back and sticking $his bottom out to present $himself for use. Much to $his surprise, your hand guides $him back into a comfortable position, and simply pulls $him close into you. You explain to $him that $he is a good $girl who tries $his best, and that you don't want $him to fear you. After a little coddling, you fall silent, and simply hold $him tight, watching the street lights of $arcologies[0].name blink to life one after the other, slowly transforming the arcology into a vibrant, elegant light show. $activeSlave.slaveName can hardly believe whats happening, but eventually is able to relax fully, melting into your arms like butter into a hot pan. $He rests $his head lovingly against your chest and silently appreciates the view with you. When $he eventually departs, $he does so with @@.hotpink;tears of joy@@, @@.mediumaquamarine;rather than fear@@, welling behind $his eyes. 		
+		You set the $PC.refreshment aside on your desk for now, and take $him gently by the hand. You lead $him out onto the balcony of the Penthouse over to the railing. $He obediently assumes a position for you, bracing $his arms on the railing, arching $his back and sticking $his bottom out to present $himself for use. Much to $his surprise, your hand guides $him back into a comfortable position, and simply pulls $him close into you. You explain to $him that $he is a good $girl who tries $his best, and that you don't want $him to fear you. After a little coddling, you fall silent, and simply hold $him tight, watching the street lights of $arcologies[0].name blink to life one after the other, slowly transforming the arcology into a vibrant, elegant light show. $activeSlave.slaveName can hardly believe whats happening, but eventually is able to relax fully, melting into your arms like butter into a hot pan. $He rests $his head lovingly against your chest and silently appreciates the view with you. When $he eventually departs, $he does so with @@.hotpink;tears of joy@@, @@.mediumaquamarine;rather than fear@@, welling behind $his eyes.
 		<<set $activeSlave.devotion += 15>>
 		<<set $activeSlave.trust += 15>>
 	<</replace>>
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index 8ccbd1f31dd974420bf58b6463bbf578865dd13f..ad03512870616755bbe9cb52709b2a05c2989f4c 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -142,7 +142,7 @@
 <<elseif $PC.physicalAge >= 21>>
 	<<set $PC.sexualEnergy += 3>>
 <<elseif $PC.physicalAge >= 13>>
-	<<set $PC.sexualEnergy +=4>>
+	<<set $PC.sexualEnergy += 4>>
 <<elseif $PC.physicalAge == 12>>
 	<<set $PC.sexualEnergy += 1>>
 <<elseif $PC.physicalAge == 11>>
diff --git a/src/uncategorized/reNickname.tw b/src/uncategorized/reNickname.tw
index 026765c66fcbe79936f2d9eb18b9b910bbc3bc64..03e6fecb16a4caf8ef146b33c167f36fe9625729 100644
--- a/src/uncategorized/reNickname.tw
+++ b/src/uncategorized/reNickname.tw
@@ -20,30 +20,30 @@
 
 <<if ($seeRace == 1)>>
 <<switch $activeSlave.race>>
-<<case "white">>
-	<<set $qualifiedNicknames.push("white")>>
+<<case "amerindian">>
+	<<set $qualifiedNicknames.push("amerindian")>>
 <<case "asian">>
 	<<set $qualifiedNicknames.push("asian")>>
-<<case "latina">>
-	<<set $qualifiedNicknames.push("latina")>>
 <<case "black">>
 	<<set $qualifiedNicknames.push("black")>>
-<<case "pacific islander">>
-	<<set $qualifiedNicknames.push("pacific islander")>>
-<<case "southern european">>
-	<<set $qualifiedNicknames.push("southern european")>>
-<<case "amerindian">>
-	<<set $qualifiedNicknames.push("amerindian")>>
+<<case "indo-aryan">>
+	<<set $qualifiedNicknames.push("indo-aryan")>>
+<<case "latina">>
+	<<set $qualifiedNicknames.push("latina")>>
 <<case "malay">>
 	<<set $qualifiedNicknames.push("malay")>>
-<<case "semitic">>
-	<<set $qualifiedNicknames.push("semitic")>>
 <<case "middle eastern">>
 	<<set $qualifiedNicknames.push("middle eastern")>>
-<<case "indo-aryan">>
-	<<set $qualifiedNicknames.push("indo-aryan")>>
 <<case "mixed race">>
 	<<set $qualifiedNicknames.push("mixed race")>>
+<<case "pacific islander">>
+	<<set $qualifiedNicknames.push("pacific islander")>>
+<<case "semitic">>
+	<<set $qualifiedNicknames.push("semitic")>>
+<<case "southern european">>
+	<<set $qualifiedNicknames.push("southern european")>>
+<<case "white">>
+	<<set $qualifiedNicknames.push("white")>>
 <</switch>>
 <</if>>
 
@@ -698,9 +698,9 @@
 	<<set $applyDesc = "is a little proud of $his national nickname, as a reminder of who $he was and a mark that $he still has an identity.">>
 	<<set $notApplyDesc = "realizes that $his new identity is truly stateless. In the Free Cities, it does not matter where a slave is from, so long as that slave has value. All slaves belong to the singular nation of the owned, the subordinated, the fucked.">>
 
-<<case "white">>
-	<<set $nickname = either("'Ang Mo'", "'Casper'", "'Caucasian'", "'Caucasoid'", "'Cracker'", "'Cumskin'", "'Dixie'", "'Down Home'", "'Duchess'", "'Euro Trash'", "'Europa'", "'European'", "'Farang'", "'Grits'", "'Gweilo'", "'Hick'", "'Hillbilly'", "'Hollywood'", "'Honky'", "'Ice Monkey'", "'Ice Queen'", "'Mayo'", "'Memphis'", "'Pale'", "'Paleface'", "'Pasty'", "'Peckerwood'", "'Princess'", "'Snowflake'", "'Top Dollar'", "'Valley Girl'", "'Vanilla'", "'Vegas'", "'White Bread'", "'White Devil'", "'White Trash'", "'White'", "'Whitey'", "'Wigger'", "'Yankee'")>>
-	<<set $situationDesc = "is white, which is not uncommon given the collapse of many erstwhile first world nations into depression and the proximity of many Free Cities to majority white areas. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
+<<case "amerindian">>
+	<<set $nickname = either("'Amerindian'", "'Chug'", "'Deerskin'", "'Eskimo'", "'Eskimo Sister'", "'Firewater'", "'First Nations'", "'Indian'", "'Indio'", "'Injun'", "'Ke-mo Sah-bee'", "'La Malinche'", "'Métis Mother'", "'Moccasins'", "'Native'", "'Nitchie'", "'Peace Pipe'", "'Pocahontas'", "'Red'", "'Redskin'", "'Reservation'", "'Savage'", "'Scalper'", "'Smoke Signal'", "'Squaw'", "'Tiger Lily'", "'Tipi Warmer'", "'Totem Pole'", "'Tonto'", "'Tribal'", "'Warpath'", "'Wigwam'")>>
+	<<set $situationDesc = "is amerindian, which is not uncommon given the poverty that still plagues those long-suffering peoples. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
@@ -710,12 +710,6 @@
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
-<<case "latina">>
-	<<set $nickname = either("'Adorada'", "'Banana Republic'", "'Brown'", "'Cafe'", "'Chica'", "'Chiquita'", "'Chola'", "'Cuzinho'", "'Facil'", "'Hispanic'", "'Latin'", "'Latina'", "'Mestiza'", "'Mexicali'", "'One Peso'", "'Rio Grande'", "'Senora'", "'Senorita'", "'Shakira'", "'South of the Border'", "'Spic'", "'Spicy'", "'Wetback'", "'Yeyo'")>>
-	<<set $situationDesc = "is latina, which is not uncommon given the poor state of many Central and South American countries and the long diaspora of poor natives of those areas. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
-	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
-	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
-
 <<case "black">>
 	<<set $nickname = either("'African'", "'B-Girl'", "'Black'", "'Blackie'", "'Bottom Bitch'", "'Burrhead'", "'Cocoa'", "'Coon'", "'Cotton'", "'Dark'", "'Ebony'", "'Gangsta'", "'His Girl Friday'", "'House Slave'", "'Jungle Bunny'", "'Jungle Fever'", "'Mammy'", "'Miss'", "'Missie'", "'Mulatto'", "'N-Word'", "'Negro'", "'Negroid'", "'Nigga'", "'Nigger'", "'Porch Monkey'", "'Quadroon'", "'Sambo'", "'Sheboon'", "'Spade'", "'Spook'")>>
 	<<set $situationDesc = "is black, which is not uncommon given the urban collapse afflicting the first world and the wars raging in Africa. Slaves casually reference race as much as free citizens. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
@@ -728,21 +722,9 @@
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
-<<case "middle eastern">>
-	<<set $nickname = either("'Arab'", "'Arabian'", "'Arabian Nights'", "'Arabush'", "'Bibi'", "'Bougnoule'", "'Caliph'", "'Camel Jockey'", "'Chai Girl'", "'Desert Sun'", "'Dune Coon'", "'Dune'", "'Durka Durka'", "'Flying Carpet'", "'Halal'", "'Harem Girl'", "'Hijabi'", "'Jasmine'", "'Kebab'", "'Middle Eastern'", "'Moromierda'", "'Raghead'", "'Sand Nigger'", "'Sand'", "'Sandy'", "'Scheherazade'", "'Soosmar-Khor'", "'Third Wife'", "'Towelhead'")>>
-	<<set $situationDesc = "is middle eastern, which is not uncommon given the interminable wars and disruptions in that part of the world. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
-	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
-	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
-
-<<case "mixed race">>
-	<<set $nickname = either("'Chola'", "'Colonial'", "'Colored'", "'Creole'", "'Diverse'", "'Diversity'", "'Hāfu'", "'Half and Half'", "'Half-breed'", "'Half-caste'", "'Integration'", "'Interracial'", "'Melting Pot'", "'Melungeon'", "'Mestiza'", "'Miscegenation'", "'Mixed Race'", "'Mixed'", "'Mongrel'", "'Mulatto'", "'Multiracial'", "'Mutt'", "'Octaroon'", "'Pardo'", "'Quadroon'", "'Zambo'")>>
-	<<set $situationDesc = "is mixed race, an ethnic makeup that has always been a target for abuse. Slaves of all races can find something about $him to dislike. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
-	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
-	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
-
-<<case "semitic">>
-	<<set $nickname = either("'Abie'", "'Abrahamic'", "'Baal Worshipper'", "'Biblical'", "'Canaanite'", "'Dead Sea'", "'Golden Calf'", "'Good Samaritan'", "'Hebrew'", "'Heeb'", "'Holy land'", "'Hymie'", "'Inanna'", "'Ishtar'", "'Kike'", "'Kosher'", "'Levantine'", "'Lilith'", "'Lost Ark'", "'Nephilim'", "'Oven Dodger'", "'Oy Vey'", "'Philistine'", "'Qedesha'", "'Red Sea'", "'Salome'", "'Semite'", "'Semitic'", "'Sheeny'", "'Shylock'", "'Sodom and Gomorrah'", "'Whore of Babylon'", "'Yid'")>>
-	<<set $situationDesc = "is semitic, which is not uncommon given the many conflicts in countries with semitic minorities. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
+<<case "latina">>
+	<<set $nickname = either("'Adorada'", "'Banana Republic'", "'Brown'", "'Cafe'", "'Chica'", "'Chiquita'", "'Chola'", "'Cuzinho'", "'Facil'", "'Hispanic'", "'Latin'", "'Latina'", "'Mestiza'", "'Mexicali'", "'One Peso'", "'Rio Grande'", "'Senora'", "'Senorita'", "'Shakira'", "'South of the Border'", "'Spic'", "'Spicy'", "'Wetback'", "'Yeyo'")>>
+	<<set $situationDesc = "is latina, which is not uncommon given the poor state of many Central and South American countries and the long diaspora of poor natives of those areas. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
@@ -752,9 +734,15 @@
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
-<<case "amerindian">>
-	<<set $nickname = either("'Amerindian'", "'Chug'", "'Deerskin'", "'Eskimo'", "'Eskimo Sister'", "'Firewater'", "'First Nations'", "'Indian'", "'Indio'", "'Injun'", "'Ke-mo Sah-bee'", "'La Malinche'", "'Métis Mother'", "'Moccasins'", "'Native'", "'Nitchie'", "'Peace Pipe'", "'Pocahontas'", "'Red'", "'Redskin'", "'Reservation'", "'Savage'", "'Scalper'", "'Smoke Signal'", "'Squaw'", "'Tiger Lily'", "'Tipi Warmer'", "'Totem Pole'", "'Tonto'", "'Tribal'", "'Warpath'", "'Wigwam'")>>
-	<<set $situationDesc = "is amerindian, which is not uncommon given the poverty that still plagues those long-suffering peoples. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
+<<case "middle eastern">>
+	<<set $nickname = either("'Arab'", "'Arabian'", "'Arabian Nights'", "'Arabush'", "'Bibi'", "'Bougnoule'", "'Caliph'", "'Camel Jockey'", "'Chai Girl'", "'Desert Sun'", "'Dune Coon'", "'Dune'", "'Durka Durka'", "'Flying Carpet'", "'Halal'", "'Harem Girl'", "'Hijabi'", "'Jasmine'", "'Kebab'", "'Middle Eastern'", "'Moromierda'", "'Raghead'", "'Sand Nigger'", "'Sand'", "'Sandy'", "'Scheherazade'", "'Soosmar-Khor'", "'Third Wife'", "'Towelhead'")>>
+	<<set $situationDesc = "is middle eastern, which is not uncommon given the interminable wars and disruptions in that part of the world. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
+	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
+	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
+
+<<case "mixed race">>
+	<<set $nickname = either("'Chola'", "'Colonial'", "'Colored'", "'Creole'", "'Diverse'", "'Diversity'", "'Hāfu'", "'Half and Half'", "'Half-breed'", "'Half-caste'", "'Integration'", "'Interracial'", "'Melting Pot'", "'Melungeon'", "'Mestiza'", "'Miscegenation'", "'Mixed Race'", "'Mixed'", "'Mongrel'", "'Mulatto'", "'Multiracial'", "'Mutt'", "'Octaroon'", "'Pardo'", "'Quadroon'", "'Zambo'")>>
+	<<set $situationDesc = "is mixed race, an ethnic makeup that has always been a target for abuse. Slaves of all races can find something about $him to dislike. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
@@ -764,12 +752,24 @@
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
+<<case "semitic">>
+	<<set $nickname = either("'Abie'", "'Abrahamic'", "'Baal Worshipper'", "'Biblical'", "'Canaanite'", "'Dead Sea'", "'Golden Calf'", "'Good Samaritan'", "'Hebrew'", "'Heeb'", "'Holy land'", "'Hymie'", "'Inanna'", "'Ishtar'", "'Kike'", "'Kosher'", "'Levantine'", "'Lilith'", "'Lost Ark'", "'Nephilim'", "'Oven Dodger'", "'Oy Vey'", "'Philistine'", "'Qedesha'", "'Red Sea'", "'Salome'", "'Semite'", "'Semitic'", "'Sheeny'", "'Shylock'", "'Sodom and Gomorrah'", "'Whore of Babylon'", "'Yid'")>>
+	<<set $situationDesc = "is semitic, which is not uncommon given the many conflicts in countries with semitic minorities. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
+	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
+	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
+
 <<case "southern european">>
 	<<set $nickname = either("'Aphrodite'", "'Bella'", "'Dago'", "'Doña'", "'Fine Wine'", "'Garlic Breath'", "'Goombah'", "'Greaseball'", "'Greaser'", "'Grecian'", "'Guido'", "'Guinea'", "'Infamis'", "'Lupa'", "'Mediterranean'", "'Meretrix'", "'Odalisque'", "'Olive Oil'", "'Olive'", "'Pizzahead'", "'Riviera'", "'Roman Nose'", "'Southern European'", "'Venus'", "'Wog'", "'Wop'")>>
 	<<set $situationDesc = "is southern european, which is not uncommon given the endemic corruption and political collapse in that part of the world. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
 	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
 	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
 
+<<case "white">>
+	<<set $nickname = either("'Ang Mo'", "'Casper'", "'Caucasian'", "'Caucasoid'", "'Cracker'", "'Cumskin'", "'Dixie'", "'Down Home'", "'Duchess'", "'Euro Trash'", "'Europa'", "'European'", "'Farang'", "'Grits'", "'Gweilo'", "'Hick'", "'Hillbilly'", "'Hollywood'", "'Honky'", "'Ice Monkey'", "'Ice Queen'", "'Mayo'", "'Memphis'", "'Pale'", "'Paleface'", "'Pasty'", "'Peckerwood'", "'Princess'", "'Snowflake'", "'Top Dollar'", "'Valley Girl'", "'Vanilla'", "'Vegas'", "'White Bread'", "'White Devil'", "'White Trash'", "'White'", "'Whitey'", "'Wigger'", "'Yankee'")>>
+	<<set $situationDesc = "is white, which is not uncommon given the collapse of many erstwhile first world nations into depression and the proximity of many Free Cities to majority white areas. Slaves casually reference race as much or more than free citizens. They absorb the racial peccadilloes of their owners, and many of them bring prejudices from the old world into their slave lives.">>
+	<<set $applyDesc = "now has a constant reminder that as a sex slave $he is judged on $his appearance first.">>
+	<<set $notApplyDesc = "may feel some gratitude due to your preference that $he not be defined by $his ethnicity, but this is counterbalanced by the increased independence your kindness inspires.">>
+
 <<case "vaginalWhiner">>
 	<<set $nickname = either("'Crybaby'", "'Cunt Vise'", "'Pussy Bitch'", "'Pussy Pain'", "'Rape Bait'", "'Shallow'", "'Squealer'", "'Struggles'", "'Tight Cunt'", "'Vaginal Whiner'", "'Whiner'", "'Whiny'")>>
 	<<set $situationDesc = "has a tight pussy and not much skill using it. $He still gets fucked, which results in frequent painful situations for $him. $His moaning as $he takes a big dick earns $him the scorn of $his fellow slaves.">>
diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw
index ec4c37294aaa0cf64b15834e5539240f4f574294..f5266d03067f9aceb353c54403fd5aa818213de2 100644
--- a/src/uncategorized/reputation.tw
+++ b/src/uncategorized/reputation.tw
@@ -517,20 +517,20 @@ On formal occasions, you are announced as $PCTitle.
 
 <<if ($arcologies[0].FSRepopulationFocus != "unset")>>
 	<<if $IntelligenceEugenicsSMR == 1 || $HeightEugenicsSMR == 1 || $FaceEugenicsSMR == 1>>
-	  Society @@.red;disapproves@@ of your policies sterilizing potential mothers.  Your insistence on eugenics hinders adoption of your new society.
-	  <<set _noEugenics = -1*($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
-	  <<FSChange "Repopulationist"  _noEugenics>>
+		Society @@.red;disapproves@@ of your policies sterilizing potential mothers. Your insistence on eugenics hinders adoption of your new society.
+		<<set _noEugenics = -1*($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
+		<<FSChange "Repopulationist" _noEugenics>>
 	<</if>>
 <<elseif $arcologies[0].FSPaternalist != "unset">>
 	<<if $IntelligenceEugenicsSMR == 1 || $HeightEugenicsSMR == 1 || $FaceEugenicsSMR == 1>>
-	  Society @@.red;disapproves@@ of your policies forcefully sterilizing slaves, especially when they snuff out the life growing within them.
-	  <<set _noEugenics = -1*($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
-	  <<FSChange "Paternalist"  _noEugenics>>
+		Society @@.red;disapproves@@ of your policies forcefully sterilizing slaves, especially when they snuff out the life growing within them.
+		<<set _noEugenics = -1*($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
+		<<FSChange "Paternalist" _noEugenics>>
 	<</if>>
 <<elseif ($arcologies[0].FSRestart != "unset") && $arcologies[0].FSPaternalist == "unset">>
 	<<if ($IntelligenceEugenicsSMR == 1 || $HeightEugenicsSMR == 1 || $FaceEugenicsSMR == 1) && $arcologies[0].FSRestartSMR != 1>>
 		Society @@.green; approves@@ of your slave eugenics policies, easing them into more thorough eugenics.
-		 <<set _yesEugenics = ($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
+		<<set _yesEugenics = ($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
 		<<FSChange "Eugenics" _yesEugenics>>
 		<<set $failedElite -= 1*($IntelligenceEugenicsSMR+$HeightEugenicsSMR+$FaceEugenicsSMR)>>
 	<<elseif $arcologies[0].FSRestartSMR == 1>>
@@ -658,7 +658,7 @@ On formal occasions, you are announced as $PCTitle.
 		<<set $enduringRep = 0>>
 	<<elseif $PC.degeneracy > 75>>
 		There are @@.red;severe rumors@@ about you spreading across the arcology.
-		<<set $rep -= 10*($PC.degeneracy*2)>>
+		<<set $rep -= 20*($PC.degeneracy)>>
 	<<elseif $PC.degeneracy > 50>>
 		There are @@.red;bad rumors@@ about you spreading across the arcology.
 		<<set $rep -= 10*$PC.degeneracy>>
@@ -667,7 +667,7 @@ On formal occasions, you are announced as $PCTitle.
 		<<set $rep -= 5*$PC.degeneracy>>
 	<<elseif $PC.degeneracy > 10>>
 		There are @@.red;minor rumors@@ about you spreading across the arcology.
-		<<set $rep -= $PC.degeneracy*2>>
+		<<set $rep -= 2*$PC.degeneracy>>
 	<<else>>
 		The occasional rumor about you can be heard throughout the arcology.
 		<<set $rep -= $PC.degeneracy>>