diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 2048e4838e1e1a5f946b7c1ead1dc4fddac9f898..736fc4b7423e169a682dd97a89c0b85a16beb2ab 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -198,203 +198,128 @@ window.calculateCosts = (function() {
 		*/
 		// Find the total slave upkeep, calculate and subtract per assignment
 		for (const slave of V.slaves) {
+			slaveCost = getSlaveCost(slave);
+			loopCosts += slaveCost;
+			// Switch to subtract and track upkeep per assignment
 			switch (slave.assignment) {
 				// Penthouse Assignments
 				case Job.REST:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepRest", slave);
 					break;
 				case Job.FUCKTOY:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepFucktoy", slave);
 					break;
 				case Job.CLASSES:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepClasses", slave);
 					break;
 				case Job.SERVER:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepServer", slave);
 					break;
 				case Job.WHORE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepWhore", slave);
 					break;	
 				case Job.PUBLIC:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepPublic", slave);
 					break;
 				case Job.SUBORDINATE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepSubordinate", slave);
 					break;
 				case Job.MILKED:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepMilked", slave);
 					break;
 				case Job.GLORYHOLE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepGloryhole", slave);
 					break;
 				case Job.CONFINEMENT:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepConfinement", slave);
 					break;
 				// Leadership Assignments
 				case Job.BODYGUARD:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepBodyguard", slave);
 					break;
 				case Job.HEADGIRL:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepHeadgirl", slave);
 					break;
 				case Job.RECRUITER:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepRecruiter", slave);
 					break;
 				// Facility Assignments
 				case Job.ARCADE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepArcade", slave);
 					break;
 				case Job.MADAM:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepMadam", slave);
 					break;
 				case Job.BROTHEL:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepBrothel", slave);
 					break;
 				case Job.WARDEN:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepWarden", slave);
 					break;
 				case Job.JAIL:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepJail", slave);
 					break;
 				case Job.DJ:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepDj", slave);
 					break;
 				case Job.CLUB:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepClub", slave);
 					break;
 				case Job.NURSE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepNurse", slave);
 					break;
 				case Job.CLINIC:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepClinic", slave);
 					break;
 				case Job.MILKMAID:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepMilkmaid", slave);
 					break;
 				case Job.DAIRY:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepDairy", slave);
 					break;		
 				case Job.FARMER:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepFarmer", slave);
 					break;
 				case Job.FARMYARD:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepFarmyard", slave);
 					break;
 				case Job.HGTOY:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepHgtoy", slave);
 					break;
 				case Job.CONCUBINE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepConcubine", slave);
 					break;
 				case Job.MASTER_SUITE:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepMaster_suite", slave);
 					break;
 				case Job.MATRON:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepMatron", slave);
 					break;
 				case Job.NANNY:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepNanny", slave);
 					break;
 				case Job.TEACHER:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepTeacher", slave);
 					break;
 				case Job.SCHOOL:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepSchool", slave);
 					break;
 				case Job.STEWARD:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepSteward", slave);
 					break;
 				case Job.SERVANT:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepServant", slave);
 					break;
 				case Job.ATTEND:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepAttend", slave);
 					break;
 				case Job.SPA:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepSpa", slave);
 					break;
 				case Job.BABY_FACTORY:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepBaby_factory", slave);
 					break;				
 				default:
-					slaveCost = getSlaveCost(slave);
-					loopCosts += slaveCost;
 					cashX(forceNeg(slaveCost), "slaveUpkeepUndefined", slave);
 					break;
 			}