diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 37cde93cf35f3e5f292171a025e00e72240e13d2..fc2ba55ec02f047b88ce3260a29421a61f6224e6 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -3646,6 +3646,92 @@ window.numberWithCommas = function(x) {
 	return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
 };
 
+window.numberToWords = function (x) {
+	if (x === 0) {
+		return "zero"
+	} else {
+		var ONE_TO_NINETEEN = [
+			"one", "two", "three", "four", "five",
+			"six", "seven", "eight", "nine", "ten",
+			"eleven", "twelve", "thirteen", "fourteen", "fifteen",
+			"sixteen", "seventeen", "eighteen", "nineteen"
+		];
+
+		var TENS = [
+			"ten", "twenty", "thirty", "forty", "fifty",
+			"sixty", "seventy", "eighty", "ninety"
+		];
+
+		var SCALES = ["thousand", "million", "billion", "trillion"];
+
+		// helper function for use with Array.filter
+		function isTruthy(item) {
+			return !!item;
+		}
+
+		// convert a number into "chunks" of 0-999
+		function chunk(number) {
+			var thousands = [];
+
+			while (number > 0) {
+				thousands.push(number % 1000);
+				number = Math.floor(number / 1000);
+			}
+
+			return thousands;
+		}
+
+		// translate a number from 1-999 into English
+		function inEnglish(number) {
+			var thousands, hundreds, tens, ones, words = [];
+
+			if (number < 20) {
+				return ONE_TO_NINETEEN[number - 1]; // may be undefined
+			}
+
+			if (number < 100) {
+				ones = number % 10;
+				tens = number / 10 | 0; // equivalent to Math.floor(number / 10)
+
+				words.push(TENS[tens - 1]);
+				words.push(inEnglish(ones));
+
+				return words.filter(isTruthy).join("-");
+			}
+
+			hundreds = number / 100 | 0;
+			words.push(inEnglish(hundreds));
+			words.push("hundred");
+			words.push(inEnglish(number % 100));
+
+			return words.filter(isTruthy).join(" ");
+		}
+
+		// append the word for a scale. Made for use with Array.map
+		function appendScale(chunk, exp) {
+			var scale;
+			if (!chunk) {
+				return null;
+			}
+			scale = SCALES[exp - 1];
+			return [chunk, scale].filter(isTruthy).join(" ");
+		}
+
+		var string = chunk(x)
+			.map(inEnglish)
+			.map(appendScale)
+			.filter(isTruthy)
+			.reverse()
+			.join(" ");
+
+	}
+	if (x > 0) {
+		return string;
+	} else {
+		return "negative " + string;
+	}
+};
+
 window.jsRandom = function(min,max) {
 	return Math.floor(Math.random()*(max-min+1)+min);
 };
diff --git a/src/facilities/farmyard/farmyardAnimals.tw b/src/facilities/farmyard/farmyardAnimals.tw
index 4a4e61619531323ab6e4293f3c5aef7840cfe77c..e4edb96bd1e6c4685c3d65273d8f9a5611b775ab 100644
--- a/src/facilities/farmyard/farmyardAnimals.tw
+++ b/src/facilities/farmyard/farmyardAnimals.tw
@@ -1,7 +1,7 @@
 :: FarmyardAnimals [nobr]
 
-/*TODO: add prices*/
-/*TODO: these prices will definitely need to be adjusted*/
+/* TODO: add prices */
+/* TODO: these prices will definitely need to be adjusted */
 
 <<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardAnimals", $showEncyclopedia = 1, $encyclopedia = "Farmyard">>
 
diff --git a/src/facilities/farmyard/farmyardLab.tw b/src/facilities/farmyard/farmyardLab.tw
index 821ba34c44c60e39e116429b380f7d14eb79cd2e..9d0d431c6578f6fde5cdaf2b4f32e47537525ef6 100644
--- a/src/facilities/farmyard/farmyardLab.tw
+++ b/src/facilities/farmyard/farmyardLab.tw
@@ -2,8 +2,6 @@
 
 <<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardLab", $showEncyclopedia = 1, $encyclopedia = "Farmyard">>
 
-//This is currently under development.//
-
 /* TODO: add plant types and research for them */
 
 <br>
diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw
index 7f1de38e324a24276936604e7fd64676304f02e1..422fe54f65539c6cf7741cd9cf4f7a57e0e0b096 100644
--- a/src/facilities/nursery/nursery.tw
+++ b/src/facilities/nursery/nursery.tw
@@ -377,10 +377,6 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $
 	 <</link>>
 <</if>>
 
-@@.hotpink;test@@. 
-@@.@@, 
-@@.@@; 
-
 <br><br>
 Target age for release: <<textbox "$targetAgeNursery" $targetAgeNursery "Nursery">>
    [[Minimum Legal Age|Nursery][$targetAgeNursery = $minimumSlaveAge]]
diff --git a/src/facilities/nursery/nurseryReport.tw b/src/facilities/nursery/nurseryReport.tw
index a458a1add76515d7890071e30f652c1fe170f6d7..d5eca5141970e878784087269600eec182c3c4a0 100644
--- a/src/facilities/nursery/nurseryReport.tw
+++ b/src/facilities/nursery/nurseryReport.tw
@@ -2,7 +2,7 @@
 
 /* TODO: This will most likely still need some rewriting */
 <<SlaveSort $NurseryiIDs>>
-<<set _DL = $NurseryiIDs.length, $nurserySlaves = _DL, _SL = $slaves.length, _bonusToggle = 0, _healthBonus = 0, _idleBonus = 0, _trustBonus = 0>>
+<<set _NL = $NurseryiIDs.length, $nurserySlaves = _NL, _SL = $slaves.length, _bonusToggle = 0, _healthBonus = 0, _idleBonus = 0, _trustBonus = 0>>
 
 <<if $nurseryDecoration != "standard">>
 	<<set _devBonus = 1>>
@@ -79,151 +79,21 @@
 		$He has a natural mothering instinct and really makes $his girls feel at home.
 		<<set _idleBonus++, _healthBonus++>>
 	<</if>>
-	/* TODO: this will need to be reworked
-	<<set _attendantUsedCure = 0>>
-	<<for _dI = 0; _dI < _DL; _dI++>>
-		<<set $i = $slaveIndices[$NurseryiIDs[_dI]]>>
-		<<if ($slaves[$i].fetish == "mindbroken") && ($slaves[$i].health > 20) && (_attendantUsedCure == 0) && ($nurseryFix != 2)>>
-			<<set _attendantUsedCure = 1>>
-			<<if (random(1,100) > 90-$Matron.devotion)>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.green;Something almost miraculous has happened.@@ $Matron.slaveName has always refused to believe that $slaves[$i].slaveName could not be reached, and has lavished patient tenderness on $him in $nurseryName. $slaves[$i].slaveName has begun to respond, and is stirring from $him mental torpor.
-				<<set $slaves[$i].devotion = -3, $slaves[$i].sexualFlaw = "apathetic", $slaves[$i].behavioralFlaw = either("hates men", "odd"), $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>>
-				<<set _spr = $genePool.findIndex(function(s) { return s.ID == $slaves[$i].ID; })>>
-				<<if $genePool[_spr].intelligence > -3>>
-					<<set $slaves[$i].intelligence = $genePool[_spr].intelligence-1>>
-				<</if>>
-				<<if ($arcologies[0].FSPaternalist > 0)>>
-					Society @@.green;strongly approves@@ of $slaves[$i].slaveName being restored to sanity, which advances ideals about enlightened slaveownership.
-					<<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>>
-				<</if>>
-			<</if>>
-		<</if>>
-		<<set _seed = _bonusToggle * 10>>
-		<<if _bonusToggle == 1 && $slaves[$i].trust < 60>>
-			<<set $slaves[$i].trust++>>
-		<</if>>
-		<<if $Matron.rivalryTarget == $slaves[$i].ID>>
-			$He constantly harasses $him <<if $Matron.rivalry == 1>>growing rival<<elseif $Matron.rivalry == 2>>rival<<elseif $Matron.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, preventing $him from getting comfortable and forcing $him to keep $him guard up.
-			<<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>>
-			<<if random(1,100) > 35>>
-				<<set $Matron.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
-			<</if>>
-		<<elseif $Matron.relationshipTarget == $slaves[$i].ID>>
-			$He dedicates most of $him attention to $him <<if $Matron.relationship == 1>>friend<<elseif $Matron.relationship == 2>>best friend<<elseif $Matron.relationship == 3>>friend with benefits<<elseif $Matron.relationship == 4>>lover<<elseif $Matron.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making $him stress, both physical and mental, wash away.
-			<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-		<<elseif $familyTesting == 1 && areRelated($Matron, $slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Matron.ID || $slaves[$i].father == $Matron.ID>>
-				$He makes sure to spend extra time caring for $him daughter, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<elseif $slaves[$i].ID == $Matron.mother>>
-				$He makes sure to spend extra time caring for $him mother, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<elseif $slaves[$i].ID == $Matron.father>>
-				$He makes sure to spend extra time caring for $him father, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Matron)>>
-				<<case 1>>
-					$He makes sure to spend extra time caring for $him twin sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<<case 2>>
-					$He makes sure to spend extra time caring for $him sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<<case 3>>
-					$He makes sure to spend extra time caring for $him half-sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<</switch>>
-			<</if>>
-		<<elseif $Matron.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
-			$He makes sure to spend extra time caring for $him $slaves[$i].relation, $slaves[$i].slaveName.
-			<<set $slaves[$i].trust++>>
-		<</if>>
-		<<switch $slaves[$i].prestigeDesc>>
-		<<case "$He is a famed Free Cities whore, and commands top prices.">>
-			$He does $him best to relax the famous whore, $slaves[$i].slaveName, making sure to pay special attention to $him worn holes.
-			<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-		<<case "$He is a famed Free Cities slut, and can please anyone.">>
-			$He does $him best to soothe the famous entertainer, $slaves[$i].slaveName, letting $him relax in blissful peace.
-			<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-		<<case "$He is remembered for winning best in show as a cockmilker.">>
-			<<if ($slaves[$i].balls > 6) && ($slaves[$i].dick != 0)>>
-				<<if $Matron.fetish == "cumslut">>
-					$He can't keep $him hands off $slaves[$i].slaveName's cock and balls, but $he doesn't mind being milked constantly. Before long, strands of cum can be found floating all throughout the bath.
-					<<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>>
-				<<else>>
-					$He does $him best to accommodate $slaves[$i].slaveName's massive genitals and tends to $him whenever $he feels a need for release.
-					<<if random(1,100) > 65 && $Matron.fetish == "none">>
-						After taking several massive loads to the face, $Matron.slaveName begins to find satisfaction in being coated in cum.
-						<<set $Matron.fetish = "cumslut", $slaves[_FLs].fetish = "cumslut">>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-		<<case "$He is remembered for winning best in show as a dairy cow.">>
-			<<if ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000)>>
-				<<if $Matron.fetish == "boobs">>
-					$He can't keep $him hands off $slaves[$i].slaveName's huge breasts, but $he doesn't mind being milked constantly. Before long the bath gains a white tint.
-					<<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>>
-				<<else>>
-					$He does $him best to accommodate $slaves[$i].slaveName's massive breasts and tends to $him whenever $he feels a need for release.
-					<<if random(1,100) > 65 && $Matron.fetish == "none">>
-						After multiple milking sessions, $Matron.slaveName begins to find herself fantasizing about having giant milky breasts too.
-						<<set $Matron.fetish = "boobs", $slaves[_FLs].fetish = "boobs">>
-					<</if>>
-				<</if>>
-				<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-			<</if>>
-		<<case "$He is remembered for winning best in show as a breeder.">>
-			<<if $slaves[$i].bellyPreg >= 5000>>
-				<<if $Matron.fetish == "pregnancy">>
-				$He can't keep $his hands off $slaves[$i].slaveName's pregnancy, but $he doesn't mind $his full belly being fondled. 
-				<<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>>
-				<<else>>
-					$He does $him best to accommodate $slaves[$i].slaveName's pregnancy and to make sure the mother-to-be is happy and comfortable.
-					<<if random(1,100) > 65 && $Matron.fetish == "none">>
-						After massaging $slaves[$i].slaveName's growing belly multiple times, $Matron.slaveName begins to find herself fantasizing about being swollen with life too.
-						<<set $Matron.fetish = "pregnancy", $slaves[_FLs].fetish = "pregnancy">>
-					<</if>>
-				<</if>>
-				<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-			<<else>>
-				<<if $Matron.fetish == "pregnancy">>
-					$He can't help but pester $slaves[$i].slaveName with questions about $him famous pregnancy, limiting $him ability to truly relax.
-					<<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>>
-				<<elseif canGetPregnant($slaves[$i])>>
-					$He does $him best to encourage $slaves[$i].slaveName's fertilization by performing any fertility boosting actions $he can.
-					<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-				<</if>>
-			<</if>>
-		<</switch>>
-		<<if ($Matron.intelligence > 0) && (_attendantUsedCure == 0) && random(1,100) > (100-($Matron.intelligence*10)-_seed) && ($nurseryFix == 0)>>
-			<<if $slaves[$i].behavioralFlaw != "none">>
-				<<run SoftenBehavioralFlaw($slaves[$i])>>
-				<<set _attendantUsedCure += 1>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;$Matron.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens $him behavioral flaw@@ into an appealing quirk.
-			<<elseif $slaves[$i].sexualFlaw != "none">>
-				<<run SoftenSexualFlaw($slaves[$i])>>
-				<<set _attendantUsedCure += 1>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;$Matron.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens $him sexual flaw@@ into an appealing quirk.
-			<</if>>
-		<</if>>
-	<</for>>
-	*/
-	<<if (_DL < $nursery)>>
-		<<set _seed = random(1,10)+(($nursery-_DL)*(random(150,170)+(_idleBonus*10)))>>
+	<<if (_NL < $nursery)>>
+		<<set _seed = random(1,10)+(($nursery-_NL)*(random(150,170)+(_idleBonus*10)))>>
 		<<set $cash += _seed>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Since $he doesn't have enough children to occupy all $him time, the nursery takes in citizens' children on a contract basis and $he cares for them too, earning @@.yellowgreen;<<print cashFormat(_seed)>>.@@
-		<<if ($arcologies[0].FSRepopulationFocus > 0) && (_DL == 0)>>
+		<<if ($arcologies[0].FSRepopulationFocus > 0) && (_NL == 0)>>
 			Society @@.green;loves@@ the way you are raising more children for $arcologies[0].name.
 			<<= FSChange ("Repopulationist", 2)>>
 		<</if>>
 	<</if>>
-	<<if (_DL > 0)>><br><br><</if>>
+	<<if (_NL > 0)>><br><br><</if>>
 <</if>>
 
-<<if (_DL > 0)>>
-	&nbsp;&nbsp;&nbsp;&nbsp;''<<if (_DL > 1)>>There are _DL slaves<<else>>There is one slave<</if>> resting and recuperating in the nursery.''
-	<<if ($arcologies[0].FSHedonisticDecadence > 0) && (_DL == 0)>>
+<<if (_NL > 0)>>
+	&nbsp;&nbsp;&nbsp;&nbsp;''<<if (_NL > 1)>>There are _NL slaves<<else>>There is one slave<</if>> resting and recuperating in the nursery.''
+	<<if ($arcologies[0].FSHedonisticDecadence > 0) && (_NL == 0)>>
 		Society @@.green;approves@@ of your slaves being pampered this way, greatly advancing your laid back culture.
 		<<= FSChange("Hedonism", 1)>>
 	<</if>>
@@ -265,7 +135,7 @@
 	<<set $Matron = $slaves[_FLs]>>
 <</if>>
 
-<<for _dI = 0; _dI < _DL; _dI++>>
+<<for _dI = 0; _dI < _NL; _dI++>>
 	<<set $i = $slaveIndices[$NurseryiIDs[_dI]]>>
 	<<set $slaves[$i].devotion += _devBonus, $slaves[$i].trust += _trustBonus, $slaves[$i].health += _healthBonus>>
 	<<if ($slaves[$i].devotion < 60) && ($slaves[$i].trust < 60)>>
@@ -339,7 +209,7 @@
 	<</if>>
 <</if>>
 */
-<<if _DL > 0 || $Matron != 0>>
+<<if _NL > 0 || $Matron != 0>>
 	<br><br>
 <</if>>
 
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 3e8a2a660f1018551e6262b69fa2b772616d5b77..22f6a67080b0d4d4d4bb3b441eb2622ebc629722 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -1683,13 +1683,13 @@ ARCOLOGY FACILITIES
 
 
 <<case "Nursery">>
-	The ''Nursery'' is used to raise children from birth naturally. Once a spot is reserved for the child, they will be placed in the Nursery upon birth and ejected once they are old enough. The Nursery can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so will add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: verify that this is correct */
+	The ''Nursery'' is used to raise children from birth naturally. Once a spot is reserved for the child, they will be placed in the Nursery upon birth and ejected once they are old enough. The Nursery can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so can add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: verify that this is correct */
 
 	<br><br>''Extended family mode must be enabled.'' //This entry still needs work and will be updated with more information as it matures. If this message is still here, remind one of the devs to remove it.//
 
 
 <<case "Farmyard">>		/* TODO: this will need more information */
-	The ''Farmyard'' is where the majority of the [[food|Encyclopedia][$encyclopedia = "Food"]] in your arcology is grown, once it is built. It also allows you to house animals<<if $seeBestiality == 1>>, which you can have interact with your slaves<</if>>. The Farmyard can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so will add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: this may need to be changed */
+	The ''Farmyard'' is where the majority of the [[food|Encyclopedia][$encyclopedia = "Food"]] in your arcology is grown, once it is built. It also allows you to house animals<<if $seeBestiality == 1>>, which you can have interact with your slaves<</if>>. The Farmyard can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so can add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: this may need to be changed */
 	<br>//This entry still needs work and will be updated with more information as it matures. If this message is still here, remind one of the devs to remove it.//
 
 
diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index b5e7bd140cb63c722ba086158e153b745cc78abb..55f223212137ae4ff4fece7535ff48623d23a29c 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -189,7 +189,7 @@ window.DefaultRules = (function() {
 				break;
 
 			case "work as a farmhand":
-				if ((V.farmyardSlaves < V.farmyard && canWalk(slave))) //TODO: rework these requirements
+				if ((V.farmyardSlaves < V.farmyard)) //TODO: rework these requirements
 					break;
 				else {
 					RAFacilityRemove(slave, rule);
diff --git a/src/js/utilJS.tw b/src/js/utilJS.tw
index 59655e0c63c72be8a6088be6b47f752ad7007acd..0c96b764552e3a383d033d4c6271d765a19abe5e 100644
--- a/src/js/utilJS.tw
+++ b/src/js/utilJS.tw
@@ -503,6 +503,91 @@ window.numberWithCommas = function(x) {
 	return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
 };
 
+window.numberToWords = function(x) {
+	if (x === 0) {
+		return "zero"
+	} else {
+		var ONE_TO_NINETEEN = [
+			"one", "two", "three", "four", "five",
+			"six", "seven", "eight", "nine", "ten",
+			"eleven", "twelve", "thirteen", "fourteen", "fifteen",
+			"sixteen", "seventeen", "eighteen", "nineteen"
+		];
+
+		var TENS = [
+			"ten", "twenty", "thirty", "forty", "fifty",
+			"sixty", "seventy", "eighty", "ninety"
+		];
+
+		var SCALES = ["thousand", "million", "billion", "trillion"];
+
+		// helper function for use with Array.filter
+		function isTruthy(item) {
+			return !!item;
+		}
+
+		// convert a number into "chunks" of 0-999
+		function chunk(number) {
+			var thousands = [];
+
+			while (number > 0) {
+				thousands.push(number % 1000);
+				number = Math.floor(number / 1000);
+			}
+
+			return thousands;
+		}
+
+		// translate a number from 1-999 into English
+		function inEnglish(number) {
+			var thousands, hundreds, tens, ones, words = [];
+
+			if (number < 20) {
+				return ONE_TO_NINETEEN[number - 1]; // may be undefined
+			}
+
+			if (number < 100) {
+				ones = number % 10;
+				tens = number / 10 | 0; // equivalent to Math.floor(number / 10)
+
+				words.push(TENS[tens - 1]);
+				words.push(inEnglish(ones));
+
+				return words.filter(isTruthy).join("-");
+			}
+
+			hundreds = number / 100 | 0;
+			words.push(inEnglish(hundreds));
+			words.push("hundred");
+			words.push(inEnglish(number % 100));
+
+			return words.filter(isTruthy).join(" ");
+		}
+
+		// append the word for a scale. Made for use with Array.map
+		function appendScale(chunk, exp) {
+			var scale;
+			if (!chunk) {
+				return null;
+			}
+			scale = SCALES[exp - 1];
+			return [chunk, scale].filter(isTruthy).join(" ");
+		}
+
+		var string = chunk(x)
+			.map(inEnglish)
+			.map(appendScale)
+			.filter(isTruthy)
+			.reverse()
+			.join(" ");
+
+	} if (x > 0) {
+		return string;
+	} else {
+		return "negative " + string;
+	}
+};
+
 window.jsRandom = function(min,max) {
 	return Math.floor(Math.random()*(max-min+1)+min);
 };
diff --git a/src/pregmod/seHuskSlaveDelivery.tw b/src/pregmod/seHuskSlaveDelivery.tw
index 8fa9a88016393577a076f19f4548efe415e030c5..e79e9b722924aa672512d10758116bc7c8e2a173 100644
--- a/src/pregmod/seHuskSlaveDelivery.tw
+++ b/src/pregmod/seHuskSlaveDelivery.tw
@@ -2,8 +2,8 @@
 
 <<set $huskSlaveOrdered = 0, $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "Enslaving People">>
 
-<<set $activeSlaveOneTimeMinAge = $huskSlave.age>>
-<<set $activeSlaveOneTimeMaxAge = $huskSlave.age>>
+<<set $activeSlaveOneTimeMinAge = parseInt($huskSlave.age)>>
+<<set $activeSlaveOneTimeMaxAge = parseInt($huskSlave.age)>>
 <<set $one_time_age_overrides_pedo_mode = 1>>
 <<set $ageAdjustOverride = 1>>
 <<set $fixedNationality = $huskSlave.nationality>>
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index edd6d64a0b43e0279f0aecd94b6136e1c021e981..6afe7fc1a720c9ff6e54c011941fe21a2cc28243 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -444,7 +444,7 @@ You arrange yourself to give birth, relaxing until your body urges you to begin
 	<<set $PC.birthOther += _others, $PC.birthSelf += _self, $PC.birthCitizen += _citizens, $PC.birthMaster += _oldMaster, $PC.birthArcOwner += _arcOwner, $PC.birthClient += _clients, $PC.birthElite += _elite, $PC.birthLab += _lab, $PC.birthDegenerate += _slavesLength>>
 
 	<<if _curBabies == 1>>
-
+        <<set _p = 0>>
 		<<if $PC.curBabies[_p].genetics.race == $PC.origRace>>
 			<<set _PCDegree++>>
 		<</if>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 20972b47705297898b4b5b1292ad24ada9d9b271..72b8a37927de4523d42a3dfb76525448a1cbd410 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -728,7 +728,7 @@
 <<if ndef $Matron>>
 	<<set $Matron = 0>>
 <</if>>
-<<if ndef $activeChild>>	/* TODO: this might need to be moved to somewhere near the top */
+<<if ndef $activeChild>>
 	<<set $activeChild = 0>>
 <</if>>
 <<if ndef $nannyInfluence>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index d39996755c3453cab53aabb53afc1ccfac57bf5c..2139a14fc2127424ae31d092649afe3e6801ff05 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -380,11 +380,13 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 ||
 			<<else>>
 				<<set _livingExpense = $rulesCost>>
 			<</if>>
-		<<case "work as a farmhand">>		/* TODO: this may need tweaking */
-			<<if $slaves[$i].livingRules == "normal">>
-				<<set _livingExpense = ($rulesCost*1.5)>>
+		<<case "work as a farmhand">>
+			<<if $slaves[$i].livingRules == "luxurious">>
+				<<set _livingExpense = ($rulesCost)>>
+			<<elseif $slaves[$i].livingRules == "normal">>
+				<<set _livingExpense = ($rulesCost*2)>>
 			<<else>>
-				<<set _livingExpense = $rulesCost>>
+				<<set _livingExpense = ($rulesCost*.9)>>
 			<</if>>
 		<<case "work in the brothel">>
 			<<if $slaves[$i].livingRules == "normal">>
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 5e4ddf1689b12534b3b7e656eedfef622de8979d..d7148fab546a49a02999c1f6583b091b5db16e83 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -2153,7 +2153,7 @@
 					<<set $slaves[$i].trust -= _punishments>>
 				<</switch>>
 			<</if>>
-		<<case "be the Matron">> /*TODO: this needs major work*/
+		<<case "be the Matron">>
 			<<set $slaves[$i].need -= ($NurseryiIDs.length*3)>>
 			<<if $slaves[$i].energy <= 20>>
 				is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>.
@@ -2477,7 +2477,7 @@
 					<<set $slaves[$i].trust += 1>>
 				<</switch>>
 			<<else>>
-				<<switch $nurseryDecoration>>   /* TODO: these may need to be rewritten - I'm not much of a writer */
+				<<switch $nurseryDecoration>>
 				<<case "Chinese Revivalist">>
 					The Oriental artwork in $his personal room reminds $him of $his position and @@.hotpink;renders $him even more submissive.@@
 					<<set $slaves[$i].devotion += 1>>
@@ -4191,8 +4191,8 @@
 					<</switch>>
 				<</if>>
 			<</if>>
-		<<case "be the Farmer">> /*TODO: this will need a rewrite*/
-			<<set $slaves[$i].need -= $DairyiIDs.length*5>>
+		<<case "be the Farmer">>
+			<<set $slaves[$i].need -= $FarmyardiIDs.length*5>>
 			<<if $slaves[$i].energy <= 20>>
 				is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>.
 				<<set $slaves[$i].need = 0>>
@@ -4208,7 +4208,7 @@
 				<<if ($slaves[$i].releaseRules == "restrictive")>>
 					willingly begs you to
 					<<saRulesPlayerFetishPlay>>
-					whenever you inspect $dairyName.
+					whenever you inspect $farmyardName.
 					<<saRulesPlayerEnergy>>
 					<<saRulesPlayerDiscoversFetish>>
 					<<saRulesPlayerDrugEffects>>
@@ -4242,28 +4242,28 @@
 				<</if>> /* closes releaseRules not restrictive */
 			<</if>>
 
-			$He is @@.hotpink;very happy@@ with $his private room in $dairyName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
+			$He is @@.hotpink;very happy@@ with $his private room in $farmyardName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
 			<<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>>
 
 			<<if ($universalRulesConsent == 0)>>
 				<<if ($slaves[$i].releaseRules != "restrictive")>>
 					<<if ($slaves[$i].energy > 95)>>
-						<<if $DairyiIDs.length > 2>>
+						<<if $FarmyardiIDs.length > 2>>
 							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his charge.
 						<<else>>
-							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $dairyName.
+							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $farmyardName.
 						<</if>>
 						<<set $slaves[$i].devotion += 1>>
 					<<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
 						<<if ($slaves[$i].fetish == "sadist")>>
-							<<if $DairyiIDs.length > 2>>
+							<<if $FarmyardiIDs.length > 2>>
 								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;adores@@ you for providing so many cows for $him to rape.
 							<<else>>
-								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $dairyName for $him to rape.
+								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $farmyardName for $him to rape.
 							<</if>>
 							<<set $slaves[$i].devotion += 1>>
 						<<elseif ($slaves[$i].fetish == "dom")>>
-							<<if $DairyiIDs.length > 2>>
+							<<if $FarmyardiIDs.length > 2>>
 								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;adores@@ you for allowing $him so many cows to dominate.
 							<<else>>
 								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $his domain.
@@ -4311,7 +4311,7 @@
 					<<if $spa != 0>>
 						usually spends in $spaName<<if $Attendant != 0>> enjoying $Attendant.slaveName's care<</if>>.
 					<<else>>
-						usually spends relaxing in $his room<<if $DairyiIDs.length > 1>> with the softest cow available<</if>>.
+						usually spends relaxing in $his room<<if $FarmyardiIDs.length > 1>> with the softest cow available<</if>>.
 					<</if>>
 					<<if $slaves[$i].relationship > 0>>
 						$He often asks to save these breaks so $he can spend them with $his <<if $slaves[$i].relationship == 1>>friend<<elseif $slaves[$i].relationship == 2>>best friend<<elseif $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>wife<</if>>.
@@ -4508,6 +4508,9 @@
 				<<case "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist">>
 					The spare living conditions and daily tasks @@.hotpink;get $him used@@ to the routine of slavery.
 					<<set $slaves[$i].devotion += 1>>
+				<<case "Roman Revivalist">>
+					$He is 
+					<<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>>
 				<<default>>
 					The reasonable living conditions allow $him to relax after the days work.
 					<<if $slaves[$i].pregKnown && $farmyardPregSetting >= 1 && $slaves[$i].bellyPreg >= 1500>>
@@ -4560,6 +4563,9 @@
 					<</if>>
 				<<case "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist">>
 					The living conditions of $farmyardName might be spare, but they are no means meant to be uncomfortable.
+				<<case "Roman Revivalist">>
+					$He is @@.hotpink;very happy@@ about $his cushy living arrangements, and @@.mediumaquamarine;trusts you all the more@@ for it.
+					<<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>>
 				<<default>>
 					$He likes $his personal space in $farmyardName's dormitory, even if it's just a small room.
 				<</switch>>
diff --git a/src/uncategorized/saWorkTheFarm.tw b/src/uncategorized/saWorkTheFarm.tw
index 04a107fd05befbf391b5576644aa6d073b00dd0b..0f6b72fb4772410b8467f13c87b31faf57a45e87 100644
--- a/src/uncategorized/saWorkTheFarm.tw
+++ b/src/uncategorized/saWorkTheFarm.tw
@@ -1,4 +1,4 @@
-:: SA work the farm [nobr] /* TODO: This entire passage will need to be reworked */
+:: SA Work the Farm [nobr] /* TODO: This entire passage will need to be reworked */
 
 <!-- Statistics gathering -->
 <<set _incomeStats = getSlaveStatisticData($slaves[$i], $slaves[$i].assignment === Job.DAIRY ? $facility.farmyard : undefined)>>
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
index 7fc2de4a680c796fbc600e472405f46be13e2817..0343685a4a307b5f47d19ab9f6556000d2106d8f 100644
--- a/src/uncategorized/salon.tw
+++ b/src/uncategorized/salon.tw
@@ -4,6 +4,8 @@
 
 <<set $showEncyclopedia = 1>><<set $encyclopedia = "The Auto Salon">>
 
+<<set _oldHLength = $activeSlave.hLength, _newHLength = 0>>
+
 <h1>The Auto Salon</h1>
 
 //$activeSlave.slaveName is seated in the auto salon. $He is awaiting your artistic pleasure.//
@@ -334,6 +336,14 @@
 	<<elseif $activeSlave.hLength < 150>>
 		| [[Apply extensions|Salon][$activeSlave.hLength += 10,$cash -= $modCost]]
 	<</if>>
+		/*		FIXME: get this to work
+		| Custom length: <<textbox "_newHLength" _oldHLength "Salon">>
+		<<if (_newHLength < _oldHLength) && (_newHLength > 0)>>
+			<<set $activeSlave.hLength = _newHLength>>
+		<<else>>
+			<<set $activeSlave.hLength = _oldHLength>>
+		<</if>>
+		*/
 
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	Have $his hair carefully maintained at its current length:
diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw
index dfda8561560ed8786f444cfb29d500a504dd45cf..2b3f3934e2dbb146a70072f287b47d11b47b209c 100644
--- a/src/uncategorized/seNonlethalPit.tw
+++ b/src/uncategorized/seNonlethalPit.tw
@@ -1060,8 +1060,8 @@
 		<</if>>
 	<<else>>
 		<<set _minutesLasted = random(1,5)>>
-		<<if _canRun == 1>>	/* FIXME: clean this mess up */
-			$activeSlave.slaveName is quick, but not quick enough. $He manages to last almost <<if _minutesLasted == 1>>a full minute<<else>><<if _minutesLasted == 2>>two<<elseif _minutesLasted == 3>>three<<elseif _minutesLasted == 4>>four<<elseif _minutesLasted == 5>>five<</if>> full minutes<</if>> before the _animal.species finally catches $him.
+		<<if _canRun == 1>>
+			$activeSlave.slaveName is quick, but not quick enough. $He manages to last almost <<= numberToWords(_minutesLasted)>> full minutes before the _animal.species finally catches $him.
 		<<elseif _canRun == 0>>
 			$activeSlave.slaveName isn't quick enough to avoid the beast, and $he only manages to last a pitiful thirty seconds before the _animal.species catches $him.
 		<</if>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index ece6ce8a24461b531ca30910c9e541c95fddb72a..aa363beeb8c35b8e93a174915d58841cc1ccd59a 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -1302,13 +1302,13 @@ As the remote surgery's long recovery cycle completes,
 		<<if ($activeSlave.devotion > 50) && ($activeSlave.sexualFlaw == "self hating")>>
 			Strong emotions play out on $his face as $he experiences a watershed in $his life of sexual slavery, perhaps the most radical one $he'll ever experience. $He loves you with all $his being, and truly hates $himself. $He finds $himself in an emotional place where $he's willing to accept having had you cut $his dick off. $He knows $he's a worthless piece of trash, and realizes that if you feel like trimming useless bits off $him, that's your prerogative. In moments, $he's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening.
 			<<set $activeSlave.devotion += 50>>
-		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>>
+		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>>
 			$He's such a complete buttslut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his own dick; for $him, sex is about the phalli that get rammed up $his ass. And you didn't take that from $him. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $he'll never be anything but a butthole slut, and of course is forced even further into @@.hotpink;submission to your will.@@
 			<<set $activeSlave.devotion += 8, $activeSlave.trust += 8>>
-		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>>
+		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>>
 			$He's such an oral slut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his dick; for $him, sex is about what $he gets to suck. As far as $he's concerned, you've simply confirmed that $his most important hole is the one in $his face. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $he'll never be anything more than a nice inviting facepussy, and of course, $he's forced even further into @@.hotpink;submission to your will.@@
 			<<set $activeSlave.devotion += 8, $activeSlave.trust += 8>>
-		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>>
+		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>>
 			$He's such a total submissive, though, that $he accepts even this. Having $his cock removed, reducing $him to a sexually helpless place where $he can only receive pleasure by being penetrated, is perhaps the final step in sexual slavery, and $he's a little awed by it. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $his body exists for the sexual gratification of others, and of course, $he's forced even further into @@.hotpink;submission to your will.@@
 			<<set $activeSlave.devotion += 8, $activeSlave.trust += 8>>
 		<<elseif $activeSlave.devotion > 95>>
@@ -1374,13 +1374,13 @@ As the remote surgery's long recovery cycle completes,
 		<<if ($activeSlave.devotion > 50) && ($activeSlave.sexualFlaw == "self hating")>>
 			Strong emotions play out on $his face as $he experiences a watershed in $his life of sexual slavery, perhaps the most radical one $he'll ever experience. $He loves you with all $his being, and truly hates $himself. $He finds $himself in an emotional place where $he's willing to accept having $his womanhood torn out. $He knows $he's a worthless piece of trash, and realizes that if you feel like removing the parts of $his body that can feel sexual pleasure, that's your prerogative. In moments, $he's confirmed in @@.hotpink;total, final, fanatical submission to your will.@@ It's almost frightening.
 			<<set $activeSlave.devotion += 50>>
-		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>>
+		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "buttslut")>>
 			$He's such a complete buttslut, though, that $he finds $he doesn't really care. $He never really paid much attention to $his front hole; it got wet when $he got buttfucked, but that was mostly useful to provide a little lube for phalli that fucked it before switching to $his ass. If anything, $he's @@.mediumaquamarine;reassured@@ by the implication that $his asshole is all that matters about $him, and of course is forced even further into @@.hotpink;submission to your will.@@
 			<<set $activeSlave.devotion += 8, $activeSlave.trust += 8>>
-		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>>
+		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "cumslut")>>
 			$He's such an oral slut, though, that $he finds $he doesn't really care. $He viewed $his pussy as a nice place for stimulation while $he licked, blew, and sucked; if $he has to learn to get off from throat stimulation $he will. As far as $he's concerned, you've simply confirmed that $his most important hole is the one in $his face. If anything, $he's @@.mediumaquamarine;reassured@@ by the implication that $his real pussy has always been the one in the middle of $his face, and of course, $he's forced even further into @@.hotpink;submission to your will.@@
 			<<set $activeSlave.devotion += 8, $activeSlave.trust += 8>>
-		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishknown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>>
+		<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 95) && ($activeSlave.fetish == "submissive")>>
 			$He's such a total submissive, though, that $he accepts even this. Having $his womanhood torn out, greatly curtailing $his physical ability to enjoy sex, is perhaps the final step in sexual slavery, and $he's a little awed by it. If anything, $he's @@.mediumaquamarine;reassured@@ by the implicit promise that $his body exists for the degrading sexual gratification of others, and of course, $he's forced even further into @@.hotpink;submission to your will.@@
 			<<set $activeSlave.devotion += 8, $activeSlave.trust += 8>>
 		<<elseif $activeSlave.devotion > 95>>