diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index b40608cfbd113ef3bf9bbd38d44700f2b02b3b98..9df8e1e59cff5bded3eb10fd3ad710fca03b411f 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,12 @@
 
 0.10.7.1-0.7.x
 
+9/06/2018
+
+	19
+	-more vignettes for more assignments
+	-fixes
+
 9/05/2018
 
 	18
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 17c9db85b0226d35215b7733f9e5e61b4a159f51..12524d14bbce300da894a7969b506a4230a4acc1 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -838,84 +838,84 @@ window.cumAmount = function(slave) {
 
 window.lispReplace = function(text)
 {
-	text = text.replace("Sh", "Th");
-	text = text.replace("SS", "Th");
-	text = text.replace("Ss", "Th");
-	text = text.replace("sS", "Th");
-	text = text.replace("S", "Th");
-	text = text.replace("aX", "aKTH");
-	text = text.replace("eX", "eKTH");
-	text = text.replace("iX", "iKTH");
-	text = text.replace("oX", "oKTH");
-	text = text.replace("uX", "uKTH");
-	text = text.replace("yX", "yKTH");
-	text = text.replace("AX", "AKTH");
-	text = text.replace("EX", "EKTH");
-	text = text.replace("IX", "IKTH");
-	text = text.replace("OX", "OKTH");
-	text = text.replace("UX", "UKTH");
-	text = text.replace("YX", "YKTH");
-	text = text.replace("Xa", "Tha");
-	text = text.replace("Xe", "The");
-	text = text.replace("Xi", "Thi");
-	text = text.replace("Xo", "Tho");
-	text = text.replace("Xu", "Thu");
-	text = text.replace("Xy", "Thy");
-	text = text.replace("XA", "THA");
-	text = text.replace("XE", "THE");
-	text = text.replace("XI", "THI");
-	text = text.replace("XO", "THO");
-	text = text.replace("XU", "THU");
-	text = text.replace("XY", "THY");
-	text = text.replace("X", "EKTH");
-	text = text.replace("zZ", "Th");
-	text = text.replace("Zz", "Th");
-	text = text.replace("ZZ", "TH");
-	text = text.replace("Z", "Th");
-	text = text.replace("Ci", "Thi");
-	text = text.replace("Ce", "The");
-	text = text.replace("Cy", "Thy");
-	text = text.replace("CI", "THI");
-	text = text.replace("CE", "THE");
-	text = text.replace("CY", "THY");
-	text = text.replace("C", "Th");
-	text = text.replace("ss", "th");
-	text = text.replace("sh", "th");
-	text = text.replace("s", "th");
-	text = text.replace("zz", "th");
-	text = text.replace("z", "th");
-	text = text.replace("ax", "akth");
-	text = text.replace("ex", "ekth");
-	text = text.replace("ix", "ikth");
-	text = text.replace("ox", "okth");
-	text = text.replace("ux", "ukth");
-	text = text.replace("yx", "ykth");
-	text = text.replace("Ax", "Akth");
-	text = text.replace("Ex", "Ekth");
-	text = text.replace("Ix", "Ikth");
-	text = text.replace("Ox", "Okth");
-	text = text.replace("Ux", "Ukth");
-	text = text.replace("Yx", "Ykth");
-	text = text.replace("xa", "tha");
-	text = text.replace("xe", "the");
-	text = text.replace("xi", "thi");
-	text = text.replace("xo", "tho");
-	text = text.replace("xu", "thu");
-	text = text.replace("xy", "thy");
-	text = text.replace("xA", "thA");
-	text = text.replace("xE", "thE");
-	text = text.replace("xI", "thI");
-	text = text.replace("xO", "thO");
-	text = text.replace("xU", "thU");
-	text = text.replace("xY", "thY");
-	text = text.replace("x", "ekth");
-	text = text.replace("ci", "thi");
-	text = text.replace("ce", "the");
-	text = text.replace("cy", "thy");
-	text = text.replace("cI", "thI");
-	text = text.replace("cE", "thE");
-	text = text.replace("cY", "thY");
-	text = text.replace("c", "th");
+	text = text.replace(/Sh/g, "Th");
+	text = text.replace(/SS/g, "Th");
+	text = text.replace(/Ss/g, "Th");
+	text = text.replace(/sS/g, "Th");
+	text = text.replace(/S/g, "Th");
+	text = text.replace(/aX/g, "aKTH");
+	text = text.replace(/eX/g, "eKTH");
+	text = text.replace(/iX/g, "iKTH");
+	text = text.replace(/oX/g, "oKTH");
+	text = text.replace(/uX/g, "uKTH");
+	text = text.replace(/yX/g, "yKTH");
+	text = text.replace(/AX/g, "AKTH");
+	text = text.replace(/EX/g, "EKTH");
+	text = text.replace(/IX/g, "IKTH");
+	text = text.replace(/OX/g, "OKTH");
+	text = text.replace(/UX/g, "UKTH");
+	text = text.replace(/YX/g, "YKTH");
+	text = text.replace(/Xa/g, "Tha");
+	text = text.replace(/Xe/g, "The");
+	text = text.replace(/Xi/g, "Thi");
+	text = text.replace(/Xo/g, "Tho");
+	text = text.replace(/Xu/g, "Thu");
+	text = text.replace(/Xy/g, "Thy");
+	text = text.replace(/XA/g, "THA");
+	text = text.replace(/XE/g, "THE");
+	text = text.replace(/XI/g, "THI");
+	text = text.replace(/XO/g, "THO");
+	text = text.replace(/XU/g, "THU");
+	text = text.replace(/XY/g, "THY");
+	text = text.replace(/X/g, "EKTH");
+	text = text.replace(/zZ/g, "Th");
+	text = text.replace(/Zz/g, "Th");
+	text = text.replace(/ZZ/g, "TH");
+	text = text.replace(/Z/g, "Th");
+	text = text.replace(/Ci/g, "Thi");
+	text = text.replace(/Ce/g, "The");
+	text = text.replace(/Cy/g, "Thy");
+	text = text.replace(/CI/g, "THI");
+	text = text.replace(/CE/g, "THE");
+	text = text.replace(/CY/g, "THY");
+	text = text.replace(/C/g, "Th");
+	text = text.replace(/ss/g, "th");
+	text = text.replace(/sh/g, "th");
+	text = text.replace(/s/g, "th");
+	text = text.replace(/zz/g, "th");
+	text = text.replace(/z/g, "th");
+	text = text.replace(/ax/g, "akth");
+	text = text.replace(/ex/g, "ekth");
+	text = text.replace(/ix/g, "ikth");
+	text = text.replace(/ox/g, "okth");
+	text = text.replace(/ux/g, "ukth");
+	text = text.replace(/yx/g, "ykth");
+	text = text.replace(/Ax/g, "Akth");
+	text = text.replace(/Ex/g, "Ekth");
+	text = text.replace(/Ix/g, "Ikth");
+	text = text.replace(/Ox/g, "Okth");
+	text = text.replace(/Ux/g, "Ukth");
+	text = text.replace(/Yx/g, "Ykth");
+	text = text.replace(/xa/g, "tha");
+	text = text.replace(/xe/g, "the");
+	text = text.replace(/xi/g, "thi");
+	text = text.replace(/xo/g, "tho");
+	text = text.replace(/xu/g, "thu");
+	text = text.replace(/xy/g, "thy");
+	text = text.replace(/xA/g, "thA");
+	text = text.replace(/xE/g, "thE");
+	text = text.replace(/xI/g, "thI");
+	text = text.replace(/xO/g, "thO");
+	text = text.replace(/xU/g, "thU");
+	text = text.replace(/xY/g, "thY");
+	text = text.replace(/x/g, "ekth");
+	text = text.replace(/ci/g, "thi");
+	text = text.replace(/ce/g, "the");
+	text = text.replace(/cy/g, "thy");
+	text = text.replace(/cI/g, "thI");
+	text = text.replace(/cE/g, "thE");
+	text = text.replace(/cY/g, "thY");
+	text = text.replace(/c/g, "th");
 	return text;
 }
 
@@ -1797,7 +1797,8 @@ window.Job = Object.freeze({
 	BABY_FACTORY: 'labor in the production line', BROTHEL: 'work in the brothel', MADAM: 'be the Madam', ARCADE: 'be confined in the arcade',
 	SERVANT: 'work as a servant', SERVER: 'be a servant', STEWARD: 'be the Stewardess', CLUB: 'serve in the club', DJ: 'be the DJ',
 	JAIL: 'be confined in the cellblock', WARDEN: 'be the Wardeness', CLINIC: 'get treatment in the clinic', NURSE: 'be the Nurse',
-	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant'});
+	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant',
+	REST: 'rest'});
 window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep', HACKING: 'hacking'});
 
 window.getCost = function(array) {
@@ -10774,7 +10775,7 @@ window.saRest = function saRest(slave) {
 		}
 	}
 
-	if (V.showVignettes == 1) {
+	if (V.showVignettes == 1 && slave.assignment === Job.REST) {
 		var _vignette = GetVignette(slave);
 		t += ` __This week__ ${_vignette.text} `
 		if (_vignette.type == "cash") {
@@ -10956,7 +10957,7 @@ window.saServant = function saServant(slave) {
 		t += `as a drink dispenser at mealtimes, and makes a meaningful contribution to ${his} fellow slaves' nutrition in concert with the feeding systems.`;
 	}
 
-	if (V.showVignettes == 1) {
+	if (V.showVignettes == 1 && (slave.assignment === Job.SERVANT || slave.assignment === Job.SERVER)) {
 		var _vignette = GetVignette(slave);
 		t += ` __This week__ ${_vignette.text} `
 		if (_vignette.type == "cash") {
diff --git a/src/endWeek/saRest.tw b/src/endWeek/saRest.tw
index adb3cc9a808ee4bc3d4aeaf8375478d8716da6a8..ffb8f0095c00ea397b607dd84aa244b251647731 100644
--- a/src/endWeek/saRest.tw
+++ b/src/endWeek/saRest.tw
@@ -53,7 +53,7 @@ window.saRest = function saRest(slave) {
 		}
 	}
 
-	if (V.showVignettes == 1) {
+	if (V.showVignettes == 1 && slave.assignment === Job.REST) {
 		var _vignette = GetVignette(slave);
 		t += ` __This week__ ${_vignette.text} `
 		if (_vignette.type == "cash") {
diff --git a/src/endWeek/saServant.tw b/src/endWeek/saServant.tw
index e6972469171edcf9a94ef9e045926720f1e58fc4..36cf75b8f317f9882621d4730e397b32adc7ded4 100644
--- a/src/endWeek/saServant.tw
+++ b/src/endWeek/saServant.tw
@@ -98,7 +98,7 @@ window.saServant = function saServant(slave) {
 		t += `as a drink dispenser at mealtimes, and makes a meaningful contribution to ${his} fellow slaves' nutrition in concert with the feeding systems.`;
 	}
 
-	if (V.showVignettes == 1) {
+	if (V.showVignettes == 1 && (slave.assignment === Job.SERVANT || slave.assignment === Job.SERVER)) {
 		var _vignette = GetVignette(slave);
 		t += ` __This week__ ${_vignette.text} `
 		if (_vignette.type == "cash") {
diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw
index 80992df811bd848193fe821ea0706a1b4d7e5235..76722df46894ec65dc30aea22bf9f5ceb3211b04 100644
--- a/src/js/economyJS.tw
+++ b/src/js/economyJS.tw
@@ -6,7 +6,8 @@ window.Job = Object.freeze({
 	BABY_FACTORY: 'labor in the production line', BROTHEL: 'work in the brothel', MADAM: 'be the Madam', ARCADE: 'be confined in the arcade',
 	SERVANT: 'work as a servant', SERVER: 'be a servant', STEWARD: 'be the Stewardess', CLUB: 'serve in the club', DJ: 'be the DJ',
 	JAIL: 'be confined in the cellblock', WARDEN: 'be the Wardeness', CLINIC: 'get treatment in the clinic', NURSE: 'be the Nurse',
-	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant'});
+	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant',
+	REST: 'rest'});
 window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep', HACKING: 'hacking'});
 
 window.getCost = function(array) {
diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 7ecc1d29bc6ebb02b3cf9bfac3cb2f18e79a59bf..cc71528f9b135217ad85b4909712648e4e87f092 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -835,84 +835,84 @@ window.cumAmount = function(slave) {
 
 window.lispReplace = function(text)
 {
-	text = text.replace("Sh", "Th");
-	text = text.replace("SS", "Th");
-	text = text.replace("Ss", "Th");
-	text = text.replace("sS", "Th");
-	text = text.replace("S", "Th");
-	text = text.replace("aX", "aKTH");
-	text = text.replace("eX", "eKTH");
-	text = text.replace("iX", "iKTH");
-	text = text.replace("oX", "oKTH");
-	text = text.replace("uX", "uKTH");
-	text = text.replace("yX", "yKTH");
-	text = text.replace("AX", "AKTH");
-	text = text.replace("EX", "EKTH");
-	text = text.replace("IX", "IKTH");
-	text = text.replace("OX", "OKTH");
-	text = text.replace("UX", "UKTH");
-	text = text.replace("YX", "YKTH");
-	text = text.replace("Xa", "Tha");
-	text = text.replace("Xe", "The");
-	text = text.replace("Xi", "Thi");
-	text = text.replace("Xo", "Tho");
-	text = text.replace("Xu", "Thu");
-	text = text.replace("Xy", "Thy");
-	text = text.replace("XA", "THA");
-	text = text.replace("XE", "THE");
-	text = text.replace("XI", "THI");
-	text = text.replace("XO", "THO");
-	text = text.replace("XU", "THU");
-	text = text.replace("XY", "THY");
-	text = text.replace("X", "EKTH");
-	text = text.replace("zZ", "Th");
-	text = text.replace("Zz", "Th");
-	text = text.replace("ZZ", "TH");
-	text = text.replace("Z", "Th");
-	text = text.replace("Ci", "Thi");
-	text = text.replace("Ce", "The");
-	text = text.replace("Cy", "Thy");
-	text = text.replace("CI", "THI");
-	text = text.replace("CE", "THE");
-	text = text.replace("CY", "THY");
-	text = text.replace("C", "Th");
-	text = text.replace("ss", "th");
-	text = text.replace("sh", "th");
-	text = text.replace("s", "th");
-	text = text.replace("zz", "th");
-	text = text.replace("z", "th");
-	text = text.replace("ax", "akth");
-	text = text.replace("ex", "ekth");
-	text = text.replace("ix", "ikth");
-	text = text.replace("ox", "okth");
-	text = text.replace("ux", "ukth");
-	text = text.replace("yx", "ykth");
-	text = text.replace("Ax", "Akth");
-	text = text.replace("Ex", "Ekth");
-	text = text.replace("Ix", "Ikth");
-	text = text.replace("Ox", "Okth");
-	text = text.replace("Ux", "Ukth");
-	text = text.replace("Yx", "Ykth");
-	text = text.replace("xa", "tha");
-	text = text.replace("xe", "the");
-	text = text.replace("xi", "thi");
-	text = text.replace("xo", "tho");
-	text = text.replace("xu", "thu");
-	text = text.replace("xy", "thy");
-	text = text.replace("xA", "thA");
-	text = text.replace("xE", "thE");
-	text = text.replace("xI", "thI");
-	text = text.replace("xO", "thO");
-	text = text.replace("xU", "thU");
-	text = text.replace("xY", "thY");
-	text = text.replace("x", "ekth");
-	text = text.replace("ci", "thi");
-	text = text.replace("ce", "the");
-	text = text.replace("cy", "thy");
-	text = text.replace("cI", "thI");
-	text = text.replace("cE", "thE");
-	text = text.replace("cY", "thY");
-	text = text.replace("c", "th");
+	text = text.replace(/Sh/g, "Th");
+	text = text.replace(/SS/g, "Th");
+	text = text.replace(/Ss/g, "Th");
+	text = text.replace(/sS/g, "Th");
+	text = text.replace(/S/g, "Th");
+	text = text.replace(/aX/g, "aKTH");
+	text = text.replace(/eX/g, "eKTH");
+	text = text.replace(/iX/g, "iKTH");
+	text = text.replace(/oX/g, "oKTH");
+	text = text.replace(/uX/g, "uKTH");
+	text = text.replace(/yX/g, "yKTH");
+	text = text.replace(/AX/g, "AKTH");
+	text = text.replace(/EX/g, "EKTH");
+	text = text.replace(/IX/g, "IKTH");
+	text = text.replace(/OX/g, "OKTH");
+	text = text.replace(/UX/g, "UKTH");
+	text = text.replace(/YX/g, "YKTH");
+	text = text.replace(/Xa/g, "Tha");
+	text = text.replace(/Xe/g, "The");
+	text = text.replace(/Xi/g, "Thi");
+	text = text.replace(/Xo/g, "Tho");
+	text = text.replace(/Xu/g, "Thu");
+	text = text.replace(/Xy/g, "Thy");
+	text = text.replace(/XA/g, "THA");
+	text = text.replace(/XE/g, "THE");
+	text = text.replace(/XI/g, "THI");
+	text = text.replace(/XO/g, "THO");
+	text = text.replace(/XU/g, "THU");
+	text = text.replace(/XY/g, "THY");
+	text = text.replace(/X/g, "EKTH");
+	text = text.replace(/zZ/g, "Th");
+	text = text.replace(/Zz/g, "Th");
+	text = text.replace(/ZZ/g, "TH");
+	text = text.replace(/Z/g, "Th");
+	text = text.replace(/Ci/g, "Thi");
+	text = text.replace(/Ce/g, "The");
+	text = text.replace(/Cy/g, "Thy");
+	text = text.replace(/CI/g, "THI");
+	text = text.replace(/CE/g, "THE");
+	text = text.replace(/CY/g, "THY");
+	text = text.replace(/C/g, "Th");
+	text = text.replace(/ss/g, "th");
+	text = text.replace(/sh/g, "th");
+	text = text.replace(/s/g, "th");
+	text = text.replace(/zz/g, "th");
+	text = text.replace(/z/g, "th");
+	text = text.replace(/ax/g, "akth");
+	text = text.replace(/ex/g, "ekth");
+	text = text.replace(/ix/g, "ikth");
+	text = text.replace(/ox/g, "okth");
+	text = text.replace(/ux/g, "ukth");
+	text = text.replace(/yx/g, "ykth");
+	text = text.replace(/Ax/g, "Akth");
+	text = text.replace(/Ex/g, "Ekth");
+	text = text.replace(/Ix/g, "Ikth");
+	text = text.replace(/Ox/g, "Okth");
+	text = text.replace(/Ux/g, "Ukth");
+	text = text.replace(/Yx/g, "Ykth");
+	text = text.replace(/xa/g, "tha");
+	text = text.replace(/xe/g, "the");
+	text = text.replace(/xi/g, "thi");
+	text = text.replace(/xo/g, "tho");
+	text = text.replace(/xu/g, "thu");
+	text = text.replace(/xy/g, "thy");
+	text = text.replace(/xA/g, "thA");
+	text = text.replace(/xE/g, "thE");
+	text = text.replace(/xI/g, "thI");
+	text = text.replace(/xO/g, "thO");
+	text = text.replace(/xU/g, "thU");
+	text = text.replace(/xY/g, "thY");
+	text = text.replace(/x/g, "ekth");
+	text = text.replace(/ci/g, "thi");
+	text = text.replace(/ce/g, "the");
+	text = text.replace(/cy/g, "thy");
+	text = text.replace(/cI/g, "thI");
+	text = text.replace(/cE/g, "thE");
+	text = text.replace(/cY/g, "thY");
+	text = text.replace(/c/g, "th");
 	return text;
 }
 
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index fb4a2b9bd6882854cb9b3b020b2c4810fbe64457..b7e8384cdb9a3f4727ebeeb56ae802387da322cc 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -432,6 +432,38 @@
 	<</if>>
 <</widget>>
 
+/*
+	Should be called with two slave objects as arguments, the primary and secondary. E.g. <<setSpokenLocalPronouns $activeSlave $subSlave>>
+	_primarySlaveLisp and _secondarySlaveLisp only exist so that we don't have to rely on using the exact variables $activeSlave and $subSlave
+*/
+<<widget "setSpokenLocalPronouns">>
+	<<set _primarySlaveLisp = SlaveStatsChecker.checkForLisp($args[0])>>
+	
+	<<set _heLisp = $he.replace(/sh/g, "th")>>
+	<<set _hisLisp = $his.replace(/s/g, "th")>>
+	<<set _hersLisp = $hers.replace(/s/g, "th")>>
+	<<set _himselfLisp = $himself.replace(/s/g, "th")>>
+
+	<<set _HeLisp = $He.replace(/Sh/g, "Th")>>
+	<<set _HisLisp = $His.replace(/s/g, "th")>>
+	<<set _HersLisp = $Hers.replace(/s/g, "th")>>
+	<<set _HimselfLisp = $Himself.replace(/s/g, "th")>>
+	
+	<<if def _he2>>
+		<<set _secondarySlaveLisp = SlaveStatsChecker.checkForLisp($args[1])>>
+		
+		<<set _he2Lisp = _he2.replace(/sh/g, "th")>>
+		<<set _his2Lisp = _his2.replace(/s/g, "th")>>
+		<<set _hers2Lisp = _hers2.replace(/s/g, "th")>>
+		<<set _himself2Lisp = _himself2.replace(/s/g, "th")>>
+
+		<<set _He2Lisp = _He2.replace(/Sh/g, "Th")>>
+		<<set _His2Lisp = _His2.replace(/s/g, "th")>>
+		<<set _Hers2Lisp = _Hers2.replace(/s/g, "th")>>
+		<<set _Himself2Lisp = _Himself2.replace(/s/g, "th")>>
+	<</if>>
+<</widget>>
+
 <<widget "AgeImplantAdjustment">>
 	<<if $args[0].visualAge > 80>>
 		<<set $args[0].visualAge -= 40>>
diff --git a/src/uncategorized/reHGReplacement.tw b/src/uncategorized/reHGReplacement.tw
index 682d50e3fa8440725a2d426935d62535143b1b8e..a038a7d208a1878f725a4fc38b95885db7e15f94 100644
--- a/src/uncategorized/reHGReplacement.tw
+++ b/src/uncategorized/reHGReplacement.tw
@@ -2,39 +2,40 @@
 
 <<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Next Week", $activeSlave = $eventSlave>>
 <<run Enunciate($activeSlave)>>
+<<setLocalPronouns $activeSlave>>
+<<setLocalPronouns $HeadGirl 2>>
+<<setSpokenLocalPronouns $activeSlave $HeadGirl>>
 
-There's a constant traffic of slaves in and out of your office as girls come in for instructions, inspections, and sex. Your Head Girl $HeadGirl.slaveName is one of the most frequent visitors, since although you trust her, she's still a slave and has to check with you before acting on some matters.<<if $HeadGirl.relationship == -3>> (She's also your wife, making her visits a pleasant diversion.)<<elseif $arcologies[0].FSEgyptianRevivalistLaw == 1>> (She's also your Consort, making her visits a pleasant diversion.)<</if>> During one of her visits, <<EventNameLink $activeSlave>> happens to come in for her scheduled inspection. She perches politely on the couch, waiting her turn like a good girl. Her $activeSlave.eyeColor eyes are watchful, however, and she seems to be paying very close attention to your conversation with your Head Girl.
+There's a constant traffic of slaves in and out of your office as girls come in for instructions, inspections, and sex. Your Head Girl $HeadGirl.slaveName is one of the most frequent visitors, since although you trust _him2, _he2's still a slave and has to check with you before acting on some matters.<<if $HeadGirl.relationship == -3>> (_He2's also your wife, making _his2 visits a pleasant diversion.)<<elseif $arcologies[0].FSEgyptianRevivalistLaw == 1>> (_He2's also your Consort, making _his2 visits a pleasant diversion.)<</if>> During one of _his2 visits, <<EventNameLink $activeSlave>> happens to come in for $his scheduled inspection. $He perches politely on the couch, waiting $his turn like a good $girl. $His $activeSlave.eyeColor eyes are watchful, however, and $he seems to be paying very close attention to your conversation with your Head Girl.
 
-When $HeadGirl.slaveName leaves, she clears her throat nervously. She gathers her courage, and <<say>>s, "<<Master>>, I think I would make a better Head Girl than her." She takes a deep breath and plunges on. "I'm ju<<s>>t a<<s>> <<s>>mart a<<s>> <<sh>>e i<<s>>. And, <<Master>>, I'm <<s>>ure you've noti<<c>>ed <<sh>>e i<<s>>n't very good at teaching other girl<<s>> vaginal <<s>>kill<<s>>.
+When $HeadGirl.slaveName leaves, $he clears $his throat nervously. $He gathers $his courage, and <<say>>s, "<<Master>>, I think I would make a better Head Girl than $him." $He takes a deep breath and plunges on. "I'm ju<<s>>t a<<s>> <<s>>mart a<<s>> <<he>> i<<s>>. And, <<Master>>, I'm <<s>>ure you've noti<<c>>ed <<he>> i<<s>>n't very good at teaching other girl<<s>> vaginal <<s>>kill<<s>>.
 <<if $HeadGirl.vagina > 0>>
-	I could do it much better than <<sh>>e doe<<s>>,
+	I could do it much better than <<he>> doe<<s>>,
 <<elseif $HeadGirl.vagina == 0>>
-	How could <<sh>>e be? <<Sh>>e'<<s>> a virgin! I can manage it,
+	How could <<he>> be? <<He>>'<<s>> a virgin! I can manage it,
 <<else>>
-	How could <<sh>>e be? <<Sh>>e doe<<s>>n't have a pu<<ss>>y! I can manage it,
+	How could <<he>> be? <<He>> doe<<s>>n't have a pu<<ss>>y! I can manage it,
 <</if>>
-<<Master>>. Plea<<s>>e, give me a try." She goes on like this for a while, slowly degenerating into repetition of her points as your failure to give her an immediate positive or negative response starts to worry her.
+<<Master>>. Plea<<s>>e, give me a try." $He goes on like this for a while, slowly degenerating into repetition of $his points as your failure to give $him an immediate positive or negative response starts to worry $him.
 
 <br><br>
 
 <span id="result">
-<<link "She's right">>
+<<link "$He's right">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	After giving the matter some consideration, you agree, instructing $assistantName that $activeSlave.slaveName is now the Head Girl. $activeSlave.slaveName is @@.hotpink;overjoyed,@@ and bounces to her feet, clearly very eager to begin. You caution her that she is not to undermine $HeadGirl.slaveName by letting anyone know why you decided to change Head Girls. She nods obediently. As far as $HeadGirl.slaveName knows, it's just a standard change of Head Girls, and she's too good a slave to let it affect her seriously.
+	After giving the matter some consideration, you agree, instructing $assistantName that $activeSlave.slaveName is now the Head Girl. $activeSlave.slaveName is @@.hotpink;overjoyed,@@ and bounces to $his feet, clearly very eager to begin. You caution $him that $he is not to undermine $HeadGirl.slaveName by letting anyone know why you decided to change Head Girls. $He nods obediently. As far as $HeadGirl.slaveName knows, it's just a standard change of Head Girls, and _he2's too good a slave to let it affect _him2 seriously.
 	<<set $i = $slaveIndices[$HeadGirl.ID]>>
-	<<set $slaves[$i].assignment = "rest">>
-	<<set $slaves[$i].assignmentVisible = 1>>
+	<<= assignJob($slaves[$i], "rest")>>
 	<<set $activeSlave.devotion += 5>>
-	<<set $activeSlave.assignment = "be your Head Girl">>
-	<<set $activeSlave.assignmentVisible = 1>>
+	<<= assignJob($activeSlave, "be your Head Girl")
 	<<set $HeadGirl = $activeSlave>>
 	<</replace>>
 <</link>>
-<br><<link "Pretend you didn't hear her">>
+<br><<link "Pretend you didn't hear $him">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You pretend you didn't hear her, and go about your business. She quickly catches on, and shuts her mouth, sitting stiffly on the couch and waiting for you to say something. After letting her wait for a good long while, you steeple your fingers and look over them at her. She quails at your gaze, but does not look away from you. You tell her that, for her general information, you prefer to make decisions about what slaves do which job yourself, and are not interested in input from the slaves themselves on the matter. You continue to observe that if any slave were to offer input, she might suggest to you that she thought her own judgment superior to yours. Then, you dismiss her. "Ye<<s>> <<Master>>, thank you, <<Master>>," she <<say>>s, and flees.
+	You pretend you didn't hear $him, and go about your business. $He quickly catches on, and shuts $his mouth, sitting stiffly on the couch and waiting for you to say something. After letting $him wait for a good long while, you steeple your fingers and look over them at $him. $He quails at your gaze, but does not look away from you. You tell $him that, for $his general information, you prefer to make decisions about what slaves do which job yourself, and are not interested in input from the slaves themselves on the matter. You continue to observe that if any slave were to offer input, $he might suggest to you that $he thought $his own judgment superior to yours. Then, you dismiss $him. "Ye<<s>> <<Master>>, thank you, <<Master>>," $he <<say>>s, and flees.
 	<<set $activeSlave.trust += 4>>
 	<</replace>>
 <</link>>
@@ -42,11 +43,11 @@ When $HeadGirl.slaveName leaves, she clears her throat nervously. She gathers he
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	<<run Enunciate($HeadGirl)>>
-	You page $HeadGirl.slaveName, telling her to get back up to your office. $activeSlave.slaveName hears you, of course, and stiffens with fear. She knows she's in trouble, but she doesn't yet know how much. You tell $HeadGirl.slaveName to have a seat next to $activeSlave.slaveName on the couch, and instruct $assistantName to replay the last five minutes of the feeds from your office on a wallscreen. $activeSlave.slaveName's<<if $activeSlave.lips > 40>> pillowlike<</if>> lower lip begins to tremble at this, and she can barely manage to keep her gaze on the fatal replay of her attempt to convince you to replace $HeadGirl.slaveName with her. $HeadGirl.slaveName, who is no fool, is not surprised by this, but the replay still angers her. As it rolls on, her hands begin to roam across $activeSlave.slaveName, who winces at her touch. About halfway through, $HeadGirl.slaveName looks straight at you and cruelly pinches one of $activeSlave.slaveName's nipples. You respond to the nonverbal question with a silent nod, and $HeadGirl.slaveName smiles briefly at you. Then, she sticks her tongue in $activeSlave.slaveName's ear. The poor slave starts at the warm, wet intrusion, but knows better than to try to resist. She closes her eyes tight.
+	You page $HeadGirl.slaveName, telling _him2 to get back up to your office. $activeSlave.slaveName hears you, of course, and stiffens with fear. $He knows $he's in trouble, but $he doesn't yet know how much. You tell $HeadGirl.slaveName to have a seat next to $activeSlave.slaveName on the couch, and instruct $assistantName to replay the last five minutes of the feeds from your office on a wallscreen. $activeSlave.slaveName's<<if $activeSlave.lips > 40>> pillowlike<</if>> lower lip begins to tremble at this, and $he can barely manage to keep $his gaze on the fatal replay of $his attempt to convince you to replace $HeadGirl.slaveName with $him. $HeadGirl.slaveName, who is no fool, is not surprised by this, but the replay still angers _him2. As it rolls on, _his2 hands begin to roam across $activeSlave.slaveName, who winces at _his2 touch. About halfway through, $HeadGirl.slaveName looks straight at you and cruelly pinches one of $activeSlave.slaveName's nipples. You respond to the nonverbal question with a silent nod, and $HeadGirl.slaveName smiles briefly at you. Then, _he2 sticks _his2 tongue in $activeSlave.slaveName's ear. The poor slave starts at the warm, wet intrusion, but knows better than to try to resist. $He closes $his eyes tight.
 	<br><br>
-	$HeadGirl.slaveName hops off the couch, gets down in front of her victim, and shoves her legs apart. $activeSlave.slaveName scrunches up her face, expecting something agonizing to happen to her <<if $activeSlave.dick == 0>>pussy, but $HeadGirl.slaveName shocks her by starting to hungrily eat her out.<<else>>cock, but $HeadGirl.slaveName shocks her by giving her a lush blowjob.<</if>> $activeSlave.slaveName clearly expects a trap, but $HeadGirl.slaveName's attentions slowly distract her. When she's on the very verge of orgasm, your Head Girl suddenly stops and <<if $activeSlave.dick == 0>>pinches the girl's pussylips,<<else>>tugs the girl's cock downward by its head,<</if>> not painfully, but hard enough to communicate threat. $activeSlave.slaveName, shocked out of her pleasure, looks down at her. $HeadGirl.slaveName <<say>>s menacingly, "Bitch, if you orga<<s>>m, I'm going to fucking de<<s>>troy you." Then she goes back to giving $activeSlave.slaveName oral. $activeSlave.slaveName begins to cry, realizing how comprehensively fucked she is.
+	$HeadGirl.slaveName hops off the couch, gets down in front of _his2 victim, and shoves $his legs apart. $activeSlave.slaveName scrunches up $his face, expecting something agonizing to happen to $his <<if $activeSlave.dick == 0>>pussy, but $HeadGirl.slaveName shocks $him by starting to hungrily eat $him out.<<else>>cock, but $HeadGirl.slaveName shocks $him by giving $him a lush blowjob.<</if>> $activeSlave.slaveName clearly expects a trap, but $HeadGirl.slaveName's attentions slowly distract $him. When $he's on the very verge of orgasm, your Head Girl suddenly stops and <<if $activeSlave.dick == 0>>pinches the $girl's pussylips,<<else>>tugs the $girl's cock downward by its head,<</if>> not painfully, but hard enough to communicate threat. $activeSlave.slaveName, shocked out of $his pleasure, looks down at _him2. $HeadGirl.slaveName <<say>>s menacingly, "Bitch, if you orga<<s>>m, I'm going to fucking de<<s>>troy you." Then _hes goes back to giving $activeSlave.slaveName oral. $activeSlave.slaveName begins to cry, realizing how comprehensively fucked $he is.
 	<br><br>
-	Eventually, she climaxes. $HeadGirl.slaveName has a talented tongue. $HeadGirl.slaveName does not begrudge the slave her pleasure, <<if $activeSlave.dick == 0>>tonguing her clit all the way through her orgasm.<<else>>industriously sucking her cock until she's swallowed every last drop of cum.<</if>> She stands up and seizes $activeSlave.slaveName by the ear, <<say>>ing, "And now, <<s>>lut, you are fucked." $activeSlave.slaveName's weeping stopped during her climax, but now she starts to @@.gold;sob with terror,@@ and she cries harder as your Head Girl hauls her out of your office by her ear. $HeadGirl.slaveName @@.mediumaquamarine;waves cheerfully@@ to you as she leaves with her victim.
+	Eventually, $he climaxes. $HeadGirl.slaveName has a talented tongue. $HeadGirl.slaveName does not begrudge the slave $his pleasure, <<if $activeSlave.dick == 0>>tonguing $his clit all the way through $his orgasm.<<else>>industriously sucking $his cock until _he2's swallowed every last drop of cum.<</if>> _He2 stands up and seizes $activeSlave.slaveName by the ear, <<say>>ing, "And now, <<s>>lut, you are fucked." $activeSlave.slaveName's weeping stopped during $his climax, but now $he starts to @@.gold;sob with terror,@@ and $he cries harder as your Head Girl hauls $him out of your office by $his ear. $HeadGirl.slaveName @@.mediumaquamarine;waves cheerfully@@ to you as _he2 leaves with _his2 victim.
 	<<set $i = $slaveIndices[$HeadGirl.ID]>>
 	<<set $slaves[$i].trust += 4, $slaves[$i].oralCount += 1>>
 	<<set $oralTotal += 1>>
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index 27d27ecad63b780fb08537f56fadffc4d279f39b..f918042ff276bf57e087867678168234e7ba553d 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -467,7 +467,7 @@ gets milked this week.
 	<<set $slaves[$i].devotion += 1>>
 <</if>>
 
-<<if ($showVignettes == 1)>>
+<<if ($showVignettes == 1 && ($slaves[$i].assignment == "get milked" || $slaves[$i].assignment == "work in the dairy"))>>
 	<<set _vignette = GetVignette($slaves[$i])>>
 	__This week__ _vignette.text
 	<<if (_vignette.type == "cash")>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index ea808838d4d56df66fd34f61a0230aa0d25f3793..7802807567f03754b3dad472c8d7ff02cfcd5f3d 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -897,7 +897,7 @@
 
 <<if ($slaves[$i].buttplug != "none")>>
 	<<if ($slaves[$i].buttplug == "plug") || ($slaves[$i].buttplug == "long plug")>>
-		<<if ($slaves[$i].buttplugAttachment == "tail")>>
+		<<if ["tail", "cat tail", "fox tail"].includes($slaves[$i].buttplugAttachment)>>
 			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
 				<<if $slaves[$i].anus < 1>>
 					Constantly wearing a tail plug in $his virgin butthole @@.lime;stretches it out@@ and @@.gold;is a constant degrading reminder of $his submission.@@
@@ -935,7 +935,7 @@
 			<</if>>
 		<</if>>
 	<<elseif ($slaves[$i].buttplug == "large plug") || ($slaves[$i].buttplug == "long, large plug")>>
-		<<if ($slaves[$i].buttplugAttachment == "tail")>>
+		<<if ["tail", "cat tail", "fox tail"].includes($slaves[$i].buttplugAttachment)>>
 			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
 				<<if ($slaves[$i].anus < 2)>>
 					The uncomfortable tailed plug in $his asshole
@@ -1002,7 +1002,7 @@
 		<</if>>
 	<<elseif ($slaves[$i].buttplug == "huge plug") || ($slaves[$i].buttplug == "long, huge plug")>>
 		<<if ($slaves[$i].buttplugAttachment == "tail")>>
-			<<if ($slaves[$i].anus < 4)>>
+			<<if ["tail", "cat tail", "fox tail"].includes($slaves[$i].buttplugAttachment)>>
 				<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
 					<<if ($slaves[$i].sexualQuirk == "size queen")>>
 						$He thinks of the horribly huge tailed plug $he has wear in $his butt as @@.lime;preparation for the biggest cocks,@@ and @@.hotpink;looks forward@@ to being able to safely take unlubricated anal from them. Even so, the tail hanging from $his rear is @@.gold;a constant degrading reminder of $his submission.@@
@@ -1056,7 +1056,7 @@
 		<</if>>
 	<</if>>
 	<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-		<<if ($slaves[$i].buttplugAttachment == "tail")>>
+		<<if ["tail", "cat tail", "fox tail"].includes($slaves[$i].buttplugAttachment)>>
 			<<if ($slaves[$i].fetish == "humiliation") && ($slaves[$i].fetishKnown == 0)>>
 				$He shows a surprising lack of resistance to the routine of having a tail inserted in $his ass each morning; $he seems to @@.lightcoral;naturally enjoy the humiliation.@@
 				<<set $slaves[$i].fetishKnown = 1>>
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
index bc770b4eb22f9a4088de38ea2b80b4a0c2206734..fbbf8f9842419e880a2c045aaa9ae0bbdf7afaa3 100644
--- a/src/uncategorized/salon.tw
+++ b/src/uncategorized/salon.tw
@@ -560,7 +560,7 @@ Dye or paint:
 
 <<if $activeSlave.eyebrowHStyle != "bald">>
 
-	<br><br>$His $activeSlave.eyebrowFullness, $activeSlave.eyebrowHStyle eyebrows
+	<br><br>$His <<if $activeSlave.eyebrowFullness != "natural" && $activeSlave.eyebrowHStyle != "natural">>$activeSlave.eyebrowFullness, $activeSlave.eyebrowHStyle<</if>> eyebrows
 	<<if $activeSlave.eyebrowHStyle == "shaved">>
 		would be $activeSlave.eyebrowHColor if present.
 	<<else>>
diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw
index 69928561b47d6ece90302344409d38e30f5a9745..e1d3804f0192a7fb22e9f89db12b506f287093e4 100644
--- a/src/uncategorized/sellSlave.tw
+++ b/src/uncategorized/sellSlave.tw
@@ -669,7 +669,7 @@ __Bids Received__
 	<br>''<<print cashFormat(_Price)>>'' from a citizen who is clearly aroused by $his slutty tattoos.
 	<<set _NewOwner = 1>>
 <<elseif ($activeSlave.boobs > 800) && ($activeSlave.areolaeShape != "circle") && (random(1,100) > 80)>>
-	<br>''<<print cashFormat(_NewOwner)>>'' from a citizen who can't take his eyes off $his unique areolae.
+	<br>''<<print cashFormat(_Price)>>'' from a citizen who can't take his eyes off $his unique areolae.
 	<<set _NewOwner = 1>>
 <<elseif ($activeSlave.clit > 2) && (random(1,100) > 80)>>
 	<br>''<<print cashFormat(_Price)>>'' from a citizen who keeps running her tongue over her lips while staring at the slave's giant clit.
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 341e265c47d60e4c2595e1968a831cd7c2dc0c76..3e7ad543b3ee0742f0257b442e2153a53fd904cf 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -669,6 +669,19 @@
 <<widget "Sh">>$ShEnunciate<</widget>>
 <<widget "x">>$xEnunciate<</widget>>
 
+/* 
+	If $args[0] is defined, it is assumed the secondary slave is speaking about primary slave. Else, the primary slave is speaking about secondary slave.
+	Pronouns must be set for both slaves, and <<setSpokenLocalPronouns primarySlave secondarySlave>> must be previously called.
+*/
+<<widget "he">><<if def $args[0]>><<if _secondarySlaveLisp>>_heLisp<<else>>$he<</if>><<else>><<if _primarySlaveLisp>>_he2Lisp<<else>>_he2<</if>><</if>><</widget>>
+<<widget "his">><<if def $args[0]>><<if _secondarySlaveLisp>>_hisLisp<<else>>$his<</if>><<else>><<if _primarySlaveLisp>>_his2Lisp<<else>>_his2<</if>><</if>><</widget>>
+<<widget "hers">><<if def $args[0]>><<if _secondarySlaveLisp>>_hersLisp<<else>>$hers<</if>><<else>><<if _primarySlaveLisp>>_hers2Lisp<<else>>_hers2<</if>><</if>><</widget>>
+<<widget "himself">><<if def $args[0]>><<if _secondarySlaveLisp>>_himselfLisp<<else>>$himselfLisp<</if>><<else>><<if _primarySlaveLisp>>_himself2Lisp<<else>>_himself2<</if>><</if>><</widget>>
+<<widget "He">><<if def $args[0]>><<if _secondarySlaveLisp>>_HeLisp<<else>>$He<</if>><<else>><<if _primarySlaveLisp>>_He2Lisp<<else>>_He2<</if>><</if>><</widget>>
+<<widget "His">><<if def $args[0]>><<if _secondarySlaveLisp>>_HisLisp<<else>>$His<</if>><<else>><<if _primarySlaveLisp>>_His2Lisp<<else>>_His2<</if>><</if>><</widget>>
+<<widget "Hers">><<if def $args[0]>><<if _secondarySlaveLisp>>_HersLisp<<else>>$Hers<</if>><<else>><<if _primarySlaveLisp>>_Hers2Lisp<<else>>_Hers2<</if>><</if>><</widget>>
+<<widget "Himself">><<if def $args[0]>><<if _secondarySlaveLisp>>_HimselfLisp<<else>>$HimselfLisp<</if>><<else>><<if _primarySlaveLisp>>_Himself2Lisp<<else>>_Himself2<</if>><</if>><</widget>>
+
 /%
  Call as <<EventFetish>>
  $args[0]: Slave.