diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js
new file mode 100644
index 0000000000000000000000000000000000000000..42e3dd510dee35d7f52945a7d95676c1ab29a7bc
--- /dev/null
+++ b/src/endWeek/saTakeClasses.js
@@ -0,0 +1,403 @@
+window.saTakeClasses = (function saServeThePublic() {
+	"use strict";
+
+	let r;
+
+	let he, him, his, hers, himself, girl, loli, He, His;
+
+	let learning;
+	let teaching;
+
+	return saTakeClasses;
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @returns {string}
+	 */
+	function saTakeClasses(slave) {
+		r = ` `;
+		learning = 1;
+		teaching = 0;
+		({
+			he, him, his, hers, himself, girl, He, His, loli
+		} = getPronouns(slave));
+
+		jobPreface(slave);
+		if (slave.fetish !== "mindbroken") {
+			learningDisability(slave);
+			learningProgress(slave);
+			if (slave.lactation > 0) {
+				lactationBreak(slave);
+			}
+			skillLessons(slave);
+			generalLessons(slave);
+			if (slave.accent > 1 && slave.voice !== 0) {
+				speechLessons(slave);
+			}
+			graduation(slave);
+		}
+		return r;
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function jobPreface(slave) {
+		if (slave.fetish === "mindbroken") {
+			r += `is no longer mentally capable and <span class="yellow">has been dropped from class.</span>`;
+			if (slave.assignment === "take classes") {
+				removeJob(slave, "take classes");
+			}
+		} else {
+			r += `takes courses in slavery`;
+			if (V.schoolroomUpgradeSkills + V.schoolroomUpgradeRemedial + V.schoolroomUpgradeLanguage !== 0) {
+				r += `, using ${V.schoolroomName}'s improved educational materials,`;
+			}
+			if (slave.assignment === "learn in the schoolroom" && V.Schoolteacher !== 0) {
+				const schoolteacherPronouns = getPronouns(V.Schoolteacher);
+				teaching = (V.Schoolteacher.intelligence + V.Schoolteacher.intelligenceImplant);
+				if (V.Schoolteacher.visualAge > 35) {
+					teaching += 10;
+				}
+				if (setup.schoolteacherCareers.includes(V.Schoolteacher.career)) {
+					teaching += 10;
+				}
+				if (V.Schoolteacher.face > 40) {
+					teaching += 10;
+				}
+				if (jsRandom(1, 150) < teaching) {
+					learning += 1;
+				}
+				r += ` under ${V.Schoolteacher.slaveName}'s supervision;`;
+				if (slave.devotion > 20) {
+					r += ` ${he} is such an obedient slave that ${schoolteacherPronouns.pronoun} <span class="hotpink">encourages ${him}</span> to be the best slave ${he} can.`;
+					slave.devotion += 2;
+				} else if (slave.trust < -20) {
+					r += ` ${he} obeys out of fear, so ${schoolteacherPronouns.pronoun} <span class="hotpink">encourages ${him}</span> to be a better slave.`;
+					slave.devotion++;
+				} else {
+					r += ` ${he} is resistant, so ${schoolteacherPronouns.pronoun} ends up mostly <span class="gold">punishing ${him},</span> increasing ${his} <span class="mediumorchid">dislike for slavery.</span>`;
+					slave.devotion -= 2;
+					slave.trust -= 4;
+				}
+			} else {
+				r += ` under ${V.assistantName}'s supervision;`;
+				if (slave.devotion > 20) {
+					r += ` ${he} is such an obedient slave that ${V.assistantName} mostly <span class="hotpink">encourages ${him}.</span>`;
+					slave.devotion += 2;
+				} else if (slave.trust < -20) {
+					r += ` ${he} obeys out of fear, so ${V.assistantName} mostly <span class="hotpink">encourages ${him}</span> to be a better slave.`;
+					slave.devotion++;
+				} else {
+					r += ` ${he} is resistant, so ${V.assistantName} mostly <span class="gold">punishes ${him},</span> increasing ${his} <span class="mediumorchid">dislike for slavery.</span>`;
+					slave.devotion -= 2;
+					slave.trust -= 4;
+				}
+			}
+		}
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function learningDisability(slave) {
+		if (!canHear(slave) && !canSee(slave)) {
+			r += ` With ${his} inability to hear and see, absorbing the content is extremely difficult.`;
+			learning -= 3;
+		} else if (!canHear(slave) || !canSee(slave)) {
+			r += ` With ${his} impairments, ${he} needs special lessons to properly learn.`;
+			learning -= 1;
+		}
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function learningProgress(slave) {
+		if (V.schoolroomRemodelBimbo !== 1 || slave.assignment !== "learn in the schoolroom") {
+			if (slave.intelligence > 95) {
+				learning += 2;
+			} else if (slave.intelligence > 50) {
+				learning++;
+			} else if (slave.intelligence > 15) {
+				if (jsRandom(1, 100) < 70) {
+					learning++;
+				}
+			} else if (slave.intelligence >= -15) {
+				if (jsRandom(1, 100) < 50) {
+					learning++;
+				}
+			} else {
+				let slaveDensity = (50 + slave.intelligence);
+				if (V.schoolroomUpgradeRemedial === 1 && jsRandom(1, 100) < 50) {
+					slaveDensity = 55;
+				}
+				if (jsRandom(1, 100) > slaveDensity) {
+					learning++;
+				}
+			}
+		} else {
+			if (slave.intelligence < -95) {
+				learning += 2;
+			} else if (slave.intelligence < -50) {
+				learning++;
+			} else if (slave.intelligence < -15) {
+				if (jsRandom(1, 100) < 70) {
+					learning++;
+				}
+			} else if (slave.intelligence > 15) {
+				if (jsRandom(1, 100) < 50) {
+					learning++;
+				}
+			} else {
+				let slaveDensity = (-10 + slave.intelligence);
+				if (V.schoolroomUpgradeRemedial === 1 && jsRandom(1, 100) < 50) {
+					slaveDensity = 55;
+				}
+				if (jsRandom(1, 100) < slaveDensity) {
+					learning++;
+				}
+			}
+		}
+		r += ` ${He} is `;
+		if (slave.intelligence > 95) {
+			r += `a genius,`;
+		} else if (slave.intelligence > 50) {
+			r += `highly intelligent`;
+		} else if (slave.intelligence > 15) {
+			r += `of above average intelligence`;
+		} else if (slave.intelligence >= -15) {
+			r += `of average intelligence`;
+		} else if (slave.intelligence >= -50) {
+			r += `of below average intelligence`;
+		} else if (slave.intelligence >= -95) {
+			r += `quite stupid`;
+		} else {
+			r += `an imbecile,`;
+		}
+		if (slave.devotion > 95) {
+			r += ` and worshipful of you,`;
+			learning++;
+		} else if (slave.devotion > 50) {
+			r += ` and devoted to you,`;
+			if (jsRandom(1, 100) < 70) {
+				learning++;
+			}
+		} else if (slave.devotion > 20) {
+			r += ` and obedient to you,`;
+			if (jsRandom(1, 100) < 50) {
+				learning++;
+			}
+		} else if (slave.trust < -20) {
+			r += ` and frightened of you,`;
+			if (jsRandom(1, 100) < 40) {
+				learning++;
+			}
+		} else {
+			r += ` and neither likes you nor is afraid of you,`;
+		}
+		r += ` and ${he} `;
+		if (V.schoolroomRemodelBimbo !== 1 || slave.assignment !== "learn in the schoolroom") {
+			if (learning <= 1) {
+				r += `learns slowly`;
+			} else if (learning === 2) {
+				r += `does well with ${his} studies`;
+			} else {
+				r += `is perfectly studious`;
+			}
+		} else {
+			if (learning <= 1) {
+				r += `struggles with the lessons`;
+			} else if (learning === 2) {
+				r += `makes progress with the materials`;
+			} else {
+				r += `breezes through ${his} lessons`;
+			}
+		}
+		r += ` this week.`;
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function lactationBreak(slave) {
+		// room for growth — do so during lactation rules expansion
+		if (slave.lactation === 1 && slave.assignment === "learn in the schoolroom" && V.Schoolteacher !== 0 && hasAnyArms(V.Schoolteacher)) {
+			r += ` With ${his} natural lactation, ${he} often finds ${himself} milked before the class by ${Schoolteacher.slaveName} both to serve as a lesson and to keep ${him} from becoming a milky mess.`;
+			slave.lactationDuration = 2;
+			slave.boobs -= slave.boobsMilk;
+			slave.boobsMilk = 0;
+		}
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function skillLessons(slave) {
+		let undevoted = 0; // forces an obediance lesson to replace the first skill lesson
+		let skillIncrease = 0;
+		if (V.schoolroomRemodelBimbo !== 1 || slave.assignment !== "learn in the schoolroom") {
+			skillIncrease = (10 + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32));
+		} else {
+			skillIncrease = (10 + (Math.abs(Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))));
+		}
+		for (let lessons = 0; lessons < learning; lessons++) {
+			if (slave.devotion <= 20 && undevoted === 0) {
+				r += ` Since ${he} is wanting in basic obedience, ${he} suffers through courses on <span class="hotpink">$his place</span> in the Free Cities world.`;
+				slave.devotion += 10;
+				undevoted++;
+			} else if (slave.skill.oral <= 10) {
+				r += ` Since ${he} is orally incompetent, ${he} is taught basic gag reflex suppression exercises and other simple oral things.`;
+				r += ` ${SkillIncrease.Oral(slave, skillIncrease)}`;
+			} else if (slave.skill.vaginal <= 10 && slave.vagina > 0 && canDoVaginal(slave)) {
+				r += ` Since ${he} is unskilled at using ${his} pussy, ${he} is taught Kegel exercises and other simple vaginal skills.`;
+				r += ` ${SkillIncrease.Vaginal(slave, skillIncrease)}`;
+			} else if (slave.skill.vaginal <= 10 && slave.vagina >= 0) {
+				r += ` Since ${he} is unskilled at using ${his} pussy and not permitted to learn through practice, ${he} is taught Kegel exercises, vaginal basics and several new positions.`;
+				r += ` ${SkillIncrease.Vaginal(slave, skillIncrease)}`;
+			} else if (slave.skill.anal <= 10 && slave.anus > 0 && canDoAnal(slave)) {
+				r += ` Since ${he} is a novice at taking it up ${his} butt, ${he} is taught relaxation exercises and other simple anal basics.`;
+				r += ` ${SkillIncrease.Anal(slave, skillIncrease)}`;
+			} else if (slave.skill.anal <= 10 && slave.anus >= 0) {
+				r += ` Since ${he} is a novice at taking it up ${his} butt and not permitted to learn through practice, ${he} is taught relaxation exercises and other simple anal basics.`;
+				r += ` ${SkillIncrease.Anal(slave, skillIncrease)}`;
+			} else if (slave.skill.whoring <= 10) {
+				r += ` Since ${he} has little idea what's involved in selling ${his} body, ${he} is taught basic safety practices and other simple prostitution skills.`;
+				r += ` ${SkillIncrease.Whore(slave, skillIncrease)}`;
+			} else if (slave.skill.entertainment <= 10) {
+				r += ` Since ${his} entertainment value is limited to ${his} holes, ${he} is taught simple conversational skills and other courtesan's essentials.`;
+				r += ` ${SkillIncrease.Entertain(slave, skillIncrease)}`;
+			} else if (V.schoolroomUpgradeSkills === 1) {
+				if (slave.skill.oral <= 30) {
+					r += ` Having completed the basic sex slave curriculum, ${he} studies more advanced ways to use ${his} lips and tongue to please cocks, cunts, and asses.`;
+					r += ` ${SkillIncrease.Oral(slave, skillIncrease)}`;
+				} else if (slave.skill.whoring <= 30) {
+					r += ` Having completed the basic sex slave curriculum, ${he} studies intermediate prostitution, including how to stay as safe as possible and maximize ${his} efficiency.`;
+					r += ` ${SkillIncrease.Whore(slave, skillIncrease)}`;
+				} else if (slave.skill.entertainment <= 30) {
+					r += ` Having completed the basic sex slave curriculum, ${he} studies courtesanship, including social dynamics and flirtation more subtle than straightforward begging for sex.`;
+					r += ` ${SkillIncrease.Entertain(slave, skillIncrease)}`;
+				} else if (slave.skill.vaginal <= 30 && slave.vagina >= 0) {
+					r += ` Having completed the basic sex slave curriculum, ${he} studies more advanced techniques and exotic positions to make use of ${his} `;
+					if (slave.vagina === 0) {
+						r += `virgin pussy for use in ${his} first time.`;
+					} else {
+						r += `pussy.`;
+					}
+					r += ` ${SkillIncrease.Vaginal(slave, skillIncrease)}`;
+				} else if (slave.skill.anal <= 30) {
+					r += ` Having completed the basic sex slave curriculum, ${he} studies more advanced techniques and exotic positions to make use of ${his} `;
+					if (slave.anus === 0) {
+						r += `virgin ass for use in ${his} first time.`;
+					} else {
+						r += `ass.`;
+					}
+					r += ` ${SkillIncrease.Anal(slave, skillIncrease)}`;
+				}
+			}
+		}
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function generalLessons(slave) {
+		if (slave.intelligenceImplant > -15 && V.schoolroomRemodelBimbo === 1 && slave.assignment === "learn in the schoolroom") {
+			r += ` ${He} makes some progress `;
+			if (slave.intelligenceImplant < 0) {
+				r += `towards ${his} special education.`;
+			} else {
+				r += `in undoing ${his} education.`;
+			}
+			slave.intelligenceImplant -= Math.max(1, learning);
+			if (slave.intelligenceImplant <= -15) {
+				slave.intelligenceImplant = -15;
+				r += ` ${He} has completed ${his} special education, and for most purposes ${he} has become <span class="orangered">less intelligent.</span>`;
+			}
+		} else if (slave.intelligenceImplant < 30 && slave.assignment === "learn in the schoolroom") {
+			r += ` ${He} makes some progress `;
+			if (slave.intelligenceImplant < 15) {
+				r += `towards a basic education.`;
+			} else {
+				r += `in furthering ${his} education.`;
+			}
+			slave.intelligenceImplant += Math.max(1, learning);
+			if (slave.intelligenceImplant >= 30) {
+				slave.intelligenceImplant = 30;
+				r += ` ${He} has completed ${his} advanced education, and for most purposes ${he} has become <span class="deepskyblue">more intelligent.</span>`;
+			}
+		} else if (slave.intelligenceImplant < 15 && slave.assignment === "take classes") {
+			r += ` ${He} makes some progress towards a basic education.`;
+			slave.intelligenceImplant += Math.max(1, learning);
+			if (slave.intelligenceImplant >= 15) {
+				slave.intelligenceImplant = 15;
+				r += ` ${He} has completed a course of slave education, and for most purposes ${he} has become <span class="deepskyblue">more intelligent.</span>`;
+			}
+		}
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function speechLessons(slave) {
+		if (slave.intelligenceImplant >= 15 || slave.intelligenceImplant < 0) {
+			if (slave.intelligence > jsRandom(-110, 110)) {
+				if (V.schoolroomUpgradeLanguage === 0) {
+					if (slave.accent > 3 && (V.week - slave.weekAcquired > 24)) {
+						r += ` ${He} has <span class="green">learned some ${V.language},</span> and can make ${his} point with some gesturing, though ${he} speaks ${V.language} horribly.`;
+						slave.accent--;
+						if (slave.speechRules === "language lessons") {
+							slave.speechRules = "accent elimination";
+						}
+					} else if (slave.accent === 3) {
+						r += ` ${He} has <span class="green">learned functional ${V.language},</span> and can make ${himself} understood, though ${his} ${aNational(slave.nationality)} accent is still quite heavy.`;
+						slave.accent--;
+					}
+				} else {
+					if (slave.accent > 3) {
+						if (V.week - slave.weekAcquired > 16) {
+							r += ` ${He} has <span class="green">learned some ${V.language},</span> and can make ${his} point with some gesturing, though ${he} speaks ${V.language} horribly.`;
+							slave.accent--;
+							if (slave.speechRules === "language lessons") {
+								slave.speechRules = "accent elimination";
+							}
+						}
+					} else if (slave.accent >= 2) {
+						r += ` ${He} has <span class="green">learned decent ${V.language},</span> though ${he} retains enough of ${his} ${aNational(slave.nationality)} accent to make ${his} voice distinctly sexy.`;
+						slave.accent--;
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 *
+	 */
+	function graduation(slave) {
+		if (slave.intelligenceImplant >= 15 && slave.assignment === "take classes") {
+			if ((slave.voice === 0) || (slave.accent <= 1) || ((V.schoolroomUpgradeLanguage === 0 && slave.accent <= 2))) {
+				if ((slave.skill.oral > 30) || (V.schoolroomUpgradeSkills === 0 && slave.skill.oral > 10)) {
+					if ((slave.skill.whoring > 30) || (V.schoolroomUpgradeSkills === 0 && slave.skill.whoring > 10)) {
+						if ((slave.skill.entertainment > 30) || (V.schoolroomUpgradeSkills === 0 && slave.skill.entertainment > 10)) {
+							if ((slave.skill.anal > 30) || (V.schoolroomUpgradeSkills === 0 && slave.skill.anal > 10)) {
+								if ((slave.skill.vaginal > 30) || (V.schoolroomUpgradeSkills === 0 && slave.skill.vaginal > 10) || (slave.vagina < 0)) {
+									r += ` ${He} can learn little from further classes, so <span class="yellow">${his} assignment has defaulted to rest.</span>`;
+									removeJob(slave, "take classes");
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+})();
diff --git a/src/facilities/schoolroom/schoolroomFramework.js b/src/facilities/schoolroom/schoolroomFramework.js
index 93ad65caa75fa4404590284cf683815e173e250a..21fab0dd8ade0dd6542f25747c5229264275fe9a 100644
--- a/src/facilities/schoolroom/schoolroomFramework.js
+++ b/src/facilities/schoolroom/schoolroomFramework.js
@@ -41,7 +41,8 @@ App.Entity.Facilities.SchoolroomStudentJob = class extends App.Entity.Facilities
 		}
 
 		const maxSkill = 10 + this.facility.upgrade("Skills") * 20; // maximal skill value the school can teach
-		if ((slave.intelligenceImplant >= 30) && (slave.voice === 0 || slave.accent + this.facility.upgrade("Language") <= 2) &&
+		if (((slave.intelligenceImplant >= 30 && V.schoolroomRemodelBimbo !== 1) || (slave.intelligenceImplant <= -15 && V.schoolroomRemodelBimbo === 1)) &&
+			(slave.voice === 0 || slave.accent + this.facility.upgrade("Language") <= 2) &&
 			(slave.skill.oral > maxSkill) && (slave.skill.whoring > maxSkill) && (slave.skill.entertainment > maxSkill) &&
 			(slave.skill.anal > maxSkill) && ((slave.vagina < 0) || (slave.skill.vaginal > maxSkill))) {
 			r.push(`${slave.slaveName} has nothing left to learn.`);
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index f9979189983220a2751f48b3be0753cfaa791959..8b97158118390249ba6498bfb204ed32fab7be9a 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -545,6 +545,7 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $schoolroomUpgradeSkills = 0>>
 <<set $schoolroomUpgradeLanguage = 0>>
 <<set $schoolroomUpgradeRemedial = 0>>
+<<set $schoolroomRemodelBimbo = 0>>
 <<set $schoolroom = 0>>
 <<set $schoolroomName = "the Schoolroom">>
 <<set $schoolroomNameCaps = "The Schoolroom">>
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index 2d9f015bcc4d3d2b1c389bd26f945d8d15de77a7..d352ff81fdc563468ea6b47bac18cd27f8a8015a 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -229,7 +229,7 @@ window.DefaultRules = (function() {
 
 			case "learn in the schoolroom":
 				if ((V.SchlRiIDs.length < V.schoolroom && slave.fetish !== "mindbroken" && (slave.devotion >= -20 || slave.trust < -50 || (slave.devotion >= -50 && slave.trust < -20)))) {
-					if ((slave.intelligenceImplant < 30) || (slave.voice !== 0 && slave.accent + V.schoolroomUpgradeLanguage > 2) || (slave.skill.oral <= 10 + V.schoolroomUpgradeSkills * 20) || (slave.skill.whoring <= 10 + V.schoolroomUpgradeSkills * 20) || (slave.skill.entertainment <= 10 + V.schoolroomUpgradeSkills * 20) || (slave.skill.anal < 10 + V.schoolroomUpgradeSkills * 20) || ((slave.vagina >= 0) && (slave.skill.vaginal < 10 + V.schoolroomUpgradeSkills * 20))) {
+					if (((slave.intelligenceImplant < 30 && V.schoolroomRemodelBimbo !== 1) || (slave.intelligenceImplant > -15 && V.schoolroomRemodelBimbo === 1)) || (slave.voice !== 0 && slave.accent + V.schoolroomUpgradeLanguage > 2) || (slave.skill.oral <= 10 + V.schoolroomUpgradeSkills * 20) || (slave.skill.whoring <= 10 + V.schoolroomUpgradeSkills * 20) || (slave.skill.entertainment <= 10 + V.schoolroomUpgradeSkills * 20) || (slave.skill.anal < 10 + V.schoolroomUpgradeSkills * 20) || ((slave.vagina >= 0) && (slave.skill.vaginal < 10 + V.schoolroomUpgradeSkills * 20))) {
 						break;
 					} else {
 						RAFacilityRemove(slave, rule); // before deleting rule.setAssignment
diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js
index 83175eb5e59ffe27e0e378c6bb084cc9b5aaf358..4a6e684e00ed800d221b5e3b211ed62842cccc4b 100644
--- a/src/js/slaveListing.js
+++ b/src/js/slaveListing.js
@@ -260,7 +260,7 @@ App.UI.SlaveList.render = function() {
 		} else if (slave.assignment === "learn in the schoolroom") {
 			let lessons = [];
 			let i;
-			if (!slave.intelligenceImplant >= 30) {
+			if ((V.schoolroomRemodelBimbo === 1 && slave.intelligenceImplant > -15) || (V.schoolroomRemodelBimbo === 0 && slave.intelligenceImplant < 30)) {
 				lessons.push("general");
 			}
 			if (!((slave.voice === 0) || (slave.accent <= 1) || ((V.schoolroomUpgradeLanguage === 0) && (slave.accent <= 2)))) {
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 26756f7809d38be388cd2756b0906eaa8c92ae4a..ad6050842684146a34259706af18212895533980 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -2484,6 +2484,8 @@ window.SlaveSummaryUncached = (function() {
 			education = "(e+)";
 		} else if (slave.intelligenceImplant >= 15) {
 			education = "(e)";
+		} else if (slave.intelligenceImplant <= -15) {
+			education = "(e-)";
 		}
 		if (intelligence >= 130) {
 			naturalIntelligence = "I++++";
@@ -2628,6 +2630,8 @@ window.SlaveSummaryUncached = (function() {
 			education = ", well educated";
 		} else if (slave.intelligenceImplant >= 15) {
 			education = ", educated";
+		} else if (slave.intelligenceImplant <= -15) {
+			education = ", hindered";
 		}
 		if (intelligence >= 130) {
 			naturalIntelligence = "Genius";
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index be7c6f83744844c5083f5e8effb9a71130aa4527..604ace82835070fa9c36285f985c8d6fef24e2e6 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -785,6 +785,9 @@
 <<if ndef $killChoice>>
 	<<set $killChoice = -1>>
 <</if>>
+<<if ndef $schoolroomRemodelBimbo>>
+	<<set $schoolroomRemodelBimbo = 0>>
+<</if>>
 <<if ndef $incubator>>
 	<<set $incubator = 0>>
 <</if>>
diff --git a/src/uncategorized/fullReport.tw b/src/uncategorized/fullReport.tw
index 36ca1e09dd460eb841628555ee68b1fcad820512..70e785c7c390db41eebfe1dd6e6d76c5ebc54834 100644
--- a/src/uncategorized/fullReport.tw
+++ b/src/uncategorized/fullReport.tw
@@ -23,7 +23,7 @@
 	<<set $servantMilkersMultiplier = 1>>
 	<<include "SA get milked">>
 <<case "take classes">>
-	<<include "SA take classes">>
+	<<= saTakeClasses($slaves[$i])>>
 <<case "please you">>
 	<<include "SA please you">>
 <<case "be a subordinate slave">>
diff --git a/src/uncategorized/saTakeClasses.tw b/src/uncategorized/saTakeClasses.tw
deleted file mode 100644
index fe8f9da10d3209507dfc71e24ed4ba602550c593..0000000000000000000000000000000000000000
--- a/src/uncategorized/saTakeClasses.tw
+++ /dev/null
@@ -1,261 +0,0 @@
-:: SA take classes [nobr]
-
-<<set _learning = 1>>
-
-<<if $slaves[$i].fetish == "mindbroken">>
-	is no longer mentally capable and @@.yellow;has been dropped from class.@@
-	<<if $slaves[$i].assignment == "take classes">>
-		<<= removeJob($slaves[$i], "take classes")>>
-	<</if>>
-<<elseif ($slaves[$i].assignment == "learn in the schoolroom")>>
-	<<if ($Schoolteacher != 0)>>
-		<<setLocalPronouns $Schoolteacher 2>>
-		<<set _teaching = $Schoolteacher.intelligence+$Schoolteacher.intelligenceImplant>>
-		<<if ($Schoolteacher.visualAge > 35)>>
-			<<set _teaching += 10>>
-		<</if>>
-		<<if setup.schoolteacherCareers.includes($Schoolteacher.career)>>
-			<<set _teaching += 10>>
-		<</if>>
-		<<if ($Schoolteacher.face > 40)>>
-			<<set _teaching += 10>>
-		<</if>>
-		<<if random(1,150) < _teaching>>
-			<<set _learning += 1>>
-		<</if>>
-		takes courses in slavery<<if $schoolroomUpgradeSkills + $schoolroomUpgradeRemedial + $schoolroomUpgradeLanguage != 0>>, using $schoolroomName's improved educational materials, <</if>> under $Schoolteacher.slaveName's supervision;
-		<<if ($slaves[$i].devotion > 20)>>
-			$he is such an obedient slave that _he2 @@.hotpink;encourages $him@@ to be the best slave $he can.
-			<<set $slaves[$i].devotion += 2>>
-		<<elseif ($slaves[$i].trust < -20)>>
-			$he obeys out of fear, so _he2 @@.hotpink;encourages $him@@ to be a better slave.
-			<<set $slaves[$i].devotion += 1>>
-		<<else>>
-			$he is resistant, so _he2 ends up mostly @@.gold;punishing $him,@@ increasing $his @@.mediumorchid;dislike for slavery.@@
-			<<set $slaves[$i].devotion -= 2>>
-			<<set $slaves[$i].trust -= 4>>
-		<</if>>
-	<<else>>
-		takes courses in slavery<<if $schoolroomUpgradeSkills + $schoolroomUpgradeRemedial + $schoolroomUpgradeLanguage != 0>>, using $schoolroomName's improved educational materials, <</if>> under $assistantName's supervision;
-		<<if ($slaves[$i].devotion > 20)>>
-			$he is such an obedient slave that your assistant mostly @@.hotpink;encourages $him.@@
-			<<set $slaves[$i].devotion += 2>>
-		<<elseif ($slaves[$i].trust < -20)>>
-			$he obeys out of fear, so your assistant mostly @@.hotpink;encourages $him.@@
-			<<set $slaves[$i].devotion += 1>>
-		<<else>>
-			$he is resistant, so your assistant mostly @@.gold;punishes $him,@@ increasing $his @@.mediumorchid;dislike for slavery.@@
-			<<set $slaves[$i].devotion -= 2>>
-			<<set $slaves[$i].trust -= 4>>
-		<</if>>
-	<</if>>
-<<else>>
-	takes courses in slavery<<if $schoolroomUpgradeSkills + $schoolroomUpgradeRemedial + $schoolroomUpgradeLanguage != 0>>, using $schoolroomName's improved educational materials, <</if>> under $assistantName's supervision;
-	<<if ($slaves[$i].devotion > 20)>>
-		$he is such an obedient slave that your assistant mostly @@.hotpink;encourages $him.@@
-		<<set $slaves[$i].devotion += 2>>
-	<<elseif ($slaves[$i].trust < -20)>>
-		$he obeys out of fear, so your assistant mostly @@.hotpink;encourages $him.@@
-		<<set $slaves[$i].devotion += 1>>
-	<<else>>
-		$he is resistant, so your assistant mostly @@.gold;punishes $him,@@ increasing $his @@.mediumorchid;dislike for slavery.@@
-		<<set $slaves[$i].devotion -= 2>>
-		<<set $slaves[$i].trust -= 4>>
-	<</if>>
-<</if>>
-
-<<if !canHear($slaves[$i]) && !canSee($slaves[$i])>>
-	With $his inability to hear and see, absorbing the content is extremely difficult.
-	<<set _learning = -2>>
-<<elseif !canHear($slaves[$i]) || !canSee($slaves[$i])>>
-	With $his impairments, $he needs special lessons to properly learn.
-	<<set _learning = 0>>
-<</if>>
-
-<<if $slaves[$i].fetish != "mindbroken">>
-	<<if ($slaves[$i].intelligence > 95)>>
-		$He is a genius,
-		<<set _learning += 1>>
-	<<elseif ($slaves[$i].intelligence > 50)>>
-		$He is highly intelligent
-		<<set _learning += 1>>
-	<<elseif ($slaves[$i].intelligence > 15)>>
-		$He is of above average intelligence
-		<<if (random(1,100) < 70)>>
-			<<set _learning += 1>>
-		<</if>>
-	<<elseif ($slaves[$i].intelligence >= -15)>>
-		$He is of average intelligence
-		<<if (random(1,100) < 50)>>
-			<<set _learning += 1>>
-		<</if>>
-	<<else>>
-		<<set _slaveDensity = 50 + $slaves[$i].intelligence>>
-		<<if ($schoolroomUpgradeRemedial == 1) && random(1,100) < 50>>
-			<<set _slaveDensity = 55>>
-		<</if>>
-		<<if (random(1,100) > _slaveDensity)>>
-			<<set _learning += 1>>
-		<</if>>
-		<<if ($slaves[$i].intelligence >= -50)>>
-			$He is of below average intelligence
-		<<elseif ($slaves[$i].intelligence >= -95)>>
-			$He is quite stupid
-		<<else>>
-			$He is an imbecile,
-		<</if>>
-	<</if>>
-
-	<<if ($slaves[$i].devotion > 95)>>
-		and worshipful of you,
-		<<set _learning += 1>>
-	<<elseif ($slaves[$i].devotion > 50)>>
-		and devoted to you,
-		<<if (random(1,100) < 70)>>
-			<<set _learning += 1>>
-		<</if>>
-	<<elseif ($slaves[$i].devotion > 20)>>
-		and obedient to you,
-		<<if (random(1,100) < 50)>>
-			<<set _learning += 1>>
-		<</if>>
-	<<elseif ($slaves[$i].trust < -20)>>
-		and frightened of you,
-		<<if (random(1,100) < 50)>>
-			<<set _learning += 1>>
-		<</if>>
-	<<else>>
-		and neither likes you nor is afraid of you,
-	<</if>>
-
-	<<if (_learning <= 1)>>
-		and $he learns slowly this week.
-	<<elseif (_learning == 2)>>
-		and $he does well with $his studies this week.
-	<<else>>
-		and $he is perfectly studious this week.
-	<</if>>
-
-	<<if $slaves[$i].lactation == 1 && $slaves[$i].assignment == "learn in the schoolroom" && $Schoolteacher != 0 && !isAmputee($Schoolteacher)>>
-		With $his natural lactation, $he often finds $himself milked before the class by $Schoolteacher.slaveName both to serve as a lesson and to keep $him from becoming a milky mess.
-		<<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>>
-	<</if>>
-
-	<<set _seed = 0>>
-	<<set _skillIncrease = 10+Math.floor(($slaves[$i].intelligence+$slaves[$i].intelligenceImplant)/32)>>
-	<<for _j = 0; _j < _learning; _j++>>
-		<<if ($slaves[$i].devotion <= 20) && (_seed == 0)>>
-			Since $he is wanting in basic obedience, $he suffers through courses on @@.hotpink;$his place@@ in the Free Cities world.
-			<<set $slaves[$i].devotion += 10>>
-			<<set _seed = 1>>
-		<<elseif ($slaves[$i].skill.oral <= 10)>>
-			Since $he is orally incompetent, $he is taught basic gag reflex suppression exercises and other simple oral things.
-			<<= SkillIncrease.Oral($slaves[$i], _skillIncrease)>>
-		<<elseif ($slaves[$i].skill.vaginal <= 10) && ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
-			Since $he is unskilled at using $his pussy, $he is taught Kegel exercises and other simple vaginal skills.
-			<<= SkillIncrease.Vaginal($slaves[$i], _skillIncrease)>>
-		<<elseif ($slaves[$i].skill.vaginal <= 10) && ($slaves[$i].vagina >= 0)>>
-			Since $he is unskilled at using $his pussy and not permitted to learn through practice, $he is taught Kegel exercises, vaginal basics and several new positions.
-			<<= SkillIncrease.Vaginal($slaves[$i], _skillIncrease)>>
-		<<elseif ($slaves[$i].skill.anal <= 10) && ($slaves[$i].anus > 0) && canDoAnal($slaves[$i])>>
-			Since $he is a novice at taking it up $his butt, $he is taught relaxation exercises and other simple anal basics.
-			<<= SkillIncrease.Anal($slaves[$i], _skillIncrease)>>
-		<<elseif ($slaves[$i].skill.anal <= 10) && ($slaves[$i].anus >= 0)>>
-			Since $he is a novice at taking it up $his butt and not permitted to learn through practice, $he is taught relaxation exercises and other simple anal basics.
-			<<= SkillIncrease.Anal($slaves[$i], _skillIncrease)>>
-		<<elseif ($slaves[$i].skill.whoring <= 10)>>
-			Since $he has little idea what's involved in selling $his body, $he is taught basic safety practices and other simple prostitution skills.
-			<<= SkillIncrease.Whore($slaves[$i], _skillIncrease)>>
-		<<elseif ($slaves[$i].skill.entertainment <= 10)>>
-			Since $his entertainment value is limited to $his holes, $he is taught simple conversational skills and other courtesan's essentials.
-			<<= SkillIncrease.Entertain($slaves[$i], _skillIncrease)>>
-		<<elseif ($schoolroomUpgradeSkills == 1)>>
-			<<if ($slaves[$i].skill.oral <= 30)>>
-				Having completed the basic sex slave curriculum, $he studies more advanced ways to use $his lips and tongue to please cocks, cunts, and asses.
-				<<= SkillIncrease.Oral($slaves[$i], _skillIncrease)>>
-			<<elseif ($slaves[$i].skill.whoring <= 30)>>
-				Having completed the basic sex slave curriculum, $he studies intermediate prostitution, including how to stay as safe as possible and maximize $his efficiency.
-				<<= SkillIncrease.Whore($slaves[$i], _skillIncrease)>>
-			<<elseif ($slaves[$i].skill.entertainment <= 30)>>
-				Having completed the basic sex slave curriculum, $he studies courtesanship, including social dynamics and flirtation more subtle than straightforward begging for sex.
-				<<= SkillIncrease.Entertain($slaves[$i], _skillIncrease)>>
-			<<elseif ($slaves[$i].skill.vaginal <= 30) && ($slaves[$i].vagina >= 0)>>
-				Having completed the basic sex slave curriculum, $he studies more advanced techniques and exotic positions to make use of $his <<if $slaves[$i].vagina == 0>>virgin pussy for use in $his first time<<else>>pussy<</if>>.
-				<<= SkillIncrease.Vaginal($slaves[$i], _skillIncrease)>>
-			<<elseif ($slaves[$i].skill.anal <= 30)>>
-				Having completed the basic sex slave curriculum, $he studies more advanced techniques and exotic positions to make use of $his <<if $slaves[$i].vagina == 0>>virgin ass for use in $his first time<<else>>ass<</if>>.
-				<<= SkillIncrease.Anal($slaves[$i], _skillIncrease)>>
-			<</if>>
-		<</if>>
-	<</for>>
-
-	<<if ($slaves[$i].intelligenceImplant < 30) && ($slaves[$i].assignment == "learn in the schoolroom")>>
-		$He makes some progress
-		<<if $slaves[$i].intelligenceImplant < 15>>
-			towards a basic education.
-		<<else>>
-			in furthering $his education.
-		<</if>>
-		<<set $slaves[$i].intelligenceImplant += 1*_learning>>
-		<<if ($slaves[$i].intelligenceImplant >= 30)>>
-			<<set $slaves[$i].intelligenceImplant = 30>>
-			$He has completed $his advanced education, and for most purposes $he has become @@.deepskyblue;more intelligent.@@
-		<</if>>
-	<<elseif ($slaves[$i].intelligenceImplant < 15) && ($slaves[$i].assignment == "take classes")>>
-		$He makes some progress towards a basic education.
-		<<set $slaves[$i].intelligenceImplant += 1*_learning>>
-		<<if ($slaves[$i].intelligenceImplant >= 15)>>
-			<<set $slaves[$i].intelligenceImplant = 15>>
-			$He has completed a course of slave education, and for most purposes $he has become @@.deepskyblue;more intelligent.@@
-		<</if>>
-	<</if>>
-
-	<<if ($slaves[$i].intelligenceImplant >= 15)>>
-		<<if $slaves[$i].voice != 0>>
-			<<if ($slaves[$i].intelligence > random(-110,110))>>
-				<<if ($schoolroomUpgradeLanguage == 0)>>
-					<<if ($slaves[$i].accent > 3) && ($week-$slaves[$i].weekAcquired > 24)>>
-						$He has @@.green;learned some $language,@@ and can make $his point with some gesturing, though $he speaks $language horribly.
-						<<set $slaves[$i].accent -= 1>>
-						<<if $slaves[$i].speechRules == "language lessons">>
-							<<set $slaves[$i].speechRules = "accent elimination">>
-						<</if>>
-					<<elseif ($slaves[$i].accent == 3)>>
-						$He has @@.green;learned functional $language,@@ and can make $himself understood, though $his <<print aNational($slaves[$i].nationality)>> accent is still quite heavy.
-						<<set $slaves[$i].accent -= 1>>
-					<</if>>
-				<<else>>
-					<<if ($slaves[$i].accent > 3)>>
-						<<if ($week-$slaves[$i].weekAcquired > 16)>>
-							$He has @@.green;learned some $language,@@ and can make $his point with some gesturing, though $he speaks $language horribly.
-							<<set $slaves[$i].accent -= 1>>
-							<<if $slaves[$i].speechRules == "language lessons">>
-								<<set $slaves[$i].speechRules = "accent elimination">>
-							<</if>>
-						<</if>>
-					<<elseif ($slaves[$i].accent >= 2)>>
-						$He has @@.green;learned decent $language,@@ though $he retains enough of $his <<print aNational($slaves[$i].nationality)>> accent to make $his voice distinctly sexy.
-						<<set $slaves[$i].accent = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-
-	<<if ($slaves[$i].intelligenceImplant >= 15) && ($slaves[$i].assignment == "take classes")>>
-		<<if ($slaves[$i].voice == 0) || ($slaves[$i].accent <= 1) || (($schoolroomUpgradeLanguage == 0) && ($slaves[$i].accent <= 2))>>
-			<<if ($slaves[$i].skill.oral > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.oral > 10))>>
-				<<if ($slaves[$i].skill.whoring > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.whoring > 10))>>
-					<<if ($slaves[$i].skill.entertainment > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.entertainment > 10))>>
-						<<if ($slaves[$i].skill.anal > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.anal > 10))>>
-							<<if ($slaves[$i].skill.vaginal > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.vaginal > 10)) || ($slaves[$i].vagina < 0)>>
-								$He can learn little from further classes, so @@.yellow;$his assignment has defaulted to rest.@@
-								<<= removeJob($slaves[$i], "take classes")>>
-							<</if>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
diff --git a/src/uncategorized/schoolroom.tw b/src/uncategorized/schoolroom.tw
index eb63e853336aa985cc81de3a6520cd516c39297c..00bd71b96387145c1c5331e5b03aa5c4db008a5e 100644
--- a/src/uncategorized/schoolroom.tw
+++ b/src/uncategorized/schoolroom.tw
@@ -76,7 +76,7 @@ $schoolroomNameCaps is well-equipped, with wallscreens to display lessons. These
 	$Schoolteacher.slaveName is alone in $schoolroomName, and has nothing to do but work on $his lesson plans.
 <<else>>
 	None of your slaves are learning in $schoolroomName.
-	[[Decommission the schoolroom|Main][$schoolroom = 0, $schoolroomUpgradeSkills = 0, $schoolroomUpgradeLanguage = 0, $schoolroomUpgradeRemedial = 0, $schoolroomDecoration = "standard"]]
+	[[Decommission the schoolroom|Main][$schoolroom = 0, $schoolroomUpgradeSkills = 0, $schoolroomUpgradeLanguage = 0, $schoolroomUpgradeRemedial = 0, $schoolroomRemodelBimbo = 0, $schoolroomDecoration = "standard"]]
 <</if>>
 
 <<if $SchlRiIDs.length > 0>>
@@ -104,10 +104,26 @@ $schoolroomNameCaps is well-equipped, with wallscreens to display lessons. These
 <</if>>
 
 <br>
-<<if $schoolroomUpgradeRemedial == 1>>
-	$schoolroomNameCaps has been upgraded with advanced teaching tools to help even the stupidest slave learn at an acceptable pace. Intelligent slaves won't learn much faster as a result, but idiots will benefit a great deal.
+<<if $schoolroomRemodelBimbo == 1>>
+	<<set _Tmult3 = Math.trunc(7500*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
+	$schoolroomNameCaps is designed with moronic slaves in mind and seeks to dumb down slaves by providing them a confusing, contradictory education that retards decision making skills and undoes existing schooling. [[Restore the curriculum to the standard|Schoolroom][cashX(forceNeg(_Tmult3), "capEx"), $schoolroomRemodelBimbo = 0]] //Costs <<print cashFormat(_Tmult3)>>//
+	<br>
+	<<if $schoolroomUpgradeRemedial == 1>>
+		$schoolroomNameCaps has been upgraded with advanced teaching tools to help even the smartest slave learn at an acceptable pace. Dumb slaves won't learn much faster as a result, but smarties will benefit a great deal.
+	<<else>>
+		$schoolroomNameCaps teaches woefully smart slaves using its modified methods. [[Purchase specialized materials to help smart slaves get on the right track|Schoolroom][cashX(forceNeg(_Tmult2), "capEx"), $schoolroomUpgradeRemedial = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+	<</if>>
 <<else>>
-	$schoolroomNameCaps teaches idiots using standard methods. [[Purchase specialized materials to help stupid slaves learn good|Schoolroom][cashX(forceNeg(_Tmult2), "capEx"), $schoolroomUpgradeRemedial = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+	<<if $arcologies[0].FSIntellectualDependency > 800>> /* temp disabled */
+		<<set _Tmult3 = Math.trunc(7500*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
+		$schoolroomNameCaps is designed with intelligent slaves in mind and seeks to smarten slaves by providing them with an education. [[Redesign the curriculum to undo pesky educations and retard slaves while benefiting the most simple of minds|Schoolroom][cashX(forceNeg(_Tmult3), "capEx"), $schoolroomRemodelBimbo = 1]] //Costs <<print cashFormat(_Tmult3)>>//
+		<br>
+	<</if>>
+	<<if $schoolroomUpgradeRemedial == 1>>
+		$schoolroomNameCaps has been upgraded with advanced teaching tools to help even the stupidest slave learn at an acceptable pace. Intelligent slaves won't learn much faster as a result, but idiots will benefit a great deal.
+	<<else>>
+		$schoolroomNameCaps teaches idiots using standard methods. [[Purchase specialized materials to help stupid slaves learn good|Schoolroom][cashX(forceNeg(_Tmult2), "capEx"), $schoolroomUpgradeRemedial = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+	<</if>>
 <</if>>
 
 <br><br>
diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw
index 4dd48d0923cca94c4c10324ee4a821a28de2c657..db373d022f46ba22a1144e76961bd1e8e56a2533 100644
--- a/src/uncategorized/schoolroomReport.tw
+++ b/src/uncategorized/schoolroomReport.tw
@@ -68,7 +68,7 @@
 		<<set _idleBonus++>>
 	<</if>>
 	<<if ($Schoolteacher.intelligenceImplant >= 15)>>
-		Since $he's educated $himself, $he understands $his students.
+		Since $he's educated $himself, $he understands <<if $schoolroomRemodelBimbo != 0>>how best to apply the new lesson plan<<else>>$his students<</if>>.
 		<<set _idleBonus++>>
 	<</if>>
 	<<if ($Schoolteacher.face > 40)>>
@@ -166,7 +166,7 @@
 		<<set _restedSlaves++, _dI--, _DL-->>
 		<<continue>>
 	<<else>>
-		<<if ($slaves[$i].intelligenceImplant >= 30)>>
+		<<if ($slaves[$i].intelligenceImplant >= 30 && $schoolroomRemodelBimbo != 1) || ($slaves[$i].intelligenceImplant <= -15 && $schoolroomRemodelBimbo == 1)>>
 		<<if ($slaves[$i].voice == 0) || ($slaves[$i].accent <= 1) || (($schoolroomUpgradeLanguage == 0) && ($slaves[$i].accent <= 2))>>
 		<<if ($slaves[$i].skill.oral > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.oral > 10))>>
 		<<if ($slaves[$i].skill.whoring > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].skill.whoring > 10))>>
@@ -201,7 +201,7 @@
 		<<else>>
 			is studying in $schoolroomName.
 		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<include "SA take classes">>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<= saTakeClasses($slaves[$i])>>
 		<br>&nbsp;&nbsp;&nbsp;
 		<<= saChoosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
@@ -214,8 +214,8 @@
 	<<else>>
 		<<silently>>
 		<<include "SA chooses own job">>
-		<<include "SA take classes">>
-		<<set _chosenClothes = saChoosesOwnClothes($slaves[$i])>>
+		<<run saTakeClasses($slaves[$i])>>
+		<<run saChoosesOwnClothes($slaves[$i])>>
 		<<include "SA rules">>
 		<<include "SA diet">>
 		<<include "SA long term effects">>