diff --git a/Changelog.txt b/Changelog.txt
index 327e02f0915b4e868a1605d7f1757e9bfc5fb0be..435c67f44793cd11b639175e62e04216aa7932d6 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -6,11 +6,13 @@ Pregmod
 	-tiredness overhauled
 	-illness tweaked
 	-slave performance listing
+	-debug beauty/FResult listing
 	-reminder system
 	-porn/ads code optimization
 	-expanded racial eye, hair and skin color ranges
 	-royal blood event can now use real dynasties
 	-CSS replacing SC formatting
+	-code consolidation
 	-various fixes and balance changes
 
 	12/26/2019
diff --git a/src/endWeek/healthFunctions.js b/src/endWeek/healthFunctions.js
index 3c4e9f5931b02de5b1f9bd1d35992aabd6c475c1..82f3b6b4ac2d774ae7a07e8277a9e6d40f510210 100644
--- a/src/endWeek/healthFunctions.js
+++ b/src/endWeek/healthFunctions.js
@@ -371,10 +371,12 @@ window.tired = function tired(slave) {
 			}
 		} else if (["rest", "get treatment in the clinic"].includes(slave.assignment)) {
 			assignment -= 40; // Major tired reduction due to a solid week of rest
-		} else if (["be the Attendant", "be the Matron", "be the Stewardess", "be the Milkmaid", "be the Farmer", "be the DJ", "be the Madam", "be the Schoolteacher", "be the Wardeness", "be the Nurse", "be your Head Girl"].includes(slave.assignment)) { // Heads are very busy, but always have luxurious conditions, so it balances out, save for the two exceptions
-			assignment += 15;
 		} else if (["guard you"].includes(slave.assignment)) {
 			assignment += 18; // A tough assignment with a girl that doesn't use her provided room unless it is attached to yours.
+		} else if (["be your Head Girl"].includes(slave.assignment)) {
+			assignment += 22; // Always busy. Could benefit from a helper...
+		} else if (["be the Attendant", "be the Matron", "be the Stewardess", "be the Milkmaid", "be the Farmer", "be the DJ", "be the Madam", "be the Schoolteacher", "be the Wardeness", "be the Nurse"].includes(slave.assignment)) { // Heads are very busy, but always have luxurious conditions, so it balances out, save for the two exceptions
+			assignment += 15;
 		} else if (["recruit girls"].includes(slave.assignment)) {
 			if (H.tired > 80) { // I'll take it easy a week to better recruit the next. 
 				assignment -= 20;
@@ -484,7 +486,7 @@ window.tired = function tired(slave) {
 		}
 
 		// Living Conditions
-		if (slave.assignment === "guard you" && V.dojo === 2){
+		if ((slave.assignment === "guard you" && V.dojo === 2) || (slave.assignment === "be your Head Girl" && V.HGSuite === 1)) {
 			livingRules -= 20;
 		} else if (slave.rules.living === "luxurious") {
 			livingRules -= 15;
@@ -574,6 +576,17 @@ window.tired = function tired(slave) {
 
 		tiredChange = livingRules + assignment + reward + punishment; //  + muscles + health
 		H.tired += tiredChange;
+
+		//HG special cases
+		if (slave.assignment === "be your Head Girl") {
+			if (V.HGSlaveSuccess === 1) {
+				H.tired -= 5;
+			}
+			if (V.personalAttention === "HG") {
+				H.tired -= 10;
+			}
+		}
+
 		// H.tired = Math.clamp(H.tired, 0, 100); Disabled until hacky disabler is removed.
 		if (H.tired < 0 || V.disableTiredness) {
 			H.tired = 0;
diff --git a/src/endWeek/saStayConfined.js b/src/endWeek/saStayConfined.js
index 772cf0b67b4d5ac13b716b50f075e407f53f1a9c..8ecc54d2ff41e51365e96168fda799b5c17e7f63 100644
--- a/src/endWeek/saStayConfined.js
+++ b/src/endWeek/saStayConfined.js
@@ -61,10 +61,9 @@ window.saStayConfined = function saStayConfined(slave) {
 			t += `,</span> so ${his} misery only grows.`;
 		}
 		if (slave.assignment === "be confined in the cellblock" && V.Wardeness !== 0) {
-			const H = slave.health;
 			t += ` The stress of confinement <span class="red">damages ${his} health.</span> ${V.Wardeness.slaveName}`;
 			if (V.Wardeness.fetish === "mindbroken") {
-				if (H.tired > 80) {
+				if (slave.health.tired > 80) {
 					t += `'s empty mind often overlooks ${him} when ${he} falls inert from exhaustion, giving ${him} <span class="green">a much needed chance to rest.</span>`;
 				} else {
 					t += `'s empty mind is void of mercy; This broken Wardeness sees <span class="red">no need for breaks nor rest.</span>`;
@@ -72,16 +71,16 @@ window.saStayConfined = function saStayConfined(slave) {
 			} else if (V.Wardeness.sexualFlaw === "caring") {
 				t += ` is too caring and has to focus on not coddling ${him}.`;
 			} else if (V.Wardeness.sexualFlaw === "malicious" || V.Wardeness.sexualFlaw === "abusive") {
-				if (H.condition > 20) {
+				if (slave.health.condition > 20) {
 					t += ` enjoys <span class="red">depriving ${him} of sleep and watching ${him} succumb to fatigue.</span>`;
-				} else if (H.tired > 80) {
+				} else if (slave.health.tired > 80) {
 					t += ` knows better than to let ${him} become dangerously exhausted in ${his} condition.`;
 				} else {
 					t += ` enjoys <span class="red">depriving ${him} of sleep,</span> leaving ${him} vulnerable.`;
 				}
-			} else if (H.tired > 50) {
+			} else if (slave.health.tired > 50) {
 				t += ` allots ${him} <span class="green">time to sleep</span> in an effort to prevent exhaustion from interrupting ${his} efforts.`;
-			} else if (H.tired <= 30) {
+			} else if (slave.health.tired <= 30) {
 				t += ` welcomes ${him} to ${V.cellblockName} by <span class="yellow">denying ${him} sleep</span> until ${he} is nice and pliable.`;
 			} else {
 				t += ` makes sure to <span class="yellow">deny ${him} sleep</span> to keep ${him} pliable.`;
diff --git a/src/uncategorized/saBeYourHeadGirl.tw b/src/uncategorized/saBeYourHeadGirl.tw
index 6d71b7873a958db91656fce6ed95978dc4f9ae90..b5ad57a5ece7d5cb518525ccef7810f25abc3c18 100644
--- a/src/uncategorized/saBeYourHeadGirl.tw
+++ b/src/uncategorized/saBeYourHeadGirl.tw
@@ -5,9 +5,13 @@
 <<if $HGSuite == 1>>
 	<<set $slaves[$i].rules.living = "luxurious">>
 <</if>>
+<<run tired($slaves[$i])>>
 
 <<if $arcologies[0].FSEgyptianRevivalistLaw == 0>>
 	helps manage your other slaves. $He helps them when they try and fail, and punishes them when they fail to try.
+	<<if $HGEnergy == 0>>
+		$He was @@.red;too exhausted@@ to make any real progress this week, however.
+	<</if>>
 <<else>>
 	serves as your Consort. Though $he is still your slave, $his status is scarcely below that of a citizen. $He @@.green;contributes to your reputation@@ just like a Concubine, and $he is @@.hotpink;conscious@@ of the @@.mediumaquamarine;trust@@ you place in $him.
 	<<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>>
@@ -98,20 +102,33 @@
 			<</if>>
 		<</if>> /* closes extended family mode */
 	<</if>>
+	<<if $HGEnergy == 0>>
+		$He was @@.red;too exhausted@@ to make any real progress with your slaves this week, however.
+	<</if>>
 <</if>>
 
-<<if ($slaves[$i].rules.living == "luxurious") && ($HGSuite == 1)>>
-	Being continually trusted with this position @@.hotpink;increases $his devotion to you,@@ and encourages $him to @@.mediumaquamarine;trust you in turn;@@ $he's also @@.hotpink;grateful@@ for $his nice suite, which makes $him one of the best provided for slaves in the Free Cities.
-	<<set $slaves[$i].devotion += 4, $slaves[$i].trust += 4>>
-<<elseif ($slaves[$i].rules.living == "luxurious")>>
-	Being continually trusted with this position @@.hotpink;increases $his devotion to you@@ and encourages $him to @@.mediumaquamarine;trust you in turn.@@
-	<<set $slaves[$i].devotion += 4, $slaves[$i].trust += 4>>
-<<elseif ($HGSuite == 1)>>
-	$He's @@.hotpink;grateful@@ for $his nice suite, which makes $him one of the best provided for slaves in the Free Cities. Being continually trusted with this position encourages $him to @@.mediumaquamarine;trust you in turn.@@
-	<<set $slaves[$i].devotion += 2, $slaves[$i].trust += 4>>
+<<if $HGTimeInGrade > 12>>
+	<<if $HGSuite == 1>>
+		Being continually trusted with this position @@.hotpink;increases $his devotion to you,@@ and encourages $him to @@.mediumaquamarine;trust you in turn;@@ $he's also @@.hotpink;grateful@@ for $his nice suite, which makes $him one of the best provided for slaves in the Free Cities.
+		<<set $slaves[$i].devotion += 4, $slaves[$i].trust += 4>>
+	<<elseif ($slaves[$i].rules.living == "luxurious")>>
+		Being continually trusted with this position @@.hotpink;increases $his devotion to you@@ and encourages $him to @@.mediumaquamarine;trust you in turn.@@
+		<<set $slaves[$i].devotion += 4, $slaves[$i].trust += 4>>
+	<<else>>
+		Being continually trusted with this position @@.hotpink;slightly increases $his devotion to you,@@ though $he harbors some doubts because $he isn't allowed a room of $his own to set $him apart from the other slaves.
+		<<set $slaves[$i].devotion += 1>>
+	<</if>>
 <<else>>
-	Being continually trusted with this position @@.hotpink;slightly increases $his devotion to you,@@ though $he harbors some doubts because $he isn't allowed a room of $his own to set $him apart from the other slaves.
-	<<set $slaves[$i].devotion += 1>>
+	<<if ($HGSuite == 1)>>
+		$He's @@.mediumaquamarine;grateful@@ for $his nice suite, which makes $him one of the best provided for slaves in the Free Cities.
+		<<set $slaves[$i].trust += 4>>
+	<<elseif $slaves[$i].rules.living != "luxurious" && $slaves[$i].devotion <= 50>>
+		Given $his lofty position, $he @@.mediumorchid;harbors some doubts@@ in $his value to you since $he isn't allowed a room of $his own to set $him apart from the other slaves.
+		<<set $slaves[$i].devotion -= 2>>
+	<</if>>
+<</if>>
+<<if $slaves[$i].rules.living != "luxurious">>
+	$His duties are @@.red;physically and mentally taxing,@@ especially with nothing more than a <<if $slaves[$i].rules.living == "normal">>bed<<else>>cot<</if>> waiting for $him in the slave dormitory.
 <</if>>
 
 <<if ($personalAttention == "HG")>>
@@ -122,6 +139,9 @@
 		This arrangement @@.mediumaquamarine;builds trust@@ between you.
 		<<set $slaves[$i].trust += 2>>
 	<</if>>
+	<<if $slaves[$i].health.tired > 30>>
+		It also takes a load off $his tired shoulders.
+	<</if>>
 <</if>>
 
 <<if ($HGFormality == 0)>>
@@ -187,3 +207,4 @@
 <<if !setup.HGCareers.includes($slaves[$i].career) && $slaves[$i].skill.headGirl < $masteredXP>>
 	<<set $slaves[$i].skill.headGirl += random(1,Math.ceil(($slaves[$i].intelligence+$slaves[$i].intelligenceImplant)/15) + 8)>>
 <</if>>
+<<set $slaves[$i].health.tired = Math.clamp($slaves[$i].health.tired, 0, 1000)>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 783e40e5c3a67a4a4e58c69529e9b5083be0601e..db320ebf475fb1c50d704d28b09c8f6838be4618 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -502,6 +502,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 		<<if $arcologies[0].FSChineseRevivalistLaw == 1>>
 			<<set $HGEnergy++>>
 		<</if>>
+		<<if $HeadGirl.health.tired > 90>>
+			<<set $HGEnergy-->>
+		<</if>>
 		<<if canAchieveErection($HeadGirl)>>
 			<<set $HGCum = 2+Math.trunc(($HeadGirl.balls/5)+($HeadGirl.energy/95)+($HeadGirl.health.condition/95)+($HeadGirl.devotion/95)+($reproductionFormula*5))>>
 		<</if>>