diff --git a/js/002-config/fc-js-init.js b/js/002-config/fc-js-init.js
index 6b36572e801d4d64e971fca1e223e11358a428c8..84f7917d95008d3128a7b383004290ca085323c9 100644
--- a/js/002-config/fc-js-init.js
+++ b/js/002-config/fc-js-init.js
@@ -52,6 +52,7 @@ App.RA = {};
 App.Reminders = {};
 App.SF = {};
 App.SecExp = {};
+App.SlaveAssignment = {};
 App.UI = {};
 App.UI.Budget = {};
 App.UI.DOM = {};
diff --git a/src/endWeek/saBeYourHeadGirl.js b/src/endWeek/saBeYourHeadGirl.js
index 25bfce33c8d2c85c44f0c3ff277063b340012574..004de22b42a95660c3bfe501816d3da99ae1779b 100644
--- a/src/endWeek/saBeYourHeadGirl.js
+++ b/src/endWeek/saBeYourHeadGirl.js
@@ -1,4 +1,4 @@
-globalThis.saBeYourHeadGirl = (function() {
+App.SlaveAssignment.beYourHeadGirl = (function() {
 	"use strict";
 
 	let r;
@@ -65,7 +65,7 @@ globalThis.saBeYourHeadGirl = (function() {
 			r.push(`serves as your Consort. Though ${he} is still your slave, ${his} status is scarcely below that of a citizen. ${He} <span class="green">contributes to your reputation</span> just like a Concubine, and ${he} is <span class="hotpink">conscious</span> of the <span class="mediumaquamarine">trust</span> you place in ${him}.`);
 			slave.devotion += 1;
 			slave.trust += 1;
-			saPleaseYou(slave);
+			App.SlaveAssignment.pleaseYou(slave);
 			if (slave.relationship > 4) {
 				if (slave.relationshipTarget === V.Concubine.ID) {
 					if (areRelated(V.Concubine, slave)) {
diff --git a/src/endWeek/saChoosesOwnClothes.js b/src/endWeek/saChoosesOwnClothes.js
index 392f21a6b1bd4b0edc56956354b09f1e61f59e52..04c1c55b30d3492d6fae7fe63cc224793a06ad0d 100644
--- a/src/endWeek/saChoosesOwnClothes.js
+++ b/src/endWeek/saChoosesOwnClothes.js
@@ -1,4 +1,4 @@
-globalThis.saChoosesOwnClothes = (function() {
+App.SlaveAssignment.choosesOwnClothes = (function() {
 	"use strict";
 
 	let player;
diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js
index 8651a09b2d6fee642bfe789be7bf628217619899..593c50e77c984259d65c569e85a76db59f5fbf84 100644
--- a/src/endWeek/saClothes.js
+++ b/src/endWeek/saClothes.js
@@ -1,4 +1,4 @@
-globalThis.saClothes = (function() {
+App.SlaveAssignment.clothes = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saDrugs.js b/src/endWeek/saDrugs.js
index b4f5bfc76e03420f5a7f08908f1b405712381fe3..c20cba0634e6e1954b2b230b2e1e74eb83c36055 100644
--- a/src/endWeek/saDrugs.js
+++ b/src/endWeek/saDrugs.js
@@ -1,4 +1,4 @@
-globalThis.saDrugs = (function() {
+App.SlaveAssignment.drugs = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saGetMilked.js b/src/endWeek/saGetMilked.js
index e178a13dc56308ca5bd3ab9eea63251afc9b4ff8..e51c79bacb419a1bf98c20cab7228c430a4b2a33 100644
--- a/src/endWeek/saGetMilked.js
+++ b/src/endWeek/saGetMilked.js
@@ -1,4 +1,4 @@
-globalThis.saGetMilked = (function() {
+App.SlaveAssignment.getMilked = (function() {
 	"use strict";
 
 	let T;
diff --git a/src/endWeek/saGuardYou.js b/src/endWeek/saGuardYou.js
index 08d35a6aa362653ad836af01691227d75734d74c..441ecc3959058cb6daf2ff618a9cfb45cca86882 100644
--- a/src/endWeek/saGuardYou.js
+++ b/src/endWeek/saGuardYou.js
@@ -1,4 +1,4 @@
-globalThis.saGuardYou = (function() {
+App.SlaveAssignment.guardYou = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saHormonesEffects.js b/src/endWeek/saHormonesEffects.js
index 91fba50e91a48564ed60126670e4964145db7f37..652362a94796319c876501e046c7a5ef53fab9c7 100644
--- a/src/endWeek/saHormonesEffects.js
+++ b/src/endWeek/saHormonesEffects.js
@@ -1,4 +1,4 @@
-globalThis.saHormonesEffects = (function() {
+App.SlaveAssignment.hormonesEffects = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saInflation.js b/src/endWeek/saInflation.js
index 5dfc3d380b7d15aedb28759e12ac14731e4f8188..948363c7cba943e0c145ba2fd3bc98d700195d00 100644
--- a/src/endWeek/saInflation.js
+++ b/src/endWeek/saInflation.js
@@ -1,4 +1,4 @@
-globalThis.saInflation = (function() {
+App.SlaveAssignment.inflation = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saNanny.js b/src/endWeek/saNanny.js
index 2859da0af2495f53ad74201c01dd35ded6ce33d3..62c5754347a2821e749b7f0a9d744109206ad2bf 100644
--- a/src/endWeek/saNanny.js
+++ b/src/endWeek/saNanny.js
@@ -2,7 +2,7 @@
  * @param {App.Entity.SlaveState} slave
  * @returns {string}
  */
-globalThis.saNanny = function(slave) {
+App.SlaveAssignment.nanny = function(slave) {
 	"use strict";
 	const
 		{
@@ -114,7 +114,7 @@ globalThis.saNanny = function(slave) {
 	function nannyVignettes(slave) {
 		let t = '';
 
-		if (V.showVignettes === 1 && (slave.assignment === window.Job.NANNY)) {
+		if (V.showVignettes === 1 && (slave.assignment === window.Job.NURSERY)) {
 			const vignette = GetVignette(slave);
 			t += ` <u>This week</u> ${vignette.text} `;
 
diff --git a/src/endWeek/saPleaseYou.js b/src/endWeek/saPleaseYou.js
index d906d0f0b64594cbe6b5196f4bf2f51f9d8b3d10..ff37fe2f56f71e2deae9e53d800774e06e3f2fa8 100644
--- a/src/endWeek/saPleaseYou.js
+++ b/src/endWeek/saPleaseYou.js
@@ -1,4 +1,4 @@
-globalThis.saPleaseYou = (function() {
+App.SlaveAssignment.pleaseYou = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saPorn.js b/src/endWeek/saPorn.js
index 60e49865afa45fc278613cfa47285d974bf7dafa..f8101cbf407a209c1fbc146791303a5e6d2b6e4c 100644
--- a/src/endWeek/saPorn.js
+++ b/src/endWeek/saPorn.js
@@ -1,4 +1,4 @@
-globalThis.saPorn = (function() {
+App.SlaveAssignment.porn = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saRest.js b/src/endWeek/saRest.js
index 1e9d7b0a2dde1fc9e86c410c85261e0b1bdb45eb..2dd55055c34373e1d06c18ac91ce1b2d210847fe 100644
--- a/src/endWeek/saRest.js
+++ b/src/endWeek/saRest.js
@@ -2,7 +2,7 @@
  * @param {App.Entity.SlaveState} slave
  * @returns {string}
  */
-globalThis.saRest = function(slave) {
+App.SlaveAssignment.rest = function(slave) {
 	/* eslint-disable no-unused-vars*/
 	const {
 		he, him, his, hers, himself, boy,
diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index a6ddb0e2e8761b24bd74cb56772b60b50e2f4f7f..865b0a4023f821ee7f3a98ee0ba06d3fa7e15197 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -2,7 +2,7 @@
  * @param {App.Entity.SlaveState} slave
  * @returns {string}
  */
-globalThis.saServant = function(slave) {
+App.SlaveAssignment.servant = function(slave) {
 	/* eslint-disable no-unused-vars*/
 	const {
 		he, him, his, hers, himself, boy, wife,
@@ -13,7 +13,7 @@ globalThis.saServant = function(slave) {
 	let t = `works as a servant. ${He} performs the lowest jobs in your penthouse, cleaning up after your other slaves, bathing them, helping them dress, and giving them sexual relief.`;
 
 	if (V.servantsQuarters > 0) {
-		if ((V.universalRulesFacilityWork === 1 && slave.assignment === window.Job.HOUSE && V.servantsQuartersSpots > 0) || (slave.assignment === window.Job.SERVANT)) {
+		if ((V.universalRulesFacilityWork === 1 && slave.assignment === window.Job.HOUSE && V.servantsQuartersSpots > 0) || (slave.assignment === window.Job.QUARTER)) {
 			if (slave.assignment === window.Job.HOUSE) {
 				t += ` Since there's extra space in the servants' quarters, ${V.assistant.name} attaches ${him} to the cadre of maids there.`;
 				V.servantsQuartersSpots--;
@@ -149,7 +149,7 @@ globalThis.saServant = function(slave) {
 		}
 	}
 
-	if (V.showVignettes === 1 && (slave.assignment === window.Job.SERVANT || slave.assignment === window.Job.HOUSE)) {
+	if (V.showVignettes === 1 && (slave.assignment === window.Job.QUARTER || slave.assignment === window.Job.HOUSE)) {
 		const vignette = GetVignette(slave);
 		t += ` <span class="story-label">This week</span> ${vignette.text} `;
 		if (vignette.type === "cash") {
@@ -168,7 +168,7 @@ globalThis.saServant = function(slave) {
 				} else if (vignette.effect < 0) {
 					cashX(forceNeg(cashVign), "slaveAssignmentHouseVign", slave);
 				}
-			} else if (slave.assignment === window.Job.SERVANT) {
+			} else if (slave.assignment === window.Job.QUARTER) {
 				if (vignette.effect > 0) {
 					cashX(cashVign, "slaveAssignmentQuarterVign", slave);
 				} else if (vignette.effect < 0) {
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index ac97dda560488c8be374db5cb975dc5e5f638ee9..ff54404b26047bfec52fc52a3804e4c38aef9de9 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -1,4 +1,4 @@
-globalThis.saServeThePublic = (function() {
+App.SlaveAssignment.serveThePublic = (function() {
 	"use strict";
 
 	let T;
diff --git a/src/endWeek/saStayConfined.js b/src/endWeek/saStayConfined.js
index 69601cdbdec5622bb2ce04c2c9e1ac9fc7b0d31f..a4e318a7caa745ec7e7f4d8ea080fb4db7a4ceaf 100644
--- a/src/endWeek/saStayConfined.js
+++ b/src/endWeek/saStayConfined.js
@@ -2,7 +2,7 @@
  * @param {App.Entity.SlaveState} slave
  * @returns {string}
  */
-globalThis.saStayConfined = function(slave) {
+App.SlaveAssignment.stayConfined = function(slave) {
 	/* eslint-disable no-unused-vars*/
 	const {
 		he, him, his, hers, himself, boy,
diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js
index 2a896bb1336cff0df39a364805e3f45e29a6a9b1..a11127ee01dfe94632d4dff57f309a84a7d5b186 100644
--- a/src/endWeek/saTakeClasses.js
+++ b/src/endWeek/saTakeClasses.js
@@ -1,4 +1,4 @@
-globalThis.saTakeClasses = (function() {
+App.SlaveAssignment.takeClasses = (function() {
 	"use strict";
 
 	let r;
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index 1caa97a22ae59b24320e71acb3207fb82edfa0ec..c03c0c0f8a77004b03bd5918da68c188fbd59066 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -1,4 +1,4 @@
-globalThis.saWhore = (function() {
+App.SlaveAssignment.whore = (function() {
 	"use strict";
 
 	let T;
diff --git a/src/endWeek/saWorkAGloryHole.js b/src/endWeek/saWorkAGloryHole.js
index bac90ca10002ed6f1e5f7413c5e01174a8e0101b..6a73ec77ada1eb7027f2e688fe53dcd43274d183 100644
--- a/src/endWeek/saWorkAGloryHole.js
+++ b/src/endWeek/saWorkAGloryHole.js
@@ -1,4 +1,4 @@
-globalThis.saWorkAGloryHole = (function() {
+App.SlaveAssignment.workAGloryHole = (function() {
 	"use strict";
 
 	let T;
diff --git a/src/endWeek/saWorkTheFarm.js b/src/endWeek/saWorkTheFarm.js
index da4addd71997a29d805e8821a471bb6f17deba33..1d75cae7196aeae064d58d961fad49f11fedeba3 100644
--- a/src/endWeek/saWorkTheFarm.js
+++ b/src/endWeek/saWorkTheFarm.js
@@ -2,7 +2,7 @@
  * @param {App.Entity.SlaveState} slave
  * @returns {string}
  */
-globalThis.saWorkTheFarm = function(slave) {
+App.SlaveAssignment.workTheFarm = function(slave) {
 	const arcology = V.arcologies[0];
 	const {
 			he, him, his, hers, himself, boy, He, His
diff --git a/src/facilities/farmyard/farmyardReport.tw b/src/facilities/farmyard/farmyardReport.tw
index e07eb815b2498f52d88e795fec7775ec6378da9c..e66a15a72ca353a7aaedb1ab0fdaa693cc206971 100644
--- a/src/facilities/farmyard/farmyardReport.tw
+++ b/src/facilities/farmyard/farmyardReport.tw
@@ -171,21 +171,21 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[_FLs])>></span> is serving as the Farmer.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -246,25 +246,25 @@
 			<<else>>
 				is working out of $farmyardName.
 			<</if>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saWorkTheFarm($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.workTheFarm($slaves[$i])>>
 			<br>&nbsp;&nbsp;&nbsp;
-			<<= saChoosesOwnClothes($slaves[$i])>>
+			<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<= saDrugs($slaves[$i])>>
+			<<= App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<br><<include "SA devotion">>
 		<<else>>
 			<<silently>>
 			<<include "SA chooses own job">>
-			<<run saWorkTheFarm($slaves[$i])>>
-			<<run saChoosesOwnClothes($slaves[$i])>>
+			<<run App.SlaveAssignment.workTheFarm($slaves[$i])>>
+			<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<run saDrugs($slaves[$i])>>
+			<<run App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<<include "SA devotion">>
diff --git a/src/facilities/farmyard/farmyardWidgets.js b/src/facilities/farmyard/farmyardWidgets.js
index 88e890c82164f3f59c0b8cece6232ca2ca84ca62..ffc73869fd1edac93645b8bccfe5fd533e464e76 100644
--- a/src/facilities/farmyard/farmyardWidgets.js
+++ b/src/facilities/farmyard/farmyardWidgets.js
@@ -164,9 +164,9 @@ App.Facilities.Farmyard.farmyardReport = () => {
 			beauty;
 
 		if (V.showEWD) {
-			t += `<br>&nbsp;&nbsp;&nbsp;&nbsp;${He} ${saWorkTheFarm(slave)}`;
+			t += `<br>&nbsp;&nbsp;&nbsp;&nbsp;${He} ${App.SlaveAssignment.workTheFarm(slave)}`;
 		} else {
-			saWorkTheFarm(slave);
+			App.SlaveAssignment.workTheFarm(slave);
 		}
 
 		seed = V.cash - oldCash;
@@ -194,7 +194,7 @@ App.Facilities.Farmyard.farmyardReport = () => {
 			/* 000-250-006 */
 			t += `<span class="slave-name">${SlaveFullName(slave)}</span> is serving as the Farmer. `;
 			t += `<br>&nbsp;&nbsp;&nbsp;&nbsp;`;
-			t += saChoosesOwnClothes(slave);
+			t += App.SlaveAssignment.choosesOwnClothes(slave);
 			t += `<<include "SA rules">>`;
 			t += `<<include "SA diet">>`;
 			t += `<<include "SA long term effects">>`;
@@ -203,7 +203,7 @@ App.Facilities.Farmyard.farmyardReport = () => {
 			t += `<<include "SA rivalries">>`;
 			t += `<br><<include "SA devotion">>`;
 		} else {
-			saChoosesOwnClothes(slave);
+			App.SlaveAssignment.choosesOwnClothes(slave);
 			t += `<<silently>><<include "SA rules">><</silently>>`;
 			t += `<<silently>><<include "SA diet">><</silently>>`;
 			t += `<<silently>><<include "SA long term effects">><</silently>>`;
@@ -289,9 +289,9 @@ App.Facilities.Farmyard.farmyardReport = () => {
 			}
 			/* 000-250-006 */
 			t += `<span class="slave-name">${SlaveFullName(slave)}</span> ${slave.choosesOwnAssignment === 2 ? `<<include "SA chooses own job">>` : `is working out of ${V.farmyardName}`}. `;
-			t += `<br>&nbsp;&nbsp;&nbsp;&nbsp;${He} ${saWorkTheFarm(slave)}`;
+			t += `<br>&nbsp;&nbsp;&nbsp;&nbsp;${He} ${App.SlaveAssignment.workTheFarm(slave)}`;
 			t += `<br>&nbsp;&nbsp;&nbsp;&nbsp;`;
-			t += saChoosesOwnClothes(slave);
+			t += App.SlaveAssignment.choosesOwnClothes(slave);
 			t += `<<include "SA rules">>`;
 			t += `<<include "SA diet">>`;
 			t += `<<include "SA long term effects">>`;
@@ -301,7 +301,7 @@ App.Facilities.Farmyard.farmyardReport = () => {
 			t += `<br><<include "SA devotion">>`;
 		} else {
 			t += `<<silently>><<include "SA chooses own job">><</silently>>`;
-			t += saChoosesOwnClothes(slave);
+			t += App.SlaveAssignment.choosesOwnClothes(slave);
 			t += `<<silently>><<include "SA rules">><</silently>>`;
 			t += `<<silently>><<include "SA diet">><</silently>>`;
 			t += `<<silently>><<include "SA long term effects">><</silently>>`;
diff --git a/src/facilities/nursery/nurseryWidgets.js b/src/facilities/nursery/nurseryWidgets.js
index ce37ddade40cd968014524a9cf417ef04844854f..b78a8b3e152a9b4ec5e09c03eb1ae709dcd68620 100644
--- a/src/facilities/nursery/nurseryWidgets.js
+++ b/src/facilities/nursery/nurseryWidgets.js
@@ -18295,21 +18295,21 @@ App.Facilities.Nursery.nurseryReport = function nurseryReport() {
 			}
 			/* 000-250-006 */
 			r += `<strong><u><span class="pink">${SlaveFullName(Matron)}</span></u></strong> is serving as the Matron in ${V.nurseryName}.`;
-			r += `${saChoosesOwnClothes(Matron)}`;
+			r += `${App.SlaveAssignment.choosesOwnClothes(Matron)}`;
 			r += `<<include "SA rules">>`;
 			r += `<<include "SA diet">>`;
 			r += `<<include "SA long term effects">>`;
-			r += `${saDrugs(Matron)}`;
+			r += `${App.SlaveAssignment.drugs(Matron)}`;
 			r += `<<include "SA relationships">>`;
 			r += `<<include "SA rivalries">>`;
 			r += `<br><<include "SA devotion">>`;
 		} else {
 			r += `<<silently>>
-			${saChoosesOwnClothes(Matron)};
+			${App.SlaveAssignment.choosesOwnClothes(Matron)};
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			${saDrugs(Matron)};
+			${App.SlaveAssignment.drugs(Matron)};
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<<include "SA devotion">>
@@ -18371,20 +18371,20 @@ App.Facilities.Nursery.nurseryReport = function nurseryReport() {
 				r += ` is working in ${V.nurseryName}. `;
 			}
 			// TODO: clean this mess up
-			r += `<br>&nbsp;&nbsp;&nbsp;&nbsp;${He} ${saNanny(slave)}<br>&nbsp;&nbsp;&nbsp;`;
-			r += `${saChoosesOwnClothes(slave)} ${saRules(slave)}`;
+			r += `<br>&nbsp;&nbsp;&nbsp;&nbsp;${He} ${App.SlaveAssignment.nanny(slave)}<br>&nbsp;&nbsp;&nbsp;`;
+			r += `${App.SlaveAssignment.choosesOwnClothes(slave)} ${saRules(slave)}`;
 			r += `<<include "SA diet">>`;					// TODO:
 			r += `<<include "SA long term effects">>`;		// TODO:
-			r += `${saDrugs(slave)}`;						// TODO:
+			r += `${App.SlaveAssignment.drugs(slave)}`;						// TODO:
 			r += `<<include "SA relationships">>`;			// TODO:
 			r += `<<include "SA rivalries">>`;				// TODO:
 			r += `<br><<include "SA devotion">>`;			// TODO:
 		} else {
 			r += `<<silently>>`;
-			r += `${choosesOwnJob(slave)} ${saNanny(slave)} ${saChoosesOwnClothes(slave)} ${saRules(slave)}`;
+			r += `${choosesOwnJob(slave)} ${App.SlaveAssignment.nanny(slave)} ${App.SlaveAssignment.choosesOwnClothes(slave)} ${saRules(slave)}`;
 			r += `<<include "SA diet">>`;
 			r += `<<include "SA long term effects">>`;
-			r += `${saDrugs(slave)}`;
+			r += `${App.SlaveAssignment.drugs(slave)}`;
 			r += `<<include "SA relationships">>`;
 			r += `<<include "SA rivalries">>`;
 			r += `<<include "SA devotion">>`;
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index 1002f2fe32ec8a752a207334e8c007dfb8f0262a..fc8438acfe04c6151657441f4493a1d697a9d825 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -437,7 +437,7 @@ globalThis.assignJobSafely = function(slave, assignmentStr) {
 /**
  * @param {App.Entity.SlaveState} slave
  * @param {string} assignment
- * @param {boolean} saveRecord
+ * @param {boolean} [saveRecord]
  * @returns {string}
  */
 globalThis.removeJob = function(slave, assignment, saveRecord) {
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 3518192480bcfee60de613648e04e96891cd8eea..5fd936e7e05cbf0a868e9595cbbafc291beba405 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -921,7 +921,7 @@ globalThis.calculateCosts = (function() {
 		if (slave.lactation > 0) {
 			effectiveness *= 1.025;
 		}
-		if (slave.assignment === Job.SERVANT) {
+		if (slave.assignment === Job.QUARTER) {
 			effectiveness *= 1.1;
 		}
 		if (setup.servantCareers.includes(slave.career) || slave.skill.servant >= State.variables.masteredXP) {
@@ -990,7 +990,7 @@ globalThis.getSlaveCostArray = function(s) {
 			}
 			break;
 		case Job.SPA:
-		case Job.NANNY:
+		case Job.NURSERY:
 			if (s.rules.living === LivingRule.LUXURIOUS) {
 				cost += rulesCost * 1.75;
 			} else if (s.rules.living === LivingRule.NORMAL) {
@@ -999,14 +999,14 @@ globalThis.getSlaveCostArray = function(s) {
 				cost += rulesCost;
 			}
 			break;
-		case Job.SERVANT:
+		case Job.QUARTER:
 			if (s.rules.living === LivingRule.NORMAL) {
 				cost += rulesCost * 1.5;
 			} else {
 				cost += (State.variables.servantsQuartersDecoration === 'Degradationist') ? rulesCost * 0.90 : rulesCost;
 			}
 			break;
-		case Job.JAIL:
+		case Job.CELLBLOCK:
 			cost += (s.rules.living === LivingRule.NORMAL) ? rulesCost * 1.25 : rulesCost * 0.90;
 			break;
 		case Job.MADAM:
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index bcc6cfd9c16934822ab9b3f39f221c7ccc01eda4..eac8847772f20c1eae38d006b07e5410bce8b860 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -2227,7 +2227,7 @@ globalThis.FResultTooltip = function(slave) {
 };
 
 globalThis.slaveCost = function(slave, isStartingSlave) {
-	const milked = saGetMilked(slave, true);
+	const milked = App.SlaveAssignment.getMilked(slave, true);
 	const beauty = slaveCostBeauty(slave, isStartingSlave);
 	if ((milked*52) > beauty && !isStartingSlave) { // Arbitrarily, let's say their milk worth is what they would make in a year. Blocking starting slave for now because milk makes so much money, the estimation makes game start impossible.
 		return milked*52;
diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js
index 86eb4a8010566738bd4aaf05a2b61444c40da656..2423d1aefa96c75d89e8461af77ec27a89aa92ab 100644
--- a/src/js/slaveListing.js
+++ b/src/js/slaveListing.js
@@ -171,7 +171,7 @@ App.UI.SlaveList.render = function() {
 
 		if ((slave.choosesOwnClothes === 1) && (slave.clothes === "choosing her own clothes")) {
 			const _oldDevotion = slave.devotion;
-			saChoosesOwnClothes(slave);
+			App.SlaveAssignment.choosesOwnClothes(slave);
 			slave.devotion = _oldDevotion; /* restore devotion value so repeatedly changing clothes isn't an exploit */
 		}
 
diff --git a/src/js/storyJS.js b/src/js/storyJS.js
index 77dc9c3ed18754b9a09ea0405d5f45aa8359e963..c524f7e501ded380ba404dd1bc795375e5922da7 100644
--- a/src/js/storyJS.js
+++ b/src/js/storyJS.js
@@ -542,7 +542,7 @@ globalThis.printTrinkets = function() {
 			/* not supported
 				best in show ribbons
 				napkins
-				saPorn trinkets
+				App.SlaveAssignment.porn trinkets
 				wedding photos
 			*/
 			// should never have plurals
diff --git a/src/js/vignettes.js b/src/js/vignettes.js
index c68e8c72d9dab0c24df55c7801b3ea7430d78c8e..3d19e8f1e5fee3ad4db29ac1f665fe2aed97d952 100644
--- a/src/js/vignettes.js
+++ b/src/js/vignettes.js
@@ -3946,7 +3946,7 @@ globalThis.GetVignette = function(slave) {
 			type: "trust",
 			effect: -1,
 		});
-	} else if (slave.assignment === window.Job.HOUSE || slave.assignment === window.Job.SERVANT) {
+	} else if (slave.assignment === window.Job.HOUSE || slave.assignment === window.Job.QUARTER) {
 		if (slave.fetishKnown === 1) {
 			switch (slave.fetish) {
 				case "cumslut":
@@ -4151,7 +4151,7 @@ globalThis.GetVignette = function(slave) {
 			type: "health",
 			effect: -1,
 		});
-	} else if (slave.assignment === window.Job.NANNY || slave.assignment === window.Job.MATRON) {
+	} else if (slave.assignment === window.Job.NURSERY || slave.assignment === window.Job.MATRON) {
 		// TODO: add more vignettes here
 		vignettes.push({
 			text: `more vignettes are needed here,`,
diff --git a/src/uncategorized/arcadeReport.tw b/src/uncategorized/arcadeReport.tw
index c81e42beb3d4421775e8066d0fc0bc126254457c..83d8af3e60e2895c0d38e73302179bafd8de2f4f 100644
--- a/src/uncategorized/arcadeReport.tw
+++ b/src/uncategorized/arcadeReport.tw
@@ -76,11 +76,11 @@
 		<<else>>
 			is confined in $arcadeName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saWorkAGloryHole($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.workAGloryHole($slaves[$i])>>
 	<<else>>
 		<<silently>>
 			<<include "SA chooses own job">>
-			<<run saWorkAGloryHole($slaves[$i])>>
+			<<run App.SlaveAssignment.workAGloryHole($slaves[$i])>>
 		<</silently>>
 	<</if>>
 	<<if ($arcadeUpgradeCollectors > 0)>>
@@ -98,9 +98,9 @@
 		<<elseif ($slaves[$i].lactation > 0) || ($slaves[$i].balls > 0)>>
 			<<set _oldCash = $cash>>
 			<<if $showEWD != 0>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saGetMilked($slaves[$i])>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.getMilked($slaves[$i])>>
 			<<else>>
-				<<run saGetMilked($slaves[$i])>>
+				<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 			<</if>>
 			<<set _milkprofits += $cash-_oldCash>>
 			<<set _growth = 0>>
@@ -144,7 +144,7 @@
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
@@ -153,7 +153,7 @@
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index 1e6fa3ba0ab4b63abbd52360982e634eb4e8e208..b31a1b09d83819b1f41bb09223525eddc72fa219 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -158,9 +158,9 @@
 		<<setLocalPronouns $slaves[$i]>>
 		<<set _oldCash = $cash>>
 		<<if $showEWD != 0>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saWhore($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.whore($slaves[$i])>>
 		<<else>>
-			<<run saWhore($slaves[$i])>>
+			<<run App.SlaveAssignment.whore($slaves[$i])>>
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		$He whores $himself because $he doesn't have enough whores to manage to keep $him busy, and makes <span class="cash inc"><<print cashFormat($Madam.lastWeeksCashIncome)>>.</span> $He can charge more for $his time, since many citizens find it erotic to fuck the Madam.
@@ -192,23 +192,23 @@
 		/* 000-250-006 */
 		<span class="slave-name"><<= SlaveFullName($slaves[_FLs])>></span> is serving as the Madam.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -282,25 +282,25 @@
 			<<else>>
 				is working out of $brothelName.
 			<</if>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saWhore($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.whore($slaves[$i])>>
 			<br>&nbsp;&nbsp;&nbsp;
-			<<= saChoosesOwnClothes($slaves[$i])>>
+			<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<= saDrugs($slaves[$i])>>
+			<<= App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<br><<include "SA devotion">>
 		<<else>>
 			<<silently>>
 			<<include "SA chooses own job">>
-			<<run saWhore($slaves[$i])>>
-			<<run saChoosesOwnClothes($slaves[$i])>>
+			<<run App.SlaveAssignment.whore($slaves[$i])>>
+			<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<run saDrugs($slaves[$i])>>
+			<<run App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<<include "SA devotion">>
diff --git a/src/uncategorized/cellblockReport.tw b/src/uncategorized/cellblockReport.tw
index 215ced49ecf477c11db116ffed040ad8dd0e0a91..a87bcbe9e955b20ea61e8bc51809311678215d5a 100644
--- a/src/uncategorized/cellblockReport.tw
+++ b/src/uncategorized/cellblockReport.tw
@@ -136,23 +136,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[$i])>></span> is serving as the Wardeness in $cellblockName.
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -260,23 +260,23 @@
 		<<else>>
 			is confined in $cellblockName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saStayConfined($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.stayConfined($slaves[$i])>>
 		<br>&nbsp;&nbsp;&nbsp;
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<run saStayConfined($slaves[$i])>>
+		<<run App.SlaveAssignment.stayConfined($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw
index bfcaff902d4ce51d5579bc92846ff0ab23b67850..81d162a7377a4412934715f73ec48932be7bedc4 100644
--- a/src/uncategorized/clinicReport.tw
+++ b/src/uncategorized/clinicReport.tw
@@ -208,23 +208,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[_FLs])>></span> is serving as the clinical nurse.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -338,7 +338,7 @@
 		<<else>>
 			is receiving treatment in $clinicName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saRest($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.rest($slaves[$i])>>
 		<<if ($slaves[$i].health.illness > 0)>>
 			$He stays in the clinic since $he is still sick.
 		<<elseif ($slaves[$i].health.condition <= 40)>>
@@ -355,23 +355,23 @@
 			$He stays in the clinic waiting for the child to be born.
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<run saRest($slaves[$i])>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.rest($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index 0e55e1f72c636448d9e80ba1eb32fe55858901c0..3e4830ffcc559db9f55e0f79c8b69360f3989c2d 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -93,9 +93,9 @@
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Since $he doesn't have enough sluts in $clubName to make it worthwhile for $him to be on stage 24/7, $he spends $his extra time slutting it up $himself. $He has sex with $slaves[$i].sexAmount citizens, @@.green;pleasing them immensely,@@ since it's more appealing to fuck the DJ than some club slut.
 		<<if $showEWD != 0>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saServeThePublic($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.serveThePublic($slaves[$i])>>
 		<<else>>
-			<<run saServeThePublic($slaves[$i])>>
+			<<run App.SlaveAssignment.serveThePublic($slaves[$i])>>
 		<</if>>
 	<</if>>
 	<<if (_DL > 0)>><br><br><</if>>
@@ -119,23 +119,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[_FLs])>></span> is performing as the DJ in $clubName.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -195,25 +195,25 @@
 			<<else>>
 				is serving in $clubName.
 			<</if>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saServeThePublic($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.serveThePublic($slaves[$i])>>
 			<br>&nbsp;&nbsp;&nbsp;
-			<<= saChoosesOwnClothes($slaves[$i])>>
+			<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<= saDrugs($slaves[$i])>>
+			<<= App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<br><<include "SA devotion">>
 		<<else>>
 			<<silently>>
 			<<include "SA chooses own job">>
-			<<run saServeThePublic($slaves[$i])>>
-			<<run saChoosesOwnClothes($slaves[$i])>>
+			<<run App.SlaveAssignment.serveThePublic($slaves[$i])>>
+			<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<run saDrugs($slaves[$i])>>
+			<<run App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<<include "SA devotion">>
diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw
index a0e7cca8880e2d3e37edc24ce2fb586a6cdebe54..7481e8a2993a5674152e1d566ab0eb4f06196905 100644
--- a/src/uncategorized/dairyReport.tw
+++ b/src/uncategorized/dairyReport.tw
@@ -287,23 +287,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[_FLs])>></span> is serving as your Milkmaid.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -394,23 +394,23 @@
 		<<else>>
 			is serving as a cow in $dairyName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saGetMilked($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.getMilked($slaves[$i])>>
 		<br>&nbsp;&nbsp;&nbsp;
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<run saGetMilked($slaves[$i])>>
+		<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
diff --git a/src/uncategorized/fullReport.tw b/src/uncategorized/fullReport.tw
index 8475415180e5d62b72a00939501863455a40a281..d70e4eafe05ce39dab94d9f849d702db329b88fd 100644
--- a/src/uncategorized/fullReport.tw
+++ b/src/uncategorized/fullReport.tw
@@ -12,35 +12,35 @@
 
 <<switch $slaves[$i].assignment>>
 <<case "rest">>
-	<<= saRest($slaves[$i])>>
+	<<= App.SlaveAssignment.rest($slaves[$i])>>
 <<case "whore">>
-	<<= saWhore($slaves[$i])>>
+	<<= App.SlaveAssignment.whore($slaves[$i])>>
 <<case "serve the public">>
-	<<= saServeThePublic($slaves[$i])>>
+	<<= App.SlaveAssignment.serveThePublic($slaves[$i])>>
 <<case "work a glory hole">>
-	<<= saWorkAGloryHole($slaves[$i])>>
+	<<= App.SlaveAssignment.workAGloryHole($slaves[$i])>>
 <<case "get milked">>
 	<<set $servantMilkersMultiplier = 1>>
-	<<= saGetMilked($slaves[$i])>>
+	<<= App.SlaveAssignment.getMilked($slaves[$i])>>
 <<case "take classes">>
-	<<= saTakeClasses($slaves[$i])>>
+	<<= App.SlaveAssignment.takeClasses($slaves[$i])>>
 <<case "please you">>
-	<<= saPleaseYou($slaves[$i])>>
+	<<= App.SlaveAssignment.pleaseYou($slaves[$i])>>
 <<case "be a subordinate slave">>
 	<<include "SA serve your other slaves">>
 <<case "be a servant">>
-	<<= saServant($slaves[$i])>>
+	<<= App.SlaveAssignment.servant($slaves[$i])>>
 <<case "stay confined">>
-	<<= saStayConfined($slaves[$i])>>
+	<<= App.SlaveAssignment.stayConfined($slaves[$i])>>
 <<case "guard you">>
-	<<= saGuardYou($slaves[$i])>>
+	<<= App.SlaveAssignment.guardYou($slaves[$i])>>
 <<case "be your Head Girl">>
-	<<= saBeYourHeadGirl($slaves[$i])>>
+	<<= App.SlaveAssignment.beYourHeadGirl($slaves[$i])>>
 <<case "recruit girls">>
 	<<include "SA recruit girls">>
 <<default>>
 	<<= removeJob($slaves[$i], $slaves[$i].assignment)>>
-	<<= saRest($slaves[$i])>>
+	<<= App.SlaveAssignment.rest($slaves[$i])>>
 <</switch>>
 
 <<if $servantMilkers == 1 && $slaves[$i].lactation > 0 && $slaves[$i].assignment != "get milked">>
@@ -52,7 +52,7 @@
 		keeps $him busy, but $he <<if $slaves[$i].devotion > 20>><<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses<<elseif $slaves[$i].devotion >= -20>>is required to use<<else>>is forced to use<</if>> the penthouse milkers whenever $he can,
 		<<set $servantMilkersMultiplier = 0.25>>
 	<</if>>
-	<<run saGetMilked($slaves[$i])>>
+	<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 	<<set $servantMilkersMultiplier = 1>>
 	and $he gives $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 <</if>>
@@ -65,19 +65,19 @@
 <<if $showEWD == 0>>
 	<<silently>>
 	<<include "SA rules">>
-	<<run saChoosesOwnClothes($slaves[$i])>>
+	<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 	<<include "SA diet">>
 	<<include "SA long term effects">>
-	<<run saDrugs($slaves[$i])>>
+	<<run App.SlaveAssignment.drugs($slaves[$i])>>
 	<<include "SA relationships">>
 	<<include "SA rivalries">>
 	<</silently>>
 <<else>>
 	<<include "SA rules">>
-	<<= saChoosesOwnClothes($slaves[$i])>>
+	<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 	<<include "SA diet">>
 	<<include "SA long term effects">>
-	<<= saDrugs($slaves[$i])>>
+	<<= App.SlaveAssignment.drugs($slaves[$i])>>
 	<<include "SA relationships">>
 	<<include "SA rivalries">>
 	<br>
@@ -97,4 +97,4 @@
 	<</if>>
 <</for>>
 
-<<include "SA devotion">>
\ No newline at end of file
+<<include "SA devotion">>
diff --git a/src/uncategorized/masterSuiteReport.tw b/src/uncategorized/masterSuiteReport.tw
index e3750fea6358aa0644fd8729ec945fb0b5347ace..ec5643d19685793048b99a04357f8b22395b2345 100644
--- a/src/uncategorized/masterSuiteReport.tw
+++ b/src/uncategorized/masterSuiteReport.tw
@@ -364,38 +364,38 @@
 		<</if>>
 
 		<<if $verboseDescriptions == 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saPleaseYou($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.pleaseYou($slaves[$i])>>
 			<br>&nbsp;&nbsp;&nbsp;
 			<<if $servantMilkers == 1 && $slaves[$i].lactation > 0 && $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken" && canWalk($slaves[$i]) && $slaves[$i].intelligence+$slaves[$i].intelligenceImplant >= -90>>
 				When $his breasts begin to feel full and you aren't around, $he avails $himself to the penthouse milkers and
 				<<set $servantMilkersMultiplier = 0.25>>
-				<<run saGetMilked($slaves[$i])>>
+				<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 				<<set $servantMilkersMultiplier = 1>>
 				gives $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 			<</if>>
 			<br>&nbsp;&nbsp;&nbsp;
-			<<= saChoosesOwnClothes($slaves[$i])>>
+			<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<= saDrugs($slaves[$i])>>
+			<<= App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<br><<include "SA devotion">>
 		<<else>>
 			<<silently>>
 			<<include "SA chooses own job">>
-			<<run saPleaseYou($slaves[$i])>>
+			<<run App.SlaveAssignment.pleaseYou($slaves[$i])>>
 			<<if $servantMilkers == 1 && $slaves[$i].lactation > 0 && $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken" && canWalk($slaves[$i]) && $slaves[$i].intelligence+$slaves[$i].intelligenceImplant >= -90>>
 				<<set $servantMilkersMultiplier = 0.25>>
-				<<run saGetMilked($slaves[$i])>>
+				<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 				<<set $servantMilkersMultiplier = 1>>
 			<</if>>
-			<<run saChoosesOwnClothes($slaves[$i])>>
+			<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
 			<<include "SA long term effects">>
-			<<run saDrugs($slaves[$i])>>
+			<<run App.SlaveAssignment.drugs($slaves[$i])>>
 			<<include "SA relationships">>
 			<<include "SA rivalries">>
 			<<include "SA devotion">>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 40ae73f8365aa30e0c95d29bc289bfb4b657c8de..3fe8dfad4dc104f5565bae2a8b01f05225ec2483 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -1032,21 +1032,21 @@
 
 <<if $showEWD == 0>>
 	<<silently>>
-	/*<<run saChoosesOwnClothes($slaves[$i])>>*/
+	/*<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>*/
 	<<include "SA rules">>
 	<<include "SA diet">>
 	<<include "SA long term effects">>
-	<<run saDrugs($slaves[$i])>>
+	<<run App.SlaveAssignment.drugs($slaves[$i])>>
 	<<include "SA relationships">>
 	<<include "SA rivalries">>
 	<<include "SA devotion">>
 	<</silently>>
 <<else>>
-	/*<<= saChoosesOwnClothes($slaves[$i])>>*/
+	/*<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>*/
 	<<include "SA rules">>
 	<<include "SA diet">>
 	<<include "SA long term effects">>
-	<<= saDrugs($slaves[$i])>>
+	<<= App.SlaveAssignment.drugs($slaves[$i])>>
 	<<include "SA relationships">>
 	<<include "SA rivalries">>
 	<br><<include "SA devotion">>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 7ba787f86746d0a750ab65cdb6607e4ff3464d89..4c9e438447c02007f01f987cb9602d1f32822b8e 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -121,7 +121,7 @@
 <</if>>
 
 /* CLOTHES AND ACCESSORIES */
-<<= saClothes($slaves[$i], _fetishChangeChance)>>
+<<= App.SlaveAssignment.clothes($slaves[$i], _fetishChangeChance)>>
 
 <<if $slaves[$i].fetish == "mindbroken">>
 	<<set $slaves[$i].fetishStrength = 10, $slaves[$i].attrXY = 50, $slaves[$i].attrXX = 50, $slaves[$i].attrKnown = 1, $slaves[$i].devotion = 40, $slaves[$i].trust = -40, $slaves[$i].skill.vaginal = Math.clamp($slaves[$i].skill.vaginal,0,15), $slaves[$i].skill.oral = Math.clamp($slaves[$i].skill.oral,0,15), $slaves[$i].skill.anal = Math.clamp($slaves[$i].skill.anal,0,15), $slaves[$i].skill.combat = 0, $slaves[$i].skill.whoring = 0, $slaves[$i].skill.entertainment = 0, $slaves[$i].intelligence = -75, $slaves[$i].intelligenceImplant = 0, $slaves[$i].sexualFlaw = "none", $slaves[$i].sexualQuirk = "none", $slaves[$i].behavioralFlaw = "none", $slaves[$i].behavioralQuirk = "none">>
@@ -3483,7 +3483,7 @@
 	<</if>>
 <</if>>
 <<if $slaves[$i].drugs != "hormone blockers">>
-	<<= saHormonesEffects($slaves[$i])>>
+	<<= App.SlaveAssignment.hormonesEffects($slaves[$i])>>
 <<elseif $slaves[$i].drugs == "hormone blockers">>
 	The hormone blockers $he is on suppress $his hormones, natural or not.
 	<<if $slaves[$i].energy > 20>>
@@ -5128,7 +5128,7 @@
 
 <<if $slaves[$i].bellyFluid >= 1500>> /* PREGMOD: NOT PREGNANT, YES INFLATION */
 
-	<<= saInflation($slaves[$i])>>
+	<<= App.SlaveAssignment.inflation($slaves[$i])>>
 
 	<<if setup.fakeBellies.includes(_bellyAccessory)>>
 		$He has trouble keeping $himself full of
@@ -9009,7 +9009,7 @@
 	<<run repX((250*$slaves[$i].prestige), "prestigiousSlave", $slaves[$i])>>
 <</if>>
 
-/* saPorn */
+/* App.SlaveAssignment.porn */
 <<if $slaves[$i].porn.prestige == 3>>
 	$He is the whore people envision when they think of $slaves[$i].porn.fameType porn. $His omnipresence on the internet @@.green;boosts $his owner's reputation.@@
 	<<run repX((750*$slaves[$i].porn.prestige), "porn", $slaves[$i])>>
@@ -9019,7 +9019,7 @@
 		<<run cashX(_donations, "porn", $slaves[$i])>>
 	<</if>>
 <<elseif $slaves[$i].porn.feed > 0>>
-	<<= saPorn($slaves[$i])>>
+	<<= App.SlaveAssignment.porn($slaves[$i])>>
 <</if>>
 
 <<if $seeAge != 0>>
diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw
index ab845cf34c5c5dd39f7c21155c437de0f7aded64..be0d644b809f2e846ebf9dda0ec50403e83b743d 100644
--- a/src/uncategorized/saRecruitGirls.tw
+++ b/src/uncategorized/saRecruitGirls.tw
@@ -62,7 +62,7 @@
 		acts as a sexual Ambassador to $arcologies[_j].name, which mostly means that $he travels there in $his official capacity and has culturally influential sex with its leading citizens.
 
 		<<set _oldRepGain = hashSum($lastWeeksRepIncome)>>
-		<<run saServeThePublic($slaves[$i])>>
+		<<run App.SlaveAssignment.serveThePublic($slaves[$i])>>
 		<<set _influence = Math.clamp((hashSum($lastWeeksRepIncome)-_oldRepGain)*0.01, 1 ,3+$recruiterIOUs)>>
 		<<set $recruiterIOUs = 0>>
 
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 522ab6de08b2ef2f63ff561588484f35bba5d6ce..b80a36ea620740d8e18eb0455ef2911c07a4d136 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -160,7 +160,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -751,7 +751,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -1311,7 +1311,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -1717,7 +1717,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -2041,7 +2041,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -2578,7 +2578,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -3132,7 +3132,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -3663,7 +3663,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
@@ -4194,7 +4194,7 @@
 			<<elseif $slaves[$i].rules.lactation == "maintain">>
 				$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses milkers whenever $he can,
 				<<set $servantMilkersMultiplier = 0.75>>
-				<<run saGetMilked($slaves[$i])>>
+				<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 				<<set $servantMilkersMultiplier = 1>>
 				giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 			<</if>>
@@ -4781,7 +4781,7 @@
 				<<if $servantMilkers == 1>>
 					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
 					<<set $servantMilkersMultiplier = 0.25>>
-					<<run saGetMilked($slaves[$i])>>
+					<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 					<<set $servantMilkersMultiplier = 1>>
 					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 				<<else>>
diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw
index ee0525e681493b9e844dda29d3a27b3a2018d2cb..c778ddf545888b762602090dca7322d4c6999157 100644
--- a/src/uncategorized/schoolroomReport.tw
+++ b/src/uncategorized/schoolroomReport.tw
@@ -117,23 +117,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'>$slaves[_FLs].slaveName</span> is serving as your Schoolteacher.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -225,25 +225,25 @@
 		<<else>>
 			is studying in $schoolroomName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saTakeClasses($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.takeClasses($slaves[$i])>>
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<run saTakeClasses($slaves[$i])>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.takeClasses($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
diff --git a/src/uncategorized/servantsQuartersReport.tw b/src/uncategorized/servantsQuartersReport.tw
index 20e0066dfdeb5dd2ea5e1fb9d25361f4fe29e09a..3c1a565c48d862d00ae31f86bd56966a74ddf5de 100644
--- a/src/uncategorized/servantsQuartersReport.tw
+++ b/src/uncategorized/servantsQuartersReport.tw
@@ -190,23 +190,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[_FLs])>></span> is serving as your Stewardess.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -282,33 +282,33 @@
 		<<else>>
 			is working out of $servantsQuartersName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;_He2 <<= saServant($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;_He2 <<= App.SlaveAssignment.servant($slaves[$i])>>
 		<<if ($servantMilkers == 1) && ($slaves[$i].lactation > 0)>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;_He2 <<= saGetMilked($slaves[$i])>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;_He2 <<= App.SlaveAssignment.getMilked($slaves[$i])>>
 			<<set _SQMilk += $milk, _SQMilkSale += $milkSale>>
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<run saServant($slaves[$i])>>
+		<<run App.SlaveAssignment.servant($slaves[$i])>>
 		<<if ($servantMilkers == 1) && ($slaves[$i].lactation > 0)>>
-			<<run saGetMilked($slaves[$i])>>
+			<<run App.SlaveAssignment.getMilked($slaves[$i])>>
 			<<set _SQMilk += $milk, _SQMilkSale += $milkSale>>
 		<</if>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
diff --git a/src/uncategorized/spaReport.tw b/src/uncategorized/spaReport.tw
index 943ee0c4ff005866cd4cad908f4e12ab08e9f757..8fc24f3787f51c90b5873ed51e6f82aa88192f69 100644
--- a/src/uncategorized/spaReport.tw
+++ b/src/uncategorized/spaReport.tw
@@ -231,23 +231,23 @@
 		/* 000-250-006 */
 		<span class='slave-name'><<= SlaveFullName($slaves[$i])>></span> is serving as the Attendant in $spaName.
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
-		<<run saChoosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<run tired($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>
@@ -328,7 +328,7 @@
 		<<else>>
 			is resting in $spaName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saRest($slaves[$i])>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= App.SlaveAssignment.rest($slaves[$i])>>
 		<<if ($slaves[$i].fetish == "mindbroken")>>
 			$He remains in the Spa, completely mindbroken.
 		<<elseif($slaves[$i].sexualFlaw != "none") || ($slaves[$i].behavioralFlaw != "none")>>
@@ -339,23 +339,23 @@
 			$He remains in the Spa, as $he is benefiting from its healing properties.
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
+		<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<= saDrugs($slaves[$i])>>
+		<<= App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<br><<include "SA devotion">>
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<run saChoosesOwnClothes($slaves[$i])>>
-		<<run saRest($slaves[$i])>>
+		<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
+		<<run App.SlaveAssignment.rest($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>
-		<<run saDrugs($slaves[$i])>>
+		<<run App.SlaveAssignment.drugs($slaves[$i])>>
 		<<include "SA relationships">>
 		<<include "SA rivalries">>
 		<<include "SA devotion">>