diff --git a/src/endWeek/saLiveWithHG.js b/src/endWeek/saLiveWithHG.js
index eabfbccf2de68ae6b0fcd9304c4acd669916971e..c373181c620c112015dd15768fb267cc1407b185 100644
--- a/src/endWeek/saLiveWithHG.js
+++ b/src/endWeek/saLiveWithHG.js
@@ -23,7 +23,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 * @returns {string}
+	 * @returns {DocumentFragment}
 	 */
 	function saliveWithHG(slave) {
 		const el = new DocumentFragment();
@@ -63,7 +63,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 		slaveAssistsHG(slave, S.HeadGirl);
 		HGSlaveTreatment(slave, S.HeadGirl);
 		slaveHGRelations(slave, S.HeadGirl);
-		HGTrainsSlave(slave);
+		HGTrainsSlave(slave, S.HeadGirl);
 		if (canPenetrate(S.HeadGirl)) {
 			HGStretchesHoles(slave, S.HeadGirl);
 		}
@@ -115,7 +115,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsDiet(slave, HG) {
 		if ((arcology.FSRepopulationFocusPregPolicy === 1 || (arcology.FSRestart === "unset" && HG.fetish === "pregnancy")) && canImpreg(slave, HG) && V.dietFertility === 1) {
@@ -147,7 +147,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsHormones(slave, HG) {
 		// Room for expansion
@@ -158,7 +158,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsDrugs(slave, HG) {
 		if (V.HGSuiteDrugs !== 0) {
@@ -208,7 +208,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsLivingConditions(slave, HG) {
 		// Room for expansion
@@ -219,7 +219,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function slaveAssistsHG(slave, HG) {
 		if (slave.devotion > 20) {
@@ -245,7 +245,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSlaveTreatment(slave, HG) {
 		if (HG.fetish === "sadist" && HG.fetishStrength > 60) {
@@ -304,7 +304,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function slaveHGRelations(slave, HG) {
 		if (HG.rivalry !== 0 && HG.rivalryTarget === slave.ID) {
@@ -316,7 +316,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 		} else if (HG.relationship === 0) {
 			if (areRelated(slave, HG) && V.seeIncest === 1) {
 				r.push(`${HG.slaveName}`);
-				if (H.devotion > 95) {
+				if (HG.devotion > 95) {
 					r.push(`is so inured to the perversities of slavery that ${he2} <span class="devotion inc">enjoys</span> the prospect of sexual service from ${his2}`);
 					HG.devotion += 1;
 				} else if (HG.sexualQuirk === "perverted") {
@@ -451,14 +451,14 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
-	function HGTrainsSlave(slave) {
+	function HGTrainsSlave(slave, HG) {
 		if (slave.skill.oral <= 30) {
 			r.push(`${HG.slaveName} wants to come home to a talented tongue, so ${he2} trains slave.slaveName's oral skills.`);
 			r.push(`${slaveSkillIncrease('oral', slave, 10)}`);
 		} else if (slave.vagina > 0 && canDoVaginal(slave) && slave.skill.vaginal <= 30) {
-			r.push(`${HG.slaveName} wants ${his2} personal sex slave to be as skilled with ${his} pussy as possible, so ${_he2} trains ${slave.slaveName}'s vaginal skills.`);
+			r.push(`${HG.slaveName} wants ${his2} personal sex slave to be as skilled with ${his} pussy as possible, so ${he2} trains ${slave.slaveName}'s vaginal skills.`);
 			r.push(`${slaveSkillIncrease('vaginal', slave, 10)}`);
 		} else if (slave.anus > 0 && canDoAnal(slave) && slave.skill.anal <= 30) {
 			r.push(`${HG.slaveName} wants ${his2} personal sex slave to be a skillful backdoor whore, so ${he2} trains ${slave.slaveName}'s anal skills.`);
@@ -477,7 +477,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGStretchesHoles(slave, HG) {
 		if (canDoVaginal(slave)) {
@@ -534,7 +534,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGManagesPregnancy(slave, HG) {
 		if (HG.fetish === "pregnancy" && canImpreg(slave, HG)) {
@@ -605,7 +605,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGCausesFetish(slave, HG) {
 		if (fetishChangeChance(slave) > random(0, 100) && HG.fetishKnown === 1 && HG.fetishStrength > 60 && slave.fetish !== "mindbroken") {
@@ -730,7 +730,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSexualSatiaion(slave, HG) {
 		if (HG.energy > 95) {
@@ -747,7 +747,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 5, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 500) {
+			} else if (slave.boobs >= 500) {
 				mammaryUse += 5;
 			} else {
 				oralUse += 5;
@@ -775,7 +775,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 500) {
+			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
 			} else {
 				oralUse += 3;
@@ -809,7 +809,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 500) {
+			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
 			} else {
 				oralUse += 3;
@@ -843,7 +843,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 500) {
+			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
 			} else {
 				oralUse += 3;
@@ -930,7 +930,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 500) {
+			} else if (slave.boobs >= 500) {
 				mammaryUse += 3;
 			} else {
 				oralUse += 3;
@@ -963,7 +963,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 1, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 500) {
+			} else if (slave.boobs >= 500) {
 				mammaryUse++;
 			} else {
 				oralUse++;
@@ -987,7 +987,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			r.push(`${HG.slaveName} takes a dominant sexual role with ${slave.slaveName}, mostly getting`);
 			if (canPenetrate(HG) && (canDoVaginal(slave) || canDoAnal(slave))) {
 				r.push(`oral and fucking ${him} in the missionary position.`);
-			} else if (slave >= 300) {
+			} else if (slave.boobs >= 300) {
 				r.push(`oral and molesting ${his} breasts.`);
 			} else {
 				r.push(`oral.`);
@@ -998,7 +998,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 300) {
+			} else if (slave.boobs >= 300) {
 				mammaryUse += 3;
 			} else {
 				oralUse += 3;
@@ -1013,7 +1013,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				if (canImpreg(slave, HG)) {
 					r.push(`${knockMeUp(slave, 3, 1, V.HeadGirlID)}`);
 				}
-			} else if (slave >= 300) {
+			} else if (slave.boobs >= 300) {
 				mammaryUse += 3;
 			} else {
 				oralUse += 3;
@@ -1103,7 +1103,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGManagesTiredness(slave, HG) {
 		// room for expansion
@@ -1115,7 +1115,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGDressesSlave(slave, HG) {
 		if (HG.fetishKnown === 1) {
@@ -1188,7 +1188,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function narcissistHG(slave, HG) {
 		if (HG.bald !== 1&& HG.hLength > 0) {
@@ -1241,7 +1241,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (getLeftEyeColor(slave) !== _left) {
 				setEyeColor(slave, _left, "left");
 				r.push(`${HG.slaveName}`);
-				if (getLeftEyeType(slave === 3)) {
+				if (getLeftEyeType(slave) === 3) {
 					r.push(`changes`);
 				} else {
 					r.push(`gives`);
@@ -1259,15 +1259,15 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (getRightEyeColor(slave) !== _right) {
 				setEyeColor(slave, _right, "right");
 				r.push(`${HG.slaveName}`);
-				if (getRightEyeType(slave === 3)) {
+				if (getRightEyeType(slave) === 3) {
 					r.push(`changes`);
 				} else {
 					r.push(`gives`);
 				}
 				r.push(`${slave.slaveName} ${_right}`);
-				if (getLeftRightType(slave) === 3) {
+				if (getLeftEyeType(slave) === 3) {
 					r.push(`eye lenses,`);
-				} else if (getLeftRightType(slave) === 2) {
+				} else if (getLeftEyeType(slave) === 2) {
 					r.push(`glass eyes,`);
 				} else {
 					r.push(`contact lenses,`);
@@ -1279,7 +1279,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsDietText(slave, HG) {
 		if ((arcology.FSRepopulationFocusPregPolicy === 1 || (arcology.FSRestart === "unset" && HG.fetish === "pregnancy")) && canImpreg(slave, HG) && V.dietFertility === 1) {
@@ -1333,7 +1333,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 				r.push(`seems amused by cumshots,`);
 			}
 			r.push(`so ${he2}`);
-			if (_diet !== "cum production") {
+			if (diet !== "cum production") {
 				r.push(`puts`);
 			} else {
 				r.push(`keeps`);
@@ -1351,7 +1351,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsHormonesText(slave, HG) {
 		// room for expansion
@@ -1362,7 +1362,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGSetsDrugsText(slave, HG) {
 		if (V.HGSuiteDrugs !== 0) {
@@ -1427,10 +1427,9 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGArrangesSurgery(slave, HG) {
-		let frag;
 		if (arcology.FSBodyPurist === "unset") {
 			r.push(`${HG.slaveName} sends ${V.assistant.name} notes on what surgical modifications ${he2} wants for ${slave.slaveName}.`);
 			r.push(rulesAutosurgery(slave));
@@ -1439,7 +1438,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 			if (HG.fetish === "sadist" && HG.fetishStrength > 95 && V.seeExtreme === 1 && slave.fetish !== "mindbroken") {
 				if (slave.health.condition > 40) {
 					if (hasAnyNaturalLimbs(slave) && slave.devotion < -20) {
-						frag = `${HG.slaveName} decides to extract the ultimate in sadistic pleasure from ${slave.slaveName}, and directs the autosurgery to <span class="health dec">amputate ${his}`;
+						let frag = `${HG.slaveName} decides to extract the ultimate in sadistic pleasure from ${slave.slaveName}, and directs the autosurgery to <span class="health dec">amputate ${his}`;
 						if (hasAnyArms(slave)) {
 							frag += ` arm${hasBothArms(slave) ? "s" : ""}`;
 							if (hasAnyLegs(slave)) {
@@ -1528,7 +1527,7 @@ App.SlaveAssignment.liveWithHG = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 *
+	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGEnjoyment(slave, HG) {
 		if (V.HGSuiteEquality !== 0) {