diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000000000000000000000000000000000000..5f86a7c2be91b11c7cafbb5307be5d28a4e3116e
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,61 @@
+{
+    "root": true,
+    "env": {
+        "browser": true,
+        "es6": true,
+        "jquery": true
+    },
+    "extends": "eslint:recommended",
+    "globals": {
+        "SugarCube": false,
+        "Config": false,
+        "State": false,
+        "Story": false,
+        "settings": false,
+        "setup": false,
+        "App": false,
+        "prehistory": true,
+        "predisplay": true,
+        "prerender": true,
+        "postrender": true,
+        "postdisplay": true
+    },
+    "parserOptions": {
+        "ecmaVersion": 2018,
+        "sourceType": "module",
+        "ecmaFeatures": {
+            "impliedStrict": true
+        }
+    },
+    "rules": {
+        "semi-spacing": "warn",
+        "semi-style": "warn",
+        "eqeqeq": "error",
+        "no-fallthrough": "error",
+        "camelcase": "warn",
+        "comma-spacing": "error",
+        "comma-style": "error",
+        "object-curly-newline": "off",
+        "object-curly-spacing": "error",
+        "no-var": "error",
+        "spaced-comment": "warn",
+        "no-undef": "off",
+        "no-unused-vars": "error",
+        "block-scoped-var": "warn",
+        "dot-notation": "off",
+        "linebreak-style": ["error", "unix"],
+        "eol-last": "warn",
+        "unicode-bom": [
+            "error",
+            "never"
+        ],
+        "valid-jsdoc": [
+        "warn",
+        {
+            "requireParamDescription": false,
+            "requireReturnDescription": false,
+            "requireReturn": false
+        }
+        ]
+    }
+}
diff --git a/.gitignore b/.gitignore
index 8dc0920da275e8878b73a375aa7c35587d5a9065..cd29456af544f0c68a943e66c8eb98c24bb890c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,8 +95,6 @@ ENV/
 src/config/start.tw
 
 # eslint
-.eslintrc.js
-.eslintrc.json
 node_modules
 package-lock.json
 package.json
diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index a51e09c00219b8730dc4c96ef813fd2f1f8ba83a..db3c8a5229fb2cc56017d58060ae1e801bab39a7 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,15 +2,19 @@ Pregmod
 
 0.10.7.1-2.3.x
 
+04/09/2019
+
 	0
 	-Arcade overhualed
 	-population now affects demand
 	-added superfetation genetic quirk
+	-added rear lipedema genetic quirk (constant ass growth)
 	-many new names and nicknames
 	-player can now be impregnated during the futanari sister orgy
 	-added tracking for futanari sister impregnation
 	-player medicine and trading skill now more useful
 	-easier to passively gain slaving skill
+	-artificial eyes better managed
 	-tweaks to FCTV
 	-added overalls outfit
 	-UI changes
diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 8a12c37ba271f14a31b5f870777952b172464a1d..283b3494b251fb51e57a3692aa6162c6bead42d0 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -1140,11 +1140,17 @@ accepts string
 eyes:
 
 slave eyesight
--3 - empty (no descriptions)
+-4 - empty
+-3 - glass eye
 -2 - blind
 -1 - nearsighted
  1 - normal
 
+eyesImplant:
+
+0 - normal eyes
+1 - artificial eyes
+
 origEye:
 
 slave's original eye color, defaults to their initial eye color.
diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw
index a6a4d5a1019b7d64b4e3370a1cb0723fe358ce68..590e1edc57828ca34529d500456fc52bec62bc02 100644
--- a/src/cheats/mod_EditChildCheatNew.tw
+++ b/src/cheats/mod_EditChildCheatNew.tw
@@ -1268,7 +1268,6 @@
 	<</link>>
 	<span id=ecol2></span>
 	<br>Custom eye color: <<textbox "$tempSlave.origEye" $tempSlave.origEye>>
-	<<radiobutton "$tempSlave.origEye" "implant">> Artificial Eyes
 	<br><br>
 	''$His pupils are @@.yellow;$tempSlave.pupil@@ in shape''
 	<<link "Pupil Shape">>
@@ -1339,6 +1338,12 @@
 	<<radiobutton "$tempSlave.eyes" -1>> Nearsighted
 	<<radiobutton "$tempSlave.eyes" -2>> Blind
 	<br>
+	''$He has ''
+	<<if $tempSlave.eyesImplant == 0>>normal<<else>>artificial<</if>>eyes.
+	<br>
+	<<radiobutton "tempSlave.eyesImplant" 0>> Normal
+	<<radiobutton "tempSlave.eyesImplant" 1>> Artificial
+	<br>
 <</widget>>
 
 <<widget MouthTab>>
diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw
index 7675d5db10f78c29bd7b5031289006fca172671d..6e9ea80974bd64e98055212f081b094f648d989e 100644
--- a/src/cheats/mod_EditSlaveCheat.tw
+++ b/src/cheats/mod_EditSlaveCheat.tw
@@ -330,6 +330,12 @@ Custom sclera color: <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>
 <<radiobutton "$tempSlave.eyes" -2>> Blind
 <</if>>
 
+<br>
+''$His eyes are (0: normal, 1: artificial): $tempSlave.eyesImplant''
+<br>Eyes: <<textbox "$tempSlave.eyesImplant" $tempSlave.eyesImplant>>
+<<radiobutton "$tempSlave.eyesImplant" 0>> Normal
+<<radiobutton "$tempSlave.eyesImplant" 0>> Artificial
+
 <br><br>
 
 ''$His hearing is (-1: impaired, 0: normal): $tempSlave.hears''
diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw
index 1d0eafc43916b6733371f3e5153c48446ad8373b..96c9fdb3d36412e57cf4d81e05471fcbef26f431 100644
--- a/src/cheats/mod_editSlaveCheatNew.tw
+++ b/src/cheats/mod_editSlaveCheatNew.tw
@@ -1892,7 +1892,6 @@
 	<</link>>
 	<span id=ecol2></span>
 	<br>Custom eye color: <<textbox "$tempSlave.origEye" $tempSlave.origEye>>
-	<<radiobutton "$tempSlave.origEye" "implant">> Artificial Eyes
 	<br><br>
 	''$His pupils are @@.yellow;$tempSlave.pupil@@ in shape''
 	<<link "Pupil Shape">>
@@ -1963,6 +1962,12 @@
 	<<radiobutton "$tempSlave.eyes" -1>> Nearsighted
 	<<radiobutton "$tempSlave.eyes" -2>> Blind
 	<br>
+	''$He has ''
+	<<if $tempSlave.eyesImplant == 0>>normal<<else>>artificial<</if>>eyes.
+	<br>
+	<<radiobutton "tempSlave.eyesImplant" 0>> Normal
+	<<radiobutton "tempSlave.eyesImplant" 1>> Artificial
+	<br>
 <</widget>>
 
 <<widget MouthTab>>
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index f75d3d22f0ebc57c2caecef6e50e95ec4ec3a2fb..669263d8e1671265fd69114807badc9bda13f560 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -484,7 +484,7 @@ window.saServeThePublic = (function saServeThePublic() {
 					}
 					r += ` pussy,`;
 				} else if (slave.sexAmount > 70 && jsRandom(1, 3) === 1) {
-					r += `getting gangbanged,`
+					r += `getting gangbanged,`;
 				} else if (jsRandom(1, 2) === 1) {
 					r += `giving away one of ${his} `;
 					if (slave.prestige > 1 || slave.pornPrestige > 2) {
@@ -840,7 +840,7 @@ window.saServeThePublic = (function saServeThePublic() {
 
 		if (slave.bellyPreg >= 1500 || setup.fakeBellies.includes(slave.bellyAccessory) || slave.bellyImplant >= 1500) {
 			if (arcology.FSRepopulationFocus !== "unset") {
-				r =+ ` In the new culture of ${arcology.name}, ${his}`;
+				r += ` In the new culture of ${arcology.name}, ${his}`;
 				if (setup.fakeBellies.includes(slave.bellyAccessory) || slave.bellyImplant >= 1500) {
 					r += ` apparent`;
 				}
@@ -885,7 +885,7 @@ window.saServeThePublic = (function saServeThePublic() {
 		}
 		if (arcology.FSEdoRevivalist !== "unset") {
 			if (slave.nationality === "Japanese" || slave.nationality === "Edo Revivalist") {
-				r =+ ` As a proper Japanese ${girl}, ${he} is considered extremely desirable.`;
+				r += ` As a proper Japanese ${girl}, ${he} is considered extremely desirable.`;
 			}
 		} else if (arcology.FSChineseRevivalist !== "unset") {
 			if (slave.nationality === "Chinese" || slave.nationality === "Chinese Revivalist") {
diff --git a/src/endWeek/saWorkAGloryHole.js b/src/endWeek/saWorkAGloryHole.js
index 19f4e5ee3f4e379df922147cca40adaf799aace1..2a478efce3caf56801400473b2119a53624295d4 100644
--- a/src/endWeek/saWorkAGloryHole.js
+++ b/src/endWeek/saWorkAGloryHole.js
@@ -43,7 +43,6 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function jobPreface(slave) {
-
 		r += ` is `;
 		if (slave.fuckdoll === 0) {
 			r += `restrained in a glory hole.`;
@@ -78,7 +77,6 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function physicalEffects(slave) {
-
 		//check usage counts for these — more fucks should be more damaging
 		if (slave.curatives > 0 || slave.inflationType === "curative") {
 			r += ` The drugs ${he}'s `;
@@ -92,21 +90,21 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 			r += ` The stress of being used while very ill <span class="red">damaged ${his} health.</span>`;
 			slave.health -= Math.max(Math.trunc((slave.sexAmount - 100) / 25) + jsRandom(-2, 2), 1);
 		} else if (slave.health < -10) {
-			if (jsRandom(1,100) < 10) {
+			if (jsRandom(1, 100) < 10) {
 				r += ` The stress of being used while weak has <span class="red">damaged ${his} health.</span>`;
 				slave.health -= Math.max(Math.trunc((slave.sexAmount - 100) / 25) + jsRandom(-2, 2), 1);
 			}
 		} else if (!canDoVaginal(slave) && !canDoAnal(slave)) {
-			if (jsRandom(1,100) < 75) {
+			if (jsRandom(1, 100) < 75) {
 				r += ` The stress of being used repeatedly in only one hole has <span class="red">damaged ${his} health.</span>`;
 				slave.health -= Math.max(Math.trunc((slave.sexAmount - 100) / 25) + jsRandom(-2, 2), 1);
 			}
 		} else if (!canDoVaginal(slave)) {
-			if (jsRandom(1,100) < 50) {
+			if (jsRandom(1, 100) < 50) {
 				r += ` The stress of being used in only two holes has <span class="red">damaged ${his} health.</span>`;
 				slave.health -= Math.max(Math.trunc((slave.sexAmount - 100) / 25) + jsRandom(-2, 2), 1);
 			}
-		} else if (jsRandom(1,100) < 25) {
+		} else if (jsRandom(1, 100) < 25) {
 			r += ` The stress of being used has <span class="red">damaged ${his} health.</span>`;
 			slave.health -= Math.max(Math.trunc((slave.sexAmount - 100) / 25) + jsRandom(-2, 2), 1);
 		}
@@ -122,12 +120,12 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 			slave.devotion -= 10;
 			slave.trust -= 10;
 			slave.vagina = 1;
-		} else if (slave.vagina < 3 && canDoVaginal(slave) && jsRandom(1,100) > ((310 - beauty) + (slave.vagina * 10))) {
+		} else if (slave.vagina < 3 && canDoVaginal(slave) && jsRandom(1, 100) > ((310 - beauty) + (slave.vagina * 10))) {
 			r += ` <span class="lime">${His} pussy gets stretched out by the use.</span>`;
 			slave.vagina += 1;
 		}
 
-		if (slave.anus == 0 && canDoAnal(slave)) {
+		if (slave.anus === 0 && canDoAnal(slave)) {
 			r += ` ${His} anal virginity goes to a `;
 			if (slave.fuckdoll === 0) {
 				r += `glory hole`;
@@ -144,7 +142,7 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 			slave.devotion -= 5;
 			slave.trust -= 5;
 			slave.anus = 1;
-		} else if (slave.anus < 3 && canDoAnal(slave) && jsRandom(1,100) > ((290 - beauty) + (slave.anus * 10))) {
+		} else if (slave.anus < 3 && canDoAnal(slave) && jsRandom(1, 100) > ((290 - beauty) + (slave.anus * 10))) {
 			r += ` <span class="lime">${His} asshole sees constant use and loosens.</span>`;
 			slave.anus += 1;
 		}
@@ -152,7 +150,6 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function mentalEffects(slave) {
-
 		if (slave.fetish === "mindbroken") {
 			r += ` ${He} serves ${his} role as a mindless set of holes to perfection.`;
 		} else {
@@ -169,7 +166,7 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 			if (slave.sexualFlaw === "self hating") {
 				r += ` ${His} self hatred is so deep that ${he} believes ${he} deserves to serve in a glory hole, and even gets off on the degradation.`;
 			} else if (slave.sentence > 0) {
-				if (slave.behavioralFlaw !== "odd" && jsRandom(1,100) > (100 + (slave.devotion / 5))) {
+				if (slave.behavioralFlaw !== "odd" && jsRandom(1, 100) > (100 + (slave.devotion / 5))) {
 					r += ` Constant confinement coupled with brutal use has left ${him} with involuntary nervous tics.`;
 					slave.behavioralFlaw = "odd";
 				}
@@ -187,7 +184,7 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 				slave.devotion -= 5;
 				slave.trust -= 5;
 			} else {
-				if (slave.behavioralFlaw !== "odd" && jsRandom(1,100) > (70 + (slave.devotion / 5))) {
+				if (slave.behavioralFlaw !== "odd" && jsRandom(1, 100) > (70 + (slave.devotion / 5))) {
 					r += ` Constant confinement coupled with brutal use has left ${him} with involuntary nervous tics.`;
 					slave.behavioralFlaw = "odd";
 				}
@@ -221,10 +218,9 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function applyFSDecoration(slave) {
-
 		/* FACILITY DECORATION IMPACTS */
 		if (slave.assignment === "be confined in the arcade" && V.arcadeDecoration !== "standard") {
-			let impact = (0.0001 * V.FSSingleSlaveRep * beauty);
+			const impact = (0.0001 * V.FSSingleSlaveRep * beauty);
 			switch (V.arcadeDecoration) {
 				case "Roman Revivalist":
 					V.arcologies[0].FSRomanRevivalist += impact;
@@ -304,7 +300,6 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function sexCounts(slave) {
-
 		/* SEX ACT COUNTS AND SEXUAL SATISFACTION */
 
 		let oralUse = (V.oralUseWeight + (slave.lips / 20));
@@ -323,7 +318,7 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 			}
 		}
 
-		let demand = (oralUse + analUse + vaginalUse);
+		const demand = (oralUse + analUse + vaginalUse);
 		let cervixPump = 0;
 
 		oralUse = Math.trunc((oralUse / demand) * beauty);
@@ -410,7 +405,6 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function profitReport(slave) {
-
 		if (V.publicFuckdolls === 0) {
 			if (slave.assignment === "work a glory hole") {
 				cashX(Math.trunc(beauty * FResult), "gloryhole", slave);
@@ -433,5 +427,4 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 			T.incomeStats.income += Math.trunc(beauty * FResult / 5);
 		}
 	}
-
 })();
diff --git a/src/interaction/cyberConfig.tw b/src/interaction/cyberConfig.tw
index 49ee44e440dfb0aa5e7f235b756e0af9edd02b0e..c7adf2f9b97d2bc696e34c06e3fcf4fa2678ef8e 100644
--- a/src/interaction/cyberConfig.tw
+++ b/src/interaction/cyberConfig.tw
@@ -11,7 +11,7 @@
 			Your slave $activeSlave.slaveName is lying on the table, waiting for your instructions.
 		<</if>>
 
-	<<if $activeSlave.origEye == "implant">><br><br>&nbsp;
+	<<if $activeSlave.eyesImplant == 1>><br><br>&nbsp;
 		$He has an ocular implant installed.
 		<<if $activeSlave.eyes == 1>>
 			They are operating normally.
@@ -263,4 +263,4 @@
 	<<elseif $activeSlave.tail == "sex">>accidentally engages the vibrating and lube functions, startling $him and making quite a mess.
 	<<else>>admires $his new tail.
 	<</if>>
-<</switch>>
\ No newline at end of file
+<</switch>>
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 82ab3b89b6d5808cf0a244a67b89705a572bc694..db0232e0805944b3bebb4a88e979ac925246413e 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -518,12 +518,17 @@ App.Entity.SlaveState = class SlaveState {
 		this.markings = "none";
 		/**
 		 * slave eyesight
-		 * * -3: empty (no descriptions)
+		 * * -4: empty (no descriptions)
+		 * * -3: glass eye
 		 * * -2: blind
 		 * * -1: nearsighted
 		 * * 1: normal
 		 */
 		this.eyes = 1;
+		/** Slave has artificial eyes
+		 *
+		 * 0: no; 1: yes */
+		this.eyesImplant = 0;
 		/** eye color */
 		this.eyeColor = "brown";
 		/** slave's original eye color, defaults to their initial eye color. */
@@ -1817,6 +1822,14 @@ App.Entity.SlaveState = class SlaveState {
 		 * * 96+: nymphomaniac
 		 */
 		this.energy = 50;
+		/**
+		 * The amount of sex the slave had with customers for certain jobs during a week
+		 */
+		this.sexAmount = 0;
+		/**
+		 * The 'quality' of the sex a slave had with customers. High quality means they fetch a higher price for their services
+		 */
+		this.sexQuality = 0;
 		/**
 		 * how badly she needs sex.
 		 *
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 57d7bda1cf5829797a85a987d6da83e71f74b64f..807033b0b0ca792621f6801f8802234cea41f8d6 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -840,6 +840,8 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		slave.lifetimeRepIncome = Math.max(+slave.lifetimeRepIncome, 0) || 0;
 		slave.lastWeeksRepExpenses = Math.min(+slave.lastWeeksRepExpenses, 0) || 0;
 		slave.lastWeeksRepIncome = Math.max(+slave.lastWeeksRepIncome, 0) || 0;
+		slave.sexAmount = Math.max(+slave.sexAmount, 0) || 0;
+		slave.sexQuality = Math.max(+slave.sexQuality, 0) || 0;
 	}
 })();
 
diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js
index 9d2b99df523e050bca92d334dbb8dffdabc18ddb..1ae14e8fb719a292358285307ec68be0bf2ffa3f 100644
--- a/src/js/descriptionWidgets.js
+++ b/src/js/descriptionWidgets.js
@@ -18,9 +18,9 @@ App.Desc.eyes = function (slave) {
 	let His = capFirstChar(his);
 	/* eslint-enable */
 
-	if (slave.eyes === -2) {
+	if (slave.eyes <= -2) {
 		const HC = hasVisibleHeterochromia(slave) ? 1 : 0;
-		if (slave.eyeColor !== "empty") {
+		if (slave.eyes === -2) {
 			r += `${His} eyes are dull`;
 			if (V.saleDescription && V.PC.medicine >= 50 || V.PC.slaving >= 50) {
 				r += `, unfocused`;
@@ -34,10 +34,12 @@ App.Desc.eyes = function (slave) {
 				}
 				r += ` and unfocused`;
 			}
-			r += `, `;
+		} else if (slave.eyes === -3){
+			r += `${He} has ${slave.eyeColor} colored glass eyes`
 		} else {
-			r += `${His} gaze is empty. `;
+			r += `${His} gaze is empty`;
 		}
+		r += `, `;
 		if (slave.intelligence > 95) {
 			r += `but ${his} facial expressions reveal ${he} is incisive, quick, cunning; `;
 			if (slave.intelligence + slave.intelligenceImplant >= 130) {
@@ -249,7 +251,9 @@ App.Desc.eyeColor = function (slave) {
 	"use strict";
 	let r;
 
-	if (hasVisibleHeterochromia(slave)) {
+	if (slave.eyes === -4){
+		r = 'empty'
+	} else if (hasVisibleHeterochromia(slave)) {
 		r = `heterochromatic ${slave.eyeColor} and ${slave.geneticQuirks.heterochromatia}`;
 	} else {
 		r = `${slave.eyeColor}`;
@@ -278,6 +282,14 @@ App.Desc.ageAndHealth = function (slave) {
 	let His = capFirstChar(his);
 	/* eslint-enable */
 	let age;
+	let birthday;
+	if (V.seeAge !== 0) {
+		if (slave.birthWeek === 51) {
+			birthday = `; ${his} birthday is next week`;
+		} else {
+			birthday = `; ${his} birthday is in ${52-slave.birthWeek} weeks`;
+		}
+	}
 
 	(boy === "girl" ? woman = "woman" : woman = "man");
 
@@ -298,227 +310,132 @@ App.Desc.ageAndHealth = function (slave) {
 		age = slave.actualAge + 1;
 		r += ` and ${he}'s `;
 		if (slave.birthWeek >= 52 && V.seeAge) {
-			r += `going to turn ${age} this week, `;
+			r += `going to turn ${age} this week,`;
 		} else if (slave.actualAge < 3) {
 			r += `an infant, only `;
 			if (V.showAgeDetail) {
 				if (!slave.actualAge) {
-					r += `${0+$week-slave.weekAcquired} weeks`;
+					r += `${0+$week-slave.weekAcquired} weeks old${birthday}.`;
 				} else if (slave.actualAge) {
-					r += `${num(slave.actualAge)} year`;
+					r += `${num(slave.actualAge)} year old${birthday}.`;
 				} else {
-					r += `${num(slave.actualAge)} years`;
-				}
-				r += ` old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
+					r += `${num(slave.actualAge)} years old${birthday}.`;
 				}
 			} else {
 				if (!slave.actualAge) {
-					r += `${0+$week-slave.weekAcquired} weeks`;
+					r += `${0+$week-slave.weekAcquired} weeks old.`;
 				} else if (slave.actualAge) {
-					r += `${num(slave.actualAge)} year`;
+					r += `${num(slave.actualAge)} year old.`;
 				} else {
-					r += `${num(slave.actualAge)} years`;
+					r += `${num(slave.actualAge)} years old.`;
 				}
-				r += ` old. `;
 			}
 		} else if (slave.actualAge < 5) {
 			r += `a toddler, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `only ${num(slave.actualAge)} years old. `;
+				r += `only ${num(slave.actualAge)} years old.`;
 			}
 		} else if (slave.actualAge < 13) {
 			r += `a little $girl, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `only ${num(slave.actualAge)} years old. `;
+				r += `only ${num(slave.actualAge)} years old.`;
 			}
 		} else if (slave.actualAge < 16) {
 			r += `almost a child, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `less than 17 years old. `;
+				r += `less than 17 years old.`;
 			}
 		} else if (slave.actualAge < 17) {
-			r += `young and fresh at ${num(slave.actualAge)}`;
-			if (V.showAgeDetail && V.seeAge !== 0) {
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week`;
-				} else {
-					r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-				}
-			}
+			r += `young and fresh at ${num(slave.actualAge)}${birthday}.`;
 		} else if (slave.actualAge < 18) {
 			r += `young, fresh, and nearly 18`;
 			if (V.showAgeDetail && V.seeAge !== 0) {
 				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week`;
+					r += `; ${his} birthday is next week`;
 					if (V.seeAge) {
-						r += `and people are already beginning to eye ${him}`;
+						r += ` and people are already beginning to eye ${him}`;
 					}
 				}
 			}
-			r += `. `;
+			r += `.`;
 		} else if (slave.actualAge < 19) {
 			if (!slave.birthWeek && V.seeAge) {
-				r += `just turned ${num(slave.actualAge)} this week, which many citizens find especially appealing. `;
+				r += `just turned ${num(slave.actualAge)} this week, which many citizens find especially appealing.`;
 			} else if (slave.birthWeek < 4 && V.seeAge) {
-				r += `only turned ${num(slave.actualAge)} this month. `;
+				r += `only turned ${num(slave.actualAge)} this month.`;
 			} else {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.showAgeDetail && V.seeAge !== 0) {
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			}
 		} else if (slave.actualAge < 20) {
-			r += `in ${his} final year as a teenager at age 19 `;
-			if (V.showAgeDetail && V.seeAge !== 0) {
-				if (slave.birthWeek === 51) {
-					r += `${his} birthday is next week`;
-				} else {
-					r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-				}
-			}
+			r += `in ${his} final year as a teenager at age 19${birthday}.`;
 		} else if (slave.actualAge < 26) {
 			r += `a young ${woman}, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `in ${his} early twenties. `;
+				r += `in ${his} early twenties.`;
 			}
 		} else if (slave.actualAge < 30) {
 			r += `a younger ${woman}, `;
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `in ${his} late twenties. `;
+				r += `in ${his} late twenties.`;
 			}
 		} else if (slave.actualAge < 36) {
 			if (V.showAgeDetail) {
-				r += `${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `in ${his} early thirties. `;
+				r += `in ${his} early thirties.`;
 			}
 		} else if (slave.actualAge < 40) {
 			r += `middle-aged for a slave, `;
 			if (V.showAgeDetail) {
-				r += `at ${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `at ${num(slave.actualAge)} years old${birthday}.`;
 			} else {
-				r += `in ${his} late thirties. `;
+				r += `in ${his} late thirties.`;
 			}
 		} else {
 			r += `old for a slave, `;
 			if (V.showAgeDetail) {
-				r += `at ${num(slave.actualAge)} years old`;
-				if (V.seeAge !== 0) {
-					r += `; `;
-					if (slave.birthWeek === 51) {
-						r += `${his} birthday is next week`;
-					} else {
-						r += `${his} birthday is in ${52-slave.birthWeek} weeks. `;
-					}
-				}
+				r += `at ${num(slave.actualAge)} years old${birthday}.`;
 			} else {
 				if (slave.actualAge < 50) {
-					r += `in ${his} forties. `;
+					r += `in ${his} forties.`;
 				} else if (slave.actualAge < 60) {
-					r += `in ${his} fifties. `;
+					r += `in ${his} fifties.`;
 				} else if (slave.actualAge < 70) {
-					r += `extremely old for a slave, in ${his} 60s. `;
+					r += `extremely old for a slave, in ${his} 60s.`;
 				} else if (slave.actualAge < 80) {
-					r += `extremely old for a slave, in ${his} ${num(70)}s. `;
+					r += `extremely old for a slave, in ${his} ${num(70)}s.`;
 				} else if (slave.actualAge < 90) {
-					r += `extremely old for a slave, in ${his} r += ${num(80)}s. `;
+					r += `extremely old for a slave, in ${his} r += ${num(80)}s.`;
 				} else if (slave.actualAge < 100) {
-					r += `extremely old for a slave, in ${his} r += ${num(90)}s. `;
+					r += `extremely old for a slave, in ${his} r += ${num(90)}s.`;
 				} else if (slave.actualAge >= 100) {
-					r += `ancient by any measure, over a century old. `;
+					r += `ancient by any measure, over a century old.`;
 				}
 			}
 			if (slave.actualAge !== slave.physicalAge) {
-				r += `However, ${he} has the body of a ${num(slave.physicalAge)}-year-old;`;
+				r += ` However, ${he} has the body of a ${num(slave.physicalAge)}-year-old; `;
 				if (slave.physicalAge < 18 && slave.actualAge >= 18) {
-					r += `a stark contrast given ${his} maturity. `;
+					r += `a stark contrast given ${his} maturity.`;
 				} else if (slave.physicalAge < 18 && slave.actualAge < 18) {
-					r += `a noticeable difference thanks to ${his} immaturity. `;
+					r += `a noticeable difference thanks to ${his} immaturity.`;
 				} else if (slave.physicalAge <= slave.actualAge - 20 || slave.physicalAge >= slave.actualAge + 20) {
-					r += `a shocking difference from ${his} actual age. `;
+					r += `a shocking difference from ${his} actual age.`;
 				} else if (slave.physicalAge <= slave.actualAge - 10 || slave.physicalAge >= slave.actualAge + 10) {
-					r += `a noticeable difference from ${his} actual age. `;
+					r += `a noticeable difference from ${his} actual age.`;
 				} else if (slave.physicalAge <= slave.actualAge - 5 || slave.physicalAge >= slave.actualAge + 5) {
-					r += `a barely noticeable difference from ${his} actual age. `;
+					r += `a barely noticeable difference from ${his} actual age.`;
 				} else {
-					r += `though it is hard to tell the difference from ${his} actual age. `;
+					r += `though it is hard to tell the difference from ${his} actual age.`;
 				}
 			}
 			/*
@@ -526,112 +443,112 @@ App.Desc.ageAndHealth = function (slave) {
 			 */
 			if (slave.geneMods.NCS) {
 				if (slave.vagina < 0 && slave.dick <= 0) {
-					bodyNCS = 'childlike';
+					bodyNCS = "childlike";
 				} else if (slave.vagina < 0 && slave.dick > 0) {
-					bodyNCS = 'shota';
+					bodyNCS = "shota";
 				} else if (slave.vagina > 0 && slave.dick <= 0) {
-					bodyNCS = 'loli';
+					bodyNCS = "loli";
 				} else {
-					bodyNCS = 'loli/shota';
+					bodyNCS = "loli/shota";
 				}
-				r += `${He} appears to be slave.visualAge years old`;
+				r += ` ${He} appears to be slave.visualAge years old and ${he} `;
 				if (slave.visualAge <= 8) {
-					r += `and ${he} has induced <span class=orange>NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives. `;
+					r += `has induced <span class=orange>NCS</span> and will always have a ${bodyNCS} body, no matter how long ${he} lives.`;
 				} else if (slave.visualAge < 13) {
-					r += `and ${he} has induced <span class=orange>NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life. `;
+					r += `has induced <span class=orange>NCS</span> and will have a ${bodyNCS} body for the rest of ${his} life.`;
 				} else if (slave.visualAge < 20) {
-					r += `and ${he} still has a teen body for now, but with ${his} <span class=orange>NCS,</span> ${he} will eventually regress in age to look like a little $girl again. `;
+					r += `still has a teen body for now, but with ${his} <span class=orange>NCS,</span> ${he} will eventually regress in age to look like a little $girl again.`;
 				} else {
-					r += `and ${he} still has the body of an adult, but ${his} <span class=orange>NCS</span> has`;
+					r += `still has the body of an adult, but ${his} <span class=orange>NCS</span> has `;
 					if (slave.physicalAge - slave.visualAge <= 5) {
-						r += `not really begun to youthen ${his} appearance yet. `;
+						r += `not really begun to youthen ${his} appearance yet.`;
 					} else if (slave.physicalAge - slave.visualAge <= 10) {
-						r += `clearly been at work on ${him}, making ${him} appear younger. `;
+						r += `clearly been at work on ${him}, making ${him} appear younger.`;
 					} else if (slave.physicalAge - slave.visualAge <= 20) {
-						r += `obviously helped take more than a decade off of ${his} age. `;
+						r += `obviously helped take more than a decade off of ${his} age.`;
 					} else {
-						r += `intensely youthened ${him}. `;
+						r += `intensely youthened ${him}.`;
 					}
 				}
 			} else if (slave.physicalAge !== slave.visualAge) {
 				if (slave.visualAge <= slave.physicalAge - 20 || slave.visualAge >= slave.physicalAge + 20) {
-					r += `${He} has undergone radical age therapy that makes ${him} look`;
+					r += ` ${He} has undergone radical age therapy that makes ${him} look `;
 				} else if (slave.visualAge <= slave.physicalAge - 10 || slave.visualAge >= slave.physicalAge + 10) {
-					r += `${He} has undergone drastic age therapy that makes ${him} look`;
+					r += ` ${He} has undergone drastic age therapy that makes ${him} look `;
 				} else if (slave.visualAge <= slave.physicalAge - 5 || slave.visualAge >= slave.physicalAge + 5) {
-					r += `${He} has undergone noticeable age therapy that makes ${him} look`;
+					r += ` ${He} has undergone noticeable age therapy that makes ${him} look `;
 				} else {
-					r += `For various reasons, ${he} looks`;
+					r += ` For various reasons, ${he} looks `;
 				}
 				if (slave.physicalAge > slave.visualAge) {
 					if (slave.physicalAge < slave.visualAge + 5) {
-						r += `a slightly younger ${slave.visualAge}. `;
+						r += `a slightly younger ${slave.visualAge}.`;
 					} else if (slave.visualAge < 20) {
-						r += `like ${he}'s barely an adult. `;
+						r += `like ${he}'s barely an adult.`;
 					} else if (slave.visualAge < 25) {
-						r += `barely into ${his} early twenties. `;
+						r += `barely into ${his} early twenties.`;
 					} else if (slave.visualAge < 30) {
-						r += `like ${he}'s still in ${his} twenties. `;
+						r += `like ${he}'s still in ${his} twenties.`;
 					} else if (slave.visualAge < 35) {
-						r += `barely thirty. `;
+						r += `barely thirty.`;
 					} else if (slave.visualAge < 40) {
-						r += `still in ${his} thirties. `;
+						r += `still in ${his} thirties.`;
 					} else if (slave.visualAge < 45) {
-						r += `barely forty. `;
+						r += `barely forty.`;
 					} else if (slave.visualAge < 50) {
-						r += `still in ${his} forties. `;
+						r += `still in ${his} forties.`;
 					} else if (slave.visualAge < 55) {
-						r += `barely fifty. `;
+						r += `barely fifty.`;
 					} else if (slave.visualAge < 60) {
-						r += `still in ${his} fifties. `;
+						r += `still in ${his} fifties.`;
 					} else if (slave.visualAge < 65) {
-						r += `barely sixty. `;
+						r += `barely sixty.`;
 					} else if (slave.visualAge < 70) {
-						r += `still in ${his} sixties. `;
+						r += `still in ${his} sixties.`;
 					} else if (slave.visualAge < 75) {
-						r += `barely seventy. `;
+						r += `barely seventy.`;
 					} else if (slave.visualAge < 80) {
-						r += `still in ${his} seventies. `;
+						r += `still in ${his} seventies.`;
 					} else {
-						r += `a younger ${slave.visualAge}. `;
+						r += `a younger ${slave.visualAge}.`;
 					}
 				} else {
 					if (slave.physicalAge > slave.visualAge - 5) {
-						r += `a slightly older ${slave.visualAge}. `;
+						r += `a slightly older ${slave.visualAge}.`;
 					} else if (slave.visualAge < 20) {
-						r += `like a fresh adult. `;
+						r += `like a fresh adult.`;
 					} else if (slave.visualAge < 25) {
-						r += `just over twenty. `;
+						r += `just over twenty.`;
 					} else if (slave.visualAge < 30) {
-						r += `nearly thirty. `;
+						r += `nearly thirty.`;
 					} else if (slave.visualAge < 35) {
-						r += `just over thirty. `;
+						r += `just over thirty.`;
 					} else if (slave.visualAge < 40) {
-						r += `nearly forty. `;
+						r += `nearly forty.`;
 					} else if (slave.visualAge < 45) {
-						r += `just over forty. `;
+						r += `just over forty.`;
 					} else if (slave.visualAge < 50) {
-						r += `nearly fifty. `;
+						r += `nearly fifty.`;
 					} else if (slave.visualAge < 55) {
-						r += `just over fifty. `;
+						r += `just over fifty.`;
 					} else if (slave.visualAge < 60) {
-						r += `nearly sixty. `;
+						r += `nearly sixty.`;
 					} else if (slave.visualAge < 65) {
-						r += `just over sixty. `;
+						r += `just over sixty.`;
 					} else if (slave.visualAge < 70) {
-						r += `nearly seventy. `;
+						r += `nearly seventy.`;
 					} else if (slave.visualAge < 75) {
-						r += `just over seventy. `;
+						r += `just over seventy.`;
 					} else if (slave.visualAge < 80) {
-						r += `nearly eighty. `;
+						r += `nearly eighty.`;
 					} else {
-						r += `an ancient ${slave.visualAge}. `;
+						r += `an ancient ${slave.visualAge}.`;
 					}
 				}
 			}
 		}
 	} else {
-		r += `The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is`;
+		r += ` The Fuckdoll gives no external indication of ${his} health or age, but upon query ${his} systems reports that ${he} is`;
 		if (slave.health < -90) {
 			r += `<span class=red>dangerously sick</span>`;
 		} else if (slave.health < -50) {
@@ -645,7 +562,7 @@ App.Desc.ageAndHealth = function (slave) {
 		} else {
 			r += `<span class=green>extremely healthy</span>`;
 		}
-		r += `and ${slave.physicalAge} years old. `;
+		r += ` and ${slave.physicalAge} years old.`;
 	}
 	return r;
 }
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 3173910ffe143fd907b6431a8e92421b6bcc6498..356ce26c896cbf40de914b8f592a8e33afe6df13 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -1118,6 +1118,12 @@ window.GenerateNewSlave = (function() {
 		} else if (chance >= 19750) {
 			slave.geneticQuirks.heterochromia = 1;
 		}
+		chance = jsRandom(1, 20000);
+		if (chance === 19999) {
+			slave.geneticQuirks.rearLipedema = 2;
+		} else if (chance < 100) {
+			slave.geneticQuirks.rearLipedema = 1;
+		}
 	}
 
 	function generateXYGeneticQuirks() {
@@ -1146,6 +1152,12 @@ window.GenerateNewSlave = (function() {
 		} else if (chance >= 19750) {
 			slave.geneticQuirks.heterochromia = 1;
 		}
+		chance = jsRandom(1, 20000);
+		if (chance === 19999) {
+			slave.geneticQuirks.rearLipedema = 2;
+		} else if (chance < 10) {
+			slave.geneticQuirks.rearLipedema = 1;
+		}
 	}
 
 	function generateAge() {
@@ -1518,6 +1530,10 @@ window.GenerateNewSlave = (function() {
 					slave.skin = "pure white";
 			}
 		}
+		if (slave.geneticQuirks.rearLipedema === 2) {
+			slave.butt += jsRandom(.2 * slave.physicalAge, .5 * slave.physicalAge);
+			slave.butt = Math.clamp(slave.butt, 0, 24);
+		}
 	}
 
 	return GenerateNewSlave;
diff --git a/src/npc/newSlaveIncestSex.tw b/src/npc/newSlaveIncestSex.tw
index b9ee580c469dea19456e1bc90077e1659ef57d45..ce5b4a75e51e381db07355533f4047dd65efc420 100644
--- a/src/npc/newSlaveIncestSex.tw
+++ b/src/npc/newSlaveIncestSex.tw
@@ -68,7 +68,7 @@
 		/* Note: this is never true (at least without extended family mode) */
 		<<set _onelong = "younger "+_one >>
 		<<set _otherlong = "older "+_other >>
-	<<else>> /* twins, no real differentiation */
+	<<elseif $familyTesting != 1>> /* twins, no real differentiation */
 		<<if $relative.vagina == -1 && _one != "brother">>
 			<<set _onelong = _one + " brother">>
 		<<elseif _one != "sister">>
diff --git a/src/player/actions/fCaress.tw b/src/player/actions/fCaress.tw
index fd235fcc09eec72f530e7de09b8da80aabaf29fa..aaca1987d630bfabd5886549445a4337b4880883 100644
--- a/src/player/actions/fCaress.tw
+++ b/src/player/actions/fCaress.tw
@@ -26,7 +26,13 @@ You tell $activeSlave.slaveName to
 <<if ($activeSlave.fetish == "mindbroken") && ($activeSlave.relationship != -3)>>
 	$He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment.
 <<elseif ($activeSlave.relationship == -2)>>
-	$He eagerly complies, happy to be near the object of $his longing. Once $he's close, you hold $his face in your palms and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. $He blushes furiously.
+	$He eagerly complies, happy to be near the object of $his longing. Once $he's close, you hold $his face in your palms and gaze deeply
+	<<if canSee($activeSlave)>>
+		into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment.
+	<<else>>
+		upon $his face. $He senses the intense look from the _womanP $he loves and finds it overwhelming, and after a moment glances away.
+	<</if>>
+	$He blushes furiously.
 <<elseif ($activeSlave.relationship == -3)>>
 	<<if $activeSlave.fetish == "mindbroken">>
 		$He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his blank <<= App.Desc.eyeColor($activeSlave)>> eyes. $He doesn't react.
diff --git a/src/player/actions/fEmbrace.tw b/src/player/actions/fEmbrace.tw
index d55fc5ea984e9283c6ea4d94d89ac9502da0cd23..697a0c310d567902e47abc43b019c8d495cbf4f4 100644
--- a/src/player/actions/fEmbrace.tw
+++ b/src/player/actions/fEmbrace.tw
@@ -14,7 +14,13 @@ You tell $activeSlave.slaveName to
 <<if ($activeSlave.fetish == "mindbroken") && ($activeSlave.relationship != -3)>>
 	$He complies automatically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment.
 <<elseif ($activeSlave.relationship == -2)>>
-	$He excitedly complies, happy to be near the object of $his longing. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment. $He blushes furiously.
+	$He excitedly complies, happy to be near the object of $his longing. Once $he's close, you take $his completely relaxed head in your hands and gaze deeply
+	<<if canSee($activeSlave)>>
+		into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He finds the intense look from the _womanP $he loves overwhelming, and $his eyes flick downward after a moment.
+	<<else>>
+		upon $his face. $He senses the intense look from the _womanP $he loves and finds it overwhelming, and after a moment glances away.
+	<</if>>
+	$He blushes furiously.
 <<elseif ($activeSlave.relationship == -3)>>
 	<<if $activeSlave.fetish == "mindbroken">>
 		$He complies mechanically. $He remembers that when <<= WrittenMaster()>>'s commands are not obeyed, there is punishment. Once $he's close, you hold $his face in your palms and look into $his blank <<= App.Desc.eyeColor($activeSlave)>> eyes. $He shows no reaction.
diff --git a/src/player/actions/fondleBoobs.tw b/src/player/actions/fondleBoobs.tw
index 8ad35fcef8ea5f33c01ee9afabc8002c423aff63..2b82aeb92e133561fb958c6ae9652634ced7f67f 100644
--- a/src/player/actions/fondleBoobs.tw
+++ b/src/player/actions/fondleBoobs.tw
@@ -158,7 +158,11 @@ You call $him over so you can fondle $his
 	<<else>>
 		"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully.
 	<</if>>
-	$He looks at you with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, smiling.
+	<<if canSee($activeSlave)>>
+		$He looks at you with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, smiling.
+	<<else>>
+		$He smiles at you.
+	<</if>>
 <<elseif ($activeSlave.fetish == "submissive") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>>
 	$He eagerly comes over to you, to stand between you and your desk. You lean over while $he submissively lies down upon it, face up, with $his breasts pointed to the air. You place your hands on $his
 	<<if ($activeSlave.boobs >= 20000)>>
diff --git a/src/pregmod/organFarmOptions.tw b/src/pregmod/organFarmOptions.tw
index 9c909c023915034ee5fb7f3329e76172040d02a3..8716101fe16214677a3ca5f896082796b2413a46 100644
--- a/src/pregmod/organFarmOptions.tw
+++ b/src/pregmod/organFarmOptions.tw
@@ -259,7 +259,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 	<</if>>
 <</if>>
 <<if $slaveOrgans.eyes != 1>>
-	<<if $activeSlave.eyes <= -2 && $activeSlave.eyes != "implant">>
+	<<if $activeSlave.eyes <= -2>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<link "Eyes">>
 			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
@@ -283,7 +283,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 	<</if>>
 <</if>>
 <<if $slaveOrgans.cochleae != 1>>
-	<<if $activeSlave.hears <= -2 && $activeSlave.earImplant != 1>>
+	<<if $activeSlave.hears <= -2>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<link "Cochleae">>
 			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
@@ -1943,7 +1943,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 					<</link>>
 				<</if>>
 			<<case "eyes">>
-				<<if $activeSlave.eyes > -2 && $activeSlave.origEye != "implant">>
+				<<if $activeSlave.eyes > -2 && $activeSlave.eyesImplant == 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					ERROR: this slave has working eyes.
 					<<link "Discard" "Remote Surgery">>
@@ -1954,7 +1954,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 							@@.red;Organ not found for deletion!@@
 						<</if>>
 					<</link>>
-				<<elseif $activeSlave.origEye == "implant">>
+				<<elseif $activeSlave.eyesImplant == 1>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<link "Remove ocular implants and implant" "Surgery Degradation">>
 						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
@@ -1966,8 +1966,6 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 						<<set $stockpile.ocularImplant++>>
 						<<set $activeSlave.eyes = 1>>
-						<<set _oldEyes = $genePool.find(function(s) { return s.ID = $activeSlave.ID; })>>
-						<<set $activeSlave.origEye = _oldEyes.origEye>>
 						<<set $activeSlave.eyeColor = $activeSlave.origEye>>
 						<<set $activeSlave.health -= 20>>
 						<<if $organFarmUpgrade == 2>>
diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw
index fe034c85a2c7bf2c4901a5a871d7e53bba123c15..85149afe6cb48118fba7f19b3cb338337cfb21e6 100644
--- a/src/pregmod/rePregInventor.tw
+++ b/src/pregmod/rePregInventor.tw
@@ -121,7 +121,7 @@
 				<</if>>
 			<</if>>
 			<br><br>
-			<<if $activeSlave.origEye == "implant">>
+			<<if $activeSlave.eyesImplant == 1>>
 				$His pretty $activeSlave.eyeColor bionic eyes flash a shade cooler than normal and you can tell $he's struggling to accept your decision.
 			<<else>>
 				You can see tears brimming in $his <<= App.Desc.eyeColor($activeSlave)>> eyes.
@@ -689,7 +689,7 @@
 		<</if>>
 		<br><br>
 		Your arousal gives you an idea, and you push back on your hyperbroodmother's colossal belly. $He steps away from you until $he is in the center of the pool, a look of confusion on $his face. You take control of the remote and then manipulate the reticulating frame supporting the pool such that it lifts the floor, slowly rendering both you and your colossal-bellied breeder knee deep in the warm gel. You hunker down into an aggressive, combative stance and
-		<<if $activeSlave.origEye == "implant">>
+		<<if $activeSlave.eyesImplant == 1>>
 			$his synthetic eyes flash white for a moment as a look of understanding dawns on $his face.
 		<<else>>
 			a look of understanding lights up in $his eyes.
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index de04503f75517b02a62339a922ee0591999550e7..509a1e68651715c6aa7028d7b88ec79b982989f6 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -3509,8 +3509,27 @@ Updating gene pool records:
 		<</if>>
 	<</if>>
 
+	<<if ndef _Slave.eyesImplant>>
+		<<set _Slave.eyesImplant = 0>>
+	<</if>>
+	<<if _Slave.origEye == "implant">>
+		<<set _Slave.eyesImplant = 1>>
+		<<set _oldEyes = $genePool.find(function(s) { return s.ID = _Slave.ID; })>>
+		<<set _Slave.origEye = _oldEyes.origEye>>
+	<</if>>
+	<<if _Slave.origEye == "none">>
+		<<set _Slave.eyes = -3>>
+		<<set _oldEyes = $genePool.find(function(s) { return s.ID = _Slave.ID; })>>
+		<<set _Slave.origEye = _oldEyes.origEye>>
+	<</if>>
+	<<if _Slave.eyeColor == "empty">>
+		<<set _Slave.eyeColor = _Slave.origEye>>
+		<<set _Slave.eyes = -4>>
+	<</if>>
+
 	<<run App.Entity.Utils.GenePoolRecordCleanup(_Slave)>>
 	<<set $genePool[_bci] = _Slave>>
+
 <</for>>
 
 <<if $incubator > 0>>
diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw
index 21b56edcb42a7f0ceea25df0a2c61682da11c3f4..43993f9163e190ac221f29ca91007c739f7d1990 100644
--- a/src/uncategorized/PESS.tw
+++ b/src/uncategorized/PESS.tw
@@ -376,10 +376,26 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<run repX(500, "event", $activeSlave)>>
 	<</replace>>
 <</link>>
-<br><<link "It can wait until after some lovemaking with the Concubine">>
+<br>
+<<link "It can wait until after some lovemaking with the Concubine">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he <<if canSee($activeSlave)>>sees<<else>>figures out<</if>> the kind of lovemaking you're in the mood for, $he spreads $his arms for you, smiling gently. $He kisses you lovingly, <<if !canTalk($activeSlave)>>taking your hand in $hers and drawing a heart on your palm with one finger.<<else>><<say>>ing, "<<Master>>, I love you."<</if>> <<if ($PC.vagina == 1)>>$He lies on $his side and raises one leg for you so you can straddle the other, sliding up to press your pussy against $his submissive groin. You grind against $him; the stimulation is so strong that $he writhes into the sheets, panting and whining.<<if $PC.dick == 1>> Your stiff dick, unused for once, slides deliciously between your warm bodies.<</if>><<else>><<if ($activeSlave.vagina > 0)>>$His pussy is warm and very wet, making penetration easy; $he gasps and arches $his back, clasping you between $his legs as $his <<= App.Desc.eyeColor($activeSlave)>> eyes look deep into yours.<<elseif ($activeSlave.anus > 0)>>$His butt is relaxed and welcoming, and $he holds $his legs back to take missionary anal loving as $his <<= App.Desc.eyeColor($activeSlave)>> eyes look deep into yours.<<else>>$He holds $his thighs together for frottage so $he can love you without losing $his virginity.<</if>><</if>> You both know each other quite well, and maintain the gentle communion for a long time. When $he senses your climax building, $he lets $himself climb to orgasm with you, holding <<if ($PC.dick == 0)>>your hips in $his hands<<else>>you in $his arms<</if>>. $He quickly cleans you with $his mouth and heads to the shower. When $he gets out you're back at work, but $he comes out to @@.hotpink;plant another kiss on you.@@
+	When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he <<if canSee($activeSlave)>>sees<<else>>figures out<</if>> the kind of lovemaking you're in the mood for, $he spreads $his arms for you, smiling gently. $He kisses you lovingly, <<if !canTalk($activeSlave)>>taking your hand in $hers and drawing a heart on your palm with one finger.<<else>><<say>>ing, "<<Master>>, I love you."<</if>>
+	<<if ($PC.vagina == 1)>>
+		$He lies on $his side and raises one leg for you so you can straddle the other, sliding up to press your pussy against $his submissive groin. You grind against $him; the stimulation is so strong that $he writhes into the sheets, panting and whining.
+		<<if $PC.dick == 1>>
+			Your stiff dick, unused for once, slides deliciously between your warm bodies.
+		<</if>>
+	<<else>>
+		<<if ($activeSlave.vagina > 0)>>
+			$His pussy is warm and very wet, making penetration easy; $he gasps and arches $his back, clasping you between $his legs<<if canSee(activeSlave)>> as $his <<= App.Desc.eyeColor($activeSlave)>> eyes look deep into yours<</if>>.
+		<<elseif ($activeSlave.anus > 0)>>
+			$His butt is relaxed and welcoming, and $he holds $his legs back to take missionary anal loving<<if canSee(activeSlave)>> as $his <<= App.Desc.eyeColor($activeSlave)>> eyes look deep into yours<</if>>.
+		<<else>>
+			$He holds $his thighs together for frottage so $he can love you without losing $his virginity.
+		<</if>>
+	<</if>>
+	You both know each other quite well, and maintain the gentle communion for a long time. When $he senses your climax building, $he lets $himself climb to orgasm with you, holding <<if ($PC.dick == 0)>>your hips in $his hands<<else>>you in $his arms<</if>>. $He quickly cleans you with $his mouth and heads to the shower. When $he gets out you're back at work, but $he comes out to @@.hotpink;plant another kiss on you.@@
 	<<set $activeSlave.devotion += 10>>
 	<<set $activeSlave.counter.oral += 1>>
 	<<set $oralTotal += 1>>
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index fd69e2633c4d2b7ffa9d51d1681dad2e77a0c87b..62dafe5ded392b4f226ac8ecd5a203155199e07e 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -601,7 +601,7 @@ You look in on your slaves as a group of them heads for bed. $subSlave.slaveName
 <<else>>
 	skinny
 <</if>>
-waist to cup _his2 <<if $subSlave.dick > 0>>cock<<elseif $subSlave.vagina == -1>>asshole<<else>>pussy<</if>> possessively with one hand. $subSlave.slaveName closes _his2 <<= App.Desc.eyeColor($subSlave)>> eyes.
+waist to cup _his2 <<if $subSlave.dick > 0>>cock<<elseif $subSlave.vagina == -1>>asshole<<else>>pussy<</if>> possessively with one hand.<<if $subSlave.eyes != -4>> $subSlave.slaveName closes _his2 <<= App.Desc.eyeColor($subSlave)>> eyes.<</if>>
 <br><br>
 $activeSlave.slaveName chuckles into $subSlave.slaveName's ear, crooning,
 <<if $subSlave.bellyPreg >= 120000>>
diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw
index 3e60acccb5720b6ead1b67c6cf39d7eb8a35b811..555f4b67c64ca30683cf76c4d801f6d3e8666a73 100644
--- a/src/uncategorized/multiImplant.tw
+++ b/src/uncategorized/multiImplant.tw
@@ -119,7 +119,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 	/* order here is important, do not change it without good reason */
 	/* eyes */
 	<<if _slaveOrgans.eyes != 0>>
-		<<if ($activeSlave.eyes == -2) && $activeSlave.origEye != "implant">>
+		<<if ($activeSlave.eyes == -2) && $activeSlave.eyesImplant == 0>>
 			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
 			<<set $activeSlave.eyes = 1>>
 			<<set $activeSlave.eyeColor = $activeSlave.origEye>>
@@ -131,12 +131,10 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<set $surgeryType = "unblind">>
 			<br><hr>
 			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.origEye == "implant">>
+		<<elseif $activeSlave.eyesImplant == 1>>
 			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
 			<<set $stockpile.ocularImplant++>>
 			<<set $activeSlave.eyes = 1>>
-			<<set _oldEyes = $genePool.find(function(s) { return s.ID = $activeSlave.ID; })>>
-			<<set $activeSlave.origEye = _oldEyes.origEye>>
 			<<set $activeSlave.eyeColor = $activeSlave.origEye>>
 			<<set $activeSlave.health -= 20>>
 			<<if $organFarmUpgrade == 2>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 110ff0c8651431fa4931cea9757faa2d39db996f..26b28ca8842e626b377ddc1e1c86fc7ab0f6b42e 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -114,23 +114,21 @@ $His $activeSlave.faceShape face is
 	<</if>>
 <</if>>
 
-<<if $activeSlave.origEye == "implant">>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $activeSlave.eyesImplant == 1>>
 	$He has artificial eyes.
-<<elseif ($activeSlave.eyes <= -2)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
+<<elseif $activeSlave.eyes < -2>>
+	$He has no eyes.
+<<elseif $activeSlave.eyes == -2>>
 	$He is blind.
 <<else>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	$He has working
 	<<if $activeSlave.eyes == -1>>
 		eyes, but is nearsighted.
-		<<if ($activeSlave.origEye != "implant")>>
-			[[Correct eyesight|Surgery Degradation][$activeSlave.eyes = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "eyeFix"]]
-		<</if>>
+		[[Correct eyesight|Surgery Degradation][$activeSlave.eyes = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "eyeFix"]]
 	<<elseif $activeSlave.eyes == 1>>
 		eyes and good vision.
-		<<if ($seeExtreme == 1) && ($activeSlave.origEye != "implant") && $activeSlave.indentureRestrictions < 1>>
+		<<if ($seeExtreme == 1) && $activeSlave.indentureRestrictions < 1>>
 			[[Blur vision|Surgery Degradation][$activeSlave.eyes = -1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "eyeBlur"]]
 		<</if>>
 	<</if>>
@@ -138,19 +136,17 @@ $His $activeSlave.faceShape face is
 
 <<if ($seeExtreme == 1)>>
 	<<if $activeSlave.indentureRestrictions < 1>>
-		<<if $activeSlave.origEye != "implant">>
+		<<if $activeSlave.eyesImplant == 0>>
 			<<if ($activeSlave.eyes > -2)>>
 				| [[Blind|Surgery Degradation][$activeSlave.eyes = -2,$activeSlave.eyeColor = "dulled " + $activeSlave.origEye,$activeSlave.eyeColor = $activeSlave.origEye,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "blind"]]
 			<</if>>
-			/*<<if ($activeSlave.eyes != -3)>>
-				<<if ($activeSlave.eyes >= -2)>> | <</if>>
-				| [[Remove eyes|Surgery Degradation][$activeSlave.eyeColor = "empty",$activeSlave.origEye = "none",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "remove eyes"]]
-				<<if ($activeSlave.eyes != -2)>>//This will greatly restrict $him//<</if>>
-			<</if>>*/
-		<</if>>
-		<<if ($cyberMod == 1) && ($stockpile.ocularImplant > 0) && ($activeSlave.origEye != "implant")>>
-			<<if ($activeSlave.eyes != -3)>> <</if>>
-			| [["Give " + $him + " ocular implants"|Surgery Degradation][$activeSlave.origEye = "implant", $stockpile.ocularImplant--,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "ocular implant"]]
+			<<if ($activeSlave.eyes > -3)>>
+				| [[Remove eyes|Surgery Degradation][$activeSlave.eyes = -4, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "remove eyes"]]
+				<<if ($activeSlave.eyes > -2)>>//This will greatly restrict $him//<</if>>
+			<</if>>
+			<<if ($cyberMod == 1) && ($stockpile.ocularImplant > 0)>>
+				| [["Give " + $him + " ocular implants"|Surgery Degradation][$activeSlave.eyesImplant = 1, $stockpile.ocularImplant--,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20,$surgeryType = "ocular implant"]]
+			<</if>>
 		<</if>>
 	<</if>>
 <</if>>
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index fac2d1245e3c11b310ddc159040897145ec7a75b..5c9bf35d4b69c934ec793554ac9e66a41059435c 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -120,6 +120,7 @@
 		<<set $activeSlave.bellySagPreg = 10>>
 		<<set $activeSlave.hips = either(2, 2, 2, 2, 3)>>
 		<<set $activeSlave.counter.birthsTotal = random(10,15)>>
+		<<set $activeSlave.geneticQuirks.hyperFertility = 2>>
 		<<set $activeSlave.weight = random(60,160)>>
 		<<set $activeSlave.muscles = random(60,80)>>
 		<<set $activeSlave.chem = 10>>
@@ -307,7 +308,12 @@
 		<</if>>
 		<<set $activeSlave.health = random(60,80)>>
 		<<set $activeSlave.muscles = 0>>
-		<<set $activeSlave.butt = either(4,5)>>
+		<<if random(1,100) > 75>>
+			<<set $activeSlave.geneticQuirks.rearLipedema = 2>>
+			<<set $activeSlave.butt = random(6,16)>>
+		<<else>>
+			<<set $activeSlave.butt = random(4,5)>>
+		<</if>>
 		<<set $activeSlave.face = random(20,60)>>
 		<<set $activeSlave.boobs = either(500,650,800)>>
 		<<set $activeSlave.waist = -15>>
@@ -590,6 +596,7 @@
 			<<set $activeSlave.boobs = 100*random(44,60)>>
 			<<set $activeSlave.dick = random(5,6)>>
 			<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
+			<<set $activeSlave.geneticQuirks.wellHung = 2>>
 			<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
 				<<if $activeSlave.genes == "XY">>
 					<<set $activeSlave.balls = random(7,8), $activeSlave.scrotum = $activeSlave.balls>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 304520ec875a1d266ec7d433129b28c65ac0d143..0d2ac526e12f6b2821aabfebd09f55b2e774816c 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -747,14 +747,14 @@
 			<</if>>
 		<</if>>
 	<</if>>
-	<<if $slaves[$i].origEye == "none">>
+	<<if $slaves[$i].eyes <= -3>>
 		<<if !hasEyeColorRule($slaves[$i],$defaultRules)>>
-			<<if ($slaves[$i].eyeColor != $HeadGirl.eyeColor)>>
+			<<if ($slaves[$i].eyeColor != $HeadGirl.eyeColor, $slaves[$i].eyes == -3)>>
 				<<set $slaves[$i].eyeColor = $HeadGirl.eyeColor>>
 				$HeadGirl.slaveName gives $slaves[$i].slaveName $slaves[$i].eyeColor glass eyes, to match _his2 own eyes, since with nymphomania comes narcissism.
 			<</if>>
 		<</if>>
-	<<elseif $slaves[$i].origEye == "implant">>
+	<<elseif $slaves[$i].eyesImplant == 1>>
 		<<if !hasEyeColorRule($slaves[$i],$defaultRules)>>
 			<<if ($slaves[$i].eyeColor != $HeadGirl.eyeColor)>>
 				<<set $slaves[$i].eyeColor = $HeadGirl.eyeColor>>
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
index 5cb722470de838864a2baeec7cca8ab9760a95f2..be562bf78006634c3c2175e7b8c87c64a44e0998 100644
--- a/src/uncategorized/salon.tw
+++ b/src/uncategorized/salon.tw
@@ -25,8 +25,6 @@
 
 /* EYES */
 
-<<if $activeSlave.eyes > -3>> /* Begin eye check */
-
 <br><br>
 <<if $activeSlave.pupil == "">>
 	<<set $activeSlave.pupil = "circular">>
@@ -34,7 +32,7 @@
 <<if $activeSlave.sclerae == "">>
 	<<set $activeSlave.sclerae = "white">>
 <</if>>
-<<if $activeSlave.origEye == "implant">>
+<<if $activeSlave.eyesImplant == 1>>
 	$He has artificial eyes, and $he
 	<<if $activeSlave.eyewear == "none">>
 		has no eyewear.
@@ -52,7 +50,6 @@
 	<<else>>
 		is wearing $activeSlave.eyewear. [[Remove|Salon][$activeSlave.eyewear = "none"]]
 	<</if>>
-	//Blurring options are annoying and impede performance on some assignments.//
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	Give $him: [[Cosmetic glasses|Salon][$activeSlave.eyewear = "glasses",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 <<elseif $activeSlave.eyes > -1>>
@@ -82,10 +79,10 @@
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 <</if>>
 
-<<if $activeSlave.origEye != "implant">>
+<<if $activeSlave.eyesImplant == 0>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	Custom cosmetic lenses:
-	<<if $activeSlave.origEye != "none">>
+	<<if $activeSlave.eyes > -3>>
 		<<if $activeSlave.geneticQuirks.heterochromia != 0 && $activeSlave.geneticQuirks.heterochromia != 1 && $activeSlave.geneticQuirks.heterochromia != $activeSlave.origEye>>
 			$He has one $activeSlave.eyeColor eye and one $activeSlave.geneticQuirks.heterochromia eye.
 		<<else>>
@@ -96,12 +93,10 @@
 		<<else>>
 			//Choose $his cosmetic lenses://
 		<</if>>
+	<<elseif $activeSlave.eyes == -3>>
+		$His glass eyes are $activeSlave.eyeColor. [[Remove glass eyes|Salon][$activeSlave.eyes = -4]] or //choose new ones://
 	<<else>>
-		<<if $activeSlave.eyeColor == "empty">>
-			$He has no eyes. //Choose what kind of eyes you want $him to have://
-		<<else>>
-			$His glass eyes are $activeSlave.eyeColor. [[Remove eyes|Salon][$activeSlave.eyeColor = "empty"]] or //choose new ones://
-		<</if>>
+		$He has no eyes. //Choose what kind of glass eyes you want $him to have://
 	<</if>>
 
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -157,13 +152,34 @@
 
 	<<if $artificialEyeColor != "">>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		[[Give|Salon][$activeSlave.eyeColor = ($artificialEyeColor),$activeSlave.pupil = ($artificialEyeShape),$activeSlave.sclerae = ($artificialEyeFill),cashX(forceNeg($modCost), "slaveMod", $activeSlave), $artificialEyeColor = "", $artificialEyeShape = "", $artificialEyeFill = ""]] $him $artificialEyeColor <<if $activeSlave.origEye == "none">>glass eyes<<else>>lenses<</if>><<if $artificialEyeShape != "" || $artificialEyeFill != "">> with <<if $artificialEyeShape != "" >>$artificialEyeShape pupils<</if>><<if $artificialEyeShape != "" && $artificialEyeFill != "">> and <</if>><<if $artificialEyeFill != "" >>$artificialEyeFill sclerae<</if>><</if>>? //This will be applied in addition to eyewear choices.//
+		<<if $activeSlave.eyes == -4>>
+			[[Give|Salon][$activeSlave.eyes = -3, $activeSlave.eyeColor = ($artificialEyeColor), $activeSlave.pupil = ($artificialEyeShape), $activeSlave.sclerae = ($artificialEyeFill), cashX(forceNeg($modCost), "slaveMod", $activeSlave), $artificialEyeColor = "", $artificialEyeShape = "", $artificialEyeFill = ""]]
+		<<else>>
+			[[Give|Salon][$activeSlave.eyeColor = ($artificialEyeColor), $activeSlave.pupil = ($artificialEyeShape), $activeSlave.sclerae = ($artificialEyeFill), cashX(forceNeg($modCost), "slaveMod", $activeSlave), $artificialEyeColor = "", $artificialEyeShape = "", $artificialEyeFill = ""]]
+		<</if>>
+		$him $artificialEyeColor
+		<<if $activeSlave.eyes <= -3>>
+			glass eyes
+		<<else>>
+			lenses
+		<</if>>
+		<<if $artificialEyeShape != "" || $artificialEyeFill != "">>
+			with
+			<<if $artificialEyeShape != "" >>
+				$artificialEyeShape pupils
+			<</if>>
+			<<if $artificialEyeShape != "" && $artificialEyeFill != "">>
+				and
+			<</if>>
+			<<if $artificialEyeFill != "" >>
+				$artificialEyeFill sclera
+			<</if>>
+		<</if>>? //This will be applied in addition to eyewear choices.//
 	<</if>>
 
 <<else>>
 	$His eyes are artificial and can't be set here.
 <</if>>
-<</if>> /*End eye check */
 
 /* EARS */
 <<if $activeSlave.earT != "none" && $activeSlave.earTColor != "hairless">>
diff --git a/src/uncategorized/seExpiration.tw b/src/uncategorized/seExpiration.tw
index 5ac57d0b37a25fca6c2b3f4501da50749b4b00a5..92fa652cb8e04ec91cecf023d6599eb5794983e6 100644
--- a/src/uncategorized/seExpiration.tw
+++ b/src/uncategorized/seExpiration.tw
@@ -83,7 +83,13 @@ $activeSlave.slaveName's indentured servitude is ending this week, meaning that
 	<<if $cash > 1000>>
 		<<link "Enslave $him">>
 			<<replace "#result">>
-				$He's beside $himself with joy when you accept $his plea and enslave $him. $He's given you the finest proof of loyalty a slave possibly can, having tasted a moment of freedom under the law, and thrown it away with utter contempt. $His <<= App.Desc.eyeColor($activeSlave)>> eyes <<if canSee($activeSlave)>>watch you<<else>>are wide<</if>> with eager anticipation, radiating gladness that the prospect of separation from you has gone.
+				$He's beside $himself with joy when you accept $his plea and enslave $him. $He's given you the finest proof of loyalty a slave possibly can, having tasted a moment of freedom under the law, and thrown it away with utter contempt.
+				<<if $activeSlave.eyes > -4>>
+					$His <<= App.Desc.eyeColor($activeSlave)>> eyes <<if canSee($activeSlave)>>watch you<<else>>are wide<</if>> with
+				<<else>>
+					$His face shows
+				<</if>>
+				eager anticipation, radiating gladness that the prospect of separation from you has gone.
 				<<set $activeSlave.indenture = -1, $activeSlave.indentureRestrictions = 0>>
 				<<run cashX(-1000, "event", $activeSlave)>>
 				<<set $lowerClass -= 1>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 9e7fdce2b16f7141a6058bd8cc515d3790c4b710..1ba4f1c94f0cd6c2d562e531bb76671fa058cd4e 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -321,7 +321,7 @@ As the remote surgery's long recovery cycle completes,
 			<</if>>
 		<</if>>
 	<</if>>
-	<<set $activeSlave.eyes = -3>>
+	<<set $activeSlave.eyes = -4>>
 
 <<case "ocular implant">>
 	<<if $activeSlave.eyes <= -2>>
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index 546edf8dd0cd5b14e4afa754a49616f199140c58..308c2c274b59c1884a9e2fe6e7cc61486b44c1db 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -3464,7 +3464,7 @@ $His
 		<<case "a bunny outfit">>
 			A pair of bunny ears sprout from a headband atop $his head.
 		<</switch>>
-		<<if $activeSlave.origEye == "implant">>
+		<<if $activeSlave.eyesImplant == 1>>
 			$He has artificial eyes.
 		<</if>>
 		<<if ($activeSlave.eyewear == "corrective glasses") || ($activeSlave.eyewear == "blurring glasses") || ($activeSlave.eyewear == "glasses")>>