diff --git a/src/endWeek/healthFunctions.js b/src/endWeek/healthFunctions.js
index 83c389c795bc7b425137d687a6e98d9aabe131e0..87990123e9a63950b635248b491057824b7ecfbf 100644
--- a/src/endWeek/healthFunctions.js
+++ b/src/endWeek/healthFunctions.js
@@ -85,7 +85,7 @@ globalThis.illness = function(slave) {
 		assignBonus += 20;
 	} else if ((slave.assignment === Job.MASTERSUITE || slave.assignment === Job.FUCKTOY) && V.PC.skill.medicine >= 40) {
 		assignBonus += 10;
-	} else if (App.Data.Careers.Leader.nurse.includes(slave.career) || slave.skill.nurse >= 100 || slave.intelligence + slave.intelligenceImplant > 95) { // Let slaves with experience or brains use it
+	} else if (App.Data.Careers.Leader.nurse.includes(slave.career) || slave.skill.nurse > 120 || slave.intelligence + slave.intelligenceImplant > 95) { // Let slaves with experience or brains use it
 		assignBonus += 10;
 	}
 	if (random < 6) { // There is always a 5% chance of a slave feeling worse or coming in contact with an illness
diff --git a/src/endWeek/reports/brothelReport.js b/src/endWeek/reports/brothelReport.js
index 5bd5e95a8f685b17ffa76e98c61afb2fd93be6a6..17e3899a9d45effc9757c670f2fed51c5fb21e05 100644
--- a/src/endWeek/reports/brothelReport.js
+++ b/src/endWeek/reports/brothelReport.js
@@ -95,6 +95,15 @@ App.EndWeek.brothelReport = function() {
 				r.push(`${He} has experience from ${his} life before ${he} was a slave that helps ${him} in the seedy business of selling other people's bodies for sex.`);
 			} else if (S.Madam.skill.madam >= V.masteredXP) {
 				r.push(`${He} has experience from working for you that helps ${him} in the seedy business of selling other people's bodies for sex.`);
+			} else if (S.Madam.skill.madam > 120) {
+				r.push(`${He} understands how to handle whores while keeping customers happy.`);
+			} else if (S.Madam.skill.madam > 60) {
+				r.push(`${He} understands how to read the customer and please them effectively.`);
+			} else if (S.Madam.skill.madam > 20) {
+				r.push(`${He} has basic knowledge of how to run a whorehouse.`);
+			} else {
+				const skillIncrease = jsRandom(1, Math.ceil((madamIntel) / 15) + 8);
+				r.push(`${slaveSkillIncrease('madam', S.Madam, skillIncrease)}`);
 			}
 			if (S.Madam.intelligence + S.Madam.intelligenceImplant > 15) {
 				r.push(`${He} is a clever manager.`);
diff --git a/src/endWeek/reports/cellblockReport.js b/src/endWeek/reports/cellblockReport.js
index 8e05369dcb767fa36245f2372c09cc31097fb17c..fdf57482f5909c55addd90dd44c82d8c6264ba4a 100644
--- a/src/endWeek/reports/cellblockReport.js
+++ b/src/endWeek/reports/cellblockReport.js
@@ -86,7 +86,8 @@ App.EndWeek.cellblockReport = function() {
 			idleBonus++;
 			r.push(`${He} has experience with detecting security issues and grinding down potential miscreants from working for you, making ${him} more effective.`);
 		} else {
-			S.Wardeness.skill.wardeness += random(1, Math.ceil((S.Wardeness.intelligence + S.Wardeness.intelligenceImplant) / 15) + 8);
+			const skillIncrease = random(1, Math.ceil((S.Wardeness.intelligence + S.Wardeness.intelligenceImplant) / 15) + 8);
+			r.push(`${slaveSkillIncrease('wardeness', S.Wardeness, skillIncrease)}`);
 		}
 		if (S.Wardeness.fetish === "sadist") {
 			r.push(`${He} uses the prisoners to gratify ${his} sadism, terrifying them and quickly breaking their resistance.`);
diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index 3b698be26e70fc26dc975f96cac541c8254947f9..e6bf09c57bc9ae3c7e1f7f11fd5ed56c6615fe65 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -66,7 +66,8 @@ App.EndWeek.clinicReport = function() {
 				idleBonus++;
 				healthBonus++;
 			} else {
-				S.Nurse.skill.nurse += jsRandom(1, Math.ceil((S.Nurse.intelligence + S.Nurse.intelligenceImplant) / 15) + 8);
+				const skillIncrease = jsRandom(1, Math.ceil((S.Nurse.intelligence + S.Nurse.intelligenceImplant) / 15) + 8);
+				r.push(`${slaveSkillIncrease('nurse', S.Nurse, skillIncrease)}`);
 			}
 			if (S.Nurse.fetish === "dom") {
 				r.push(`${He} raps out commands with the confidence of long and partly sexual experience, so patients are inclined to follow even unpleasant medical instructions.`);
diff --git a/src/endWeek/reports/clubReport.js b/src/endWeek/reports/clubReport.js
index efa670f575108be3fbb1cf8a13ae3aa47109d921..4c98196a905b1b3760637155e6636c08f6679529 100644
--- a/src/endWeek/reports/clubReport.js
+++ b/src/endWeek/reports/clubReport.js
@@ -96,8 +96,15 @@ App.EndWeek.clubReport = function() {
 			r.push(`${He} has musical experience from ${his} life before ${he} was a slave, a grounding that gives ${his} tracks actual depth.`);
 		} else if (S.DJ.skill.DJ >= V.masteredXP) {
 			r.push(`${He} has musical experience from working for you, giving ${his} tracks actual depth.`);
+		} else if (S.DJ.skill.DJ > 120) {
+			r.push(`${He} understands what tracks pair well with each other and how to tailor them to ${his} audience.`);
+		} else if (S.DJ.skill.DJ > 60) {
+			r.push(`${He} knows how to properly manage a playlist, allowing ${him} more time on the dance floor.`);
+		} else if (S.DJ.skill.DJ > 20) {
+			r.push(`${He} has basic musical knowledge and can keep the party going.`);
 		} else {
-			S.DJ.skill.DJ += random(1, Math.ceil((S.DJ.intelligence + S.DJ.intelligenceImplant) / 15) + 8);
+			const skillIncrease = random(1, Math.ceil((S.DJ.intelligence + S.DJ.intelligenceImplant) / 15) + 8);
+			r.push(`${slaveSkillIncrease('DJ', S.DJ, skillIncrease)}`);
 		}
 		App.Events.addNode(el, r, "p", "indent");
 		if (slaves.length + V.clubSlavesGettingHelp < 10 && V.DJnoSex !== 1 && !slaveResting(S.DJ)) {
diff --git a/src/endWeek/reports/dairyReport.js b/src/endWeek/reports/dairyReport.js
index 48558d4011c13e29a7d17ef5bbfb46df4b5be7da..99d82428b24c3487126816eb8527171f6698cc9f 100644
--- a/src/endWeek/reports/dairyReport.js
+++ b/src/endWeek/reports/dairyReport.js
@@ -256,7 +256,8 @@ App.EndWeek.dairyReport = function() {
 			V.milkmaidHealthBonus++;
 			r.push(`${He} has experience harvesting slave products from working for you.`);
 		} else {
-			S.Milkmaid.skill.milkmaid += random(1, Math.ceil((S.Milkmaid.intelligence + S.Milkmaid.intelligenceImplant) / 15) + 8);
+			const skillIncrease = random(1, Math.ceil((S.Milkmaid.intelligence + S.Milkmaid.intelligenceImplant) / 15) + 8);
+			r.push(`${slaveSkillIncrease('milkmaid', S.Milkmaid, skillIncrease)}`);
 		}
 		if (prostateStim === 1) {
 			r.push(`${He} uses ${his} turgid cock to give prostate stimulation to slaves that need help ejaculating.`);
diff --git a/src/endWeek/reports/farmyardReport.js b/src/endWeek/reports/farmyardReport.js
index 4a6124453eafb9fc7c65fc5c78eac217837ff2f5..13be9c58a75a3649d0eed8489ade95fc02a8ccf5 100644
--- a/src/endWeek/reports/farmyardReport.js
+++ b/src/endWeek/reports/farmyardReport.js
@@ -163,7 +163,8 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 		} else if (slave.skill.farmer >= V.masteredXP) {
 			return `${He} has experience from working for you that helps ${him} in the difficult life of managing animals and property.`;
 		} else {
-			slave.skill.farmer += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 32));
+			const skillIncrease = jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 32));
+			r.push(`${slaveSkillIncrease('farmer', slave, skillIncrease)}`);
 		}
 	}
 
diff --git a/src/endWeek/reports/nurseryReport.js b/src/endWeek/reports/nurseryReport.js
index 2d3e3f3ffc2f60c5c583b73c21e821835a2ef6df..5cda04c7848d0998b44eba4eb33d438796e6fb4d 100644
--- a/src/endWeek/reports/nurseryReport.js
+++ b/src/endWeek/reports/nurseryReport.js
@@ -79,9 +79,10 @@ App.Facilities.Nursery.nurseryReport = function nurseryReport() {
 
 				matronBonus += 25;
 			} else {
-				S.Matron.skill.matron += jsRandom(1, Math.ceil((
+				const skillIncrease = jsRandom(1, Math.ceil((
 					S.Matron.intelligence + S.Matron.intelligenceImplant
 				) / 15) + 8);
+				r.push(`${slaveSkillIncrease('matron', S.Matron, skillIncrease)}`);
 			}
 
 			if (S.Matron.actualAge > 35) {
diff --git a/src/endWeek/reports/penthouseReport.js b/src/endWeek/reports/penthouseReport.js
index 248a54760b43e7c7c82460c2a32681563248c46d..f68af68e6aa4cd2c623ca960fae5dbd317d34191 100644
--- a/src/endWeek/reports/penthouseReport.js
+++ b/src/endWeek/reports/penthouseReport.js
@@ -257,8 +257,17 @@ App.EndWeek.penthouseReport = function() {
 				r.push(`${He} was used to giving commands and being obeyed in ${his} life before ${he} was a slave, experience ${he} can call on now.`);
 				effectiveness += 5;
 			} else if (S.HeadGirl.skill.headGirl >= V.masteredXP) {
-				r.push(`${He} is used to giving commands and being obeyed through experience, rendering ${him} more effective.`);
+				r.push(`${He} is used to giving commands and being obeyed through experience, rendering ${him} very effective.`);
 				effectiveness += 5;
+			} else if (S.HeadGirl.skill.headGirl > 120) {
+				r.push(`${He} knows how to give orders and watch for potential issues, rendering ${him} more effective.`);
+				effectiveness += 3;
+			} else if (S.HeadGirl.skill.headGirl > 60) {
+				r.push(`${He} knows how to give orders in a way others will listen to, rendering ${him} more effective.`);
+				effectiveness += 2;
+			} else if (S.HeadGirl.skill.headGirl > 30) {
+				r.push(`${He} has the basic idea of how to give orders down, rendering ${him} slightly more effective.`);
+				effectiveness += 1;
 			}
 
 			if (S.HeadGirl.actualAge > 30) {
diff --git a/src/endWeek/reports/schoolroomReport.js b/src/endWeek/reports/schoolroomReport.js
index d5b51cc0edfc29e72703e0dfe089d2f8ca2264cf..751ebd8ababa5939d8be7665ff9a46fd38d8cf8d 100644
--- a/src/endWeek/reports/schoolroomReport.js
+++ b/src/endWeek/reports/schoolroomReport.js
@@ -67,7 +67,8 @@ App.EndWeek.schoolroomReport = function() {
 				r.push(`${He} has experience with students and learning from working for you, making ${him} more effective.`);
 				idleBonus++;
 			} else {
-				S.Schoolteacher.skill.teacher += jsRandom(1, Math.ceil((S.Schoolteacher.intelligence + S.Schoolteacher.intelligenceImplant) / 15) + 8);
+				const skillIncrease = jsRandom(1, Math.ceil((S.Schoolteacher.intelligence + S.Schoolteacher.intelligenceImplant) / 15) + 8);
+				r.push(`${slaveSkillIncrease('teacher', S.Schoolteacher, skillIncrease)}`);
 			}
 			if (S.Schoolteacher.visualAge > 35) {
 				r.push(`${His} age earns ${him} the respect of ${his} students.`);
diff --git a/src/endWeek/reports/servantsQuartersReport.js b/src/endWeek/reports/servantsQuartersReport.js
index 419d3fac49cd47b58b5b4b1debdcdb64d6f4b39e..9d3e5f8245ca718f2c9ba2bba278770cd6e4cf73 100644
--- a/src/endWeek/reports/servantsQuartersReport.js
+++ b/src/endWeek/reports/servantsQuartersReport.js
@@ -101,8 +101,18 @@ App.EndWeek.servantsQuartersReport = function() {
 			} else if (S.Stewardess.skill.stewardess >= V.masteredXP) {
 				stewardessBonus += 25;
 				r.push(`${He} has applicable experience with daily sums and organizational trifles from working for you.`);
+			} else if (S.Stewardess.skill.stewardess > 120) {
+				stewardessBonus += 15;
+				r.push(`${He} has picked up the skills needed to keep your servants working efficiently.`);
+			} else if (S.Stewardess.skill.stewardess > 60) {
+				stewardessBonus += 10;
+				r.push(`${He} understands what it takes to keep your servants in line.`);
+			} else if (S.Stewardess.skill.stewardess > 20) {
+				stewardessBonus += 5;
+				r.push(`${He} understands the basics of what it takes to keep your penthouse operational.`);
 			} else {
-				S.Stewardess.skill.stewardess += jsRandom(1, Math.ceil((S.Stewardess.intelligence + S.Stewardess.intelligenceImplant) / 15) + 8);
+				const skillIncrease = jsRandom(1, Math.ceil((S.Stewardess.intelligence + S.Stewardess.intelligenceImplant) / 15) + 8);
+				r.push(`${slaveSkillIncrease('stewardess', S.Stewardess, skillIncrease)}`);
 			}
 			if (S.Stewardess.actualAge > 35) {
 				stewardessBonus += 25;
diff --git a/src/endWeek/reports/spaReport.js b/src/endWeek/reports/spaReport.js
index 02504be3e305280204f3507af741c2929cfa1edb..e4da9e19cfdbab15d17f2f355972942aac1baab5 100644
--- a/src/endWeek/reports/spaReport.js
+++ b/src/endWeek/reports/spaReport.js
@@ -71,7 +71,8 @@ App.EndWeek.spaReport = function() {
 			bonusToggle = 1;
 			idleBonus++;
 		} else {
-			S.Attendant.skill.attendant += random(1, Math.ceil((S.Attendant.intelligence + S.Attendant.intelligenceImplant) / 15) + 8);
+			const skillIncrease = random(1, Math.ceil((S.Attendant.intelligence + S.Attendant.intelligenceImplant) / 15) + 8);
+			r.push(`${slaveSkillIncrease('attendant', S.Attendant, skillIncrease)}`);
 		}
 		if (!canSee(S.Attendant)) {
 			r.push(`${His} blindness allows ${him} to deeply connect with ${his} charges.`);
diff --git a/src/endWeek/saBeYourHeadGirl.js b/src/endWeek/saBeYourHeadGirl.js
index 9010419b0683c8b37ac10dd2a9ba22c126b0206f..a2d96eef56f3a41fc72824baf2c12b2ca29a8cdc 100644
--- a/src/endWeek/saBeYourHeadGirl.js
+++ b/src/endWeek/saBeYourHeadGirl.js
@@ -278,7 +278,8 @@ App.SlaveAssignment.beYourHeadGirl = (function() {
 	 */
 	function cleanupVars(slave) {
 		if (!App.Data.Careers.Leader.HG.includes(slave.career) && slave.skill.headGirl < V.masteredXP) {
-			slave.skill.headGirl += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
+			const skillIncrease = jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
+			r.push(`${slaveSkillIncrease('headGirl', slave, skillIncrease)}`);
 		}
 		slave.health.tired = Math.clamp(slave.health.tired, 0, 1000);
 	}
diff --git a/src/endWeek/saGuardYou.js b/src/endWeek/saGuardYou.js
index d2115412a92a6c2cab9fd5885c1b4f97e5691459..7ff2e7c34ce5e0a0636eccf18d273e67421b6fb1 100644
--- a/src/endWeek/saGuardYou.js
+++ b/src/endWeek/saGuardYou.js
@@ -73,7 +73,8 @@ App.SlaveAssignment.guardYou = (function() {
 		} else if (slave.skill.bodyguard >= V.masteredXP) {
 			r.push(`${He} has experience in personal defense from working for you.`);
 		} else {
-			slave.skill.bodyguard += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
+			const skillIncrease = jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
+			r.push(`${slaveSkillIncrease('bodyguard', slave, skillIncrease)}`);
 		}
 
 		if (V.AgePenalty !== 0) {
diff --git a/src/endWeek/saRecruitGirls.js b/src/endWeek/saRecruitGirls.js
index 4aa5a059cf6479e31f45d41dd2d46e7c2ed5b658..6ec5d06812a8808ddd50a877e792a09861b41709 100644
--- a/src/endWeek/saRecruitGirls.js
+++ b/src/endWeek/saRecruitGirls.js
@@ -805,8 +805,12 @@ App.SlaveAssignment.recruitGirls = (function() {
 		} else if (slave.skill.recruiter >= V.masteredXP) {
 			r.push(`${He} has experience in recruitment from working for you.`);
 			V.recruiterProgress += 2;
+		} else if (slave.skill.recruiter > 120) {
+			r.push(`${He} has enough experience in recruitment to beging applying it.`);
+			V.recruiterProgress += 1;
 		} else {
-			slave.skill.recruiter += random(1, Math.ceil((slaveInt) / 15) + 8);
+			const skillIncrease = random(1, Math.ceil((slaveInt) / 15) + 8);
+			r.push(`${slaveSkillIncrease('recruiter', slave, skillIncrease)}`);
 		}
 
 		if (slaveInt > 50) {
diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js
index aff9ba89a903b2b24c1d94f33a9c17680a20dc45..ddbfe0e86aa15bf97a94587ca7602b52dc7cef8d 100644
--- a/src/endWeek/saTakeClasses.js
+++ b/src/endWeek/saTakeClasses.js
@@ -71,6 +71,12 @@ App.SlaveAssignment.takeClasses = (function() {
 					teaching += 10;
 				} else if (S.Schoolteacher.skill.teacher >= V.masteredXP) {
 					teaching += 10;
+				} else if (S.Schoolteacher.skill.teacher > 120) {
+					teaching += 6;
+				} else if (S.Schoolteacher.skill.teacher > 60) {
+					teaching += 3;
+				} else if (S.Schoolteacher.skill.teacher > 20) {
+					teaching += 1;
 				}
 				if (S.Schoolteacher.face > 40) {
 					teaching += 10;
@@ -486,157 +492,157 @@ App.SlaveAssignment.takeClasses = (function() {
 			cashX(forceNeg(cost), "capEx");
 			switch (tutorForSlave(slave)) {
 				case "HeadGirl":
-					if (slave.skill.headGirl <= 10) {
+					if (slave.skill.headGirl <= 20) {
 						r += ` ${He} is so unskilled that the tutor teaches ${him} the basics. ${He} learns how to make slaves obey ${him} and how to treat minor injuries.`;
-					} else if (slave.skill.headGirl <= 30) {
-						r += ` ${He} has some experience teaching others. The tutor has ${him} practice teaching slaves how to please their master, and has ${him} attend lectures on slave psychology.`;
 					} else if (slave.skill.headGirl <= 60) {
+						r += ` ${He} has some experience teaching others. The tutor has ${him} practice teaching slaves how to please their master, and has ${him} attend lectures on slave psychology.`;
+					} else if (slave.skill.headGirl <= 120) {
 						r += ` The tutor arranges for ${him} to work at different places throughout the week, from treating emergencies or diagnosing patients in the hospital to breaking resistant slaves for a slave school. ${He} is truly becoming a jack-of-all trades.`;
-					} else if (slave.skill.headGirl <= 100) {
+					} else if (slave.skill.headGirl <= 200) {
 						r += ` Now that ${he} has mastered individual skills, ${he} is taught to assist you in running the arcology as a whole. ${He} learns how the security systems work, and how to make every slave perform at their best.`;
 					}
 					r += ` ${slaveSkillIncrease('headGirl', slave, skillIncrease)}`;
 					break;
 				case "Recruiter":
-					if (slave.skill.recruiter <= 10) {
+					if (slave.skill.recruiter <= 20) {
 						r += ` The tutor starts teaching ${him} the basics. ${He} is given lessons on conversing, pronunciation, style and fashion.`;
-					} else if (slave.skill.recruiter <= 30) {
-						r += ` Having been taught the basics by ${his} tutor, ${he} is no longer awkward in conversation. But ${he} has a long way to go, the tutor teaches ${him} how to carry ${himself} and how to interpret others' non-verbal cues.`;
 					} else if (slave.skill.recruiter <= 60) {
+						r += ` Having been taught the basics by ${his} tutor, ${he} is no longer awkward in conversation. But ${he} has a long way to go, the tutor teaches ${him} how to carry ${himself} and how to interpret others' non-verbal cues.`;
+					} else if (slave.skill.recruiter <= 120) {
 						r += ` The tutor has ${him} practice convincing others. ${He} watches online lectures on slave psychology, and applies it in practice by convincing others to make unfavorable deals.`;
-					} else if (slave.skill.recruiter <= 100) {
+					} else if (slave.skill.recruiter <= 200) {
 						r += ` Every move ${he} makes is practiced and calculated, yet looks entirely natural. He has ${him} continue attending lectures on psychology, and sends ${him} out to convince free citizens to let themselves get voluntarily enslaved.`;
 					}
 					r += ` ${slaveSkillIncrease('recruiter', slave, skillIncrease)}`;
 					break;
 				case "Bodyguard":
-					if (slave.skill.bodyguard <= 10) {
+					if (slave.skill.bodyguard <= 20) {
 						r += ` ${He} undergoes a personalized boot camp in form of physical exercises, to make sure ${he} has the basic skills required for further security training.`;
-					} else if (slave.skill.bodyguard <= 30) {
-						r += ` The tutor trains ${him} in using and maintaining firearms, and forces ${him} through repetitive dry fire training in order to instill discipline.`;
 					} else if (slave.skill.bodyguard <= 60) {
+						r += ` The tutor trains ${him} in using and maintaining firearms, and forces ${him} through repetitive dry fire training in order to instill discipline.`;
+					} else if (slave.skill.bodyguard <= 120) {
 						r += ` During the week ${he} attends skirmish-scale wargames, and joins routine security patrols around the arcology.`;
-					} else if (slave.skill.bodyguard <= 100) {
+					} else if (slave.skill.bodyguard <= 200) {
 						r += `${He} receives versatile training on tactics and different weapons, culminating at the end of the week with a live fire exercise.`;
 					}
 					r += ` ${slaveSkillIncrease('bodyguard', slave, skillIncrease)}`;
 					break;
 				case "Madam":
-					if (slave.skill.madam <= 10) {
-						r += ` The tutor teaches ${him} the basics of whoring. To make sure the customer pays before he's serviced, how to take care of her hygiene and how to take care of her health.`;
-					} else if (slave.skill.madam <= 30) {
-						r += ` Having been taught the basics, the lessons shift to learning how to best please a customer. ${He} is taught to converse and how to respond to a customer's desires.`;
+					if (slave.skill.madam <= 20) {
+						r += ` The tutor teaches ${him} the basics of whoring. To make sure the customer pays before they're serviced, how to take care of hygiene and how to take care of whores' health.`;
 					} else if (slave.skill.madam <= 60) {
-						r += ` Now that ${he} is a masterful whore, the tutor teaches ${him} how to discipline her subordinate whores. ${He} attends online lectures on marketing.`;
-					} else if (slave.skill.madam <= 100) {
+						r += ` Having been taught the basics, the lessons shift to learning how to best please a customer. ${He} is taught to converse and how to respond to a customer's desires.`;
+					} else if (slave.skill.madam <= 120) {
+						r += ` Now that ${he} is a masterful whore, the tutor teaches ${him} how to discipline ${his} subordinate whores. ${He} attends online lectures on marketing.`;
+					} else if (slave.skill.madam <= 200) {
 						r += ` ${He} is becoming a master at extracting maximum value from the assets ${he} commands, and is learning how to run the brothel effectively.`;
 					}
 					r += ` ${slaveSkillIncrease('madam', slave, skillIncrease)}`;
 					break;
 				case "DJ":
-					if (slave.skill.DJ <= 10) {
+					if (slave.skill.DJ <= 20) {
 						r += ` The tutor trains ${him} to perform as a DJ. The Club is crucial for your reputation, and the DJ is in charge of the club, so classes are quite demanding. ${He} is absolutely unskilled so he is teaching ${him} the very basics. ${He} is undergoing military-like drills in dancing and composure.`;
-					} else if (slave.skill.DJ <= 30) {
-						r += ` The tutor trains ${him} to perform as a DJ. ${He} is still quite inexperienced, although ${he} is at least not awkward in conversation anymore. ${His} classes are heavily focused on slut etiquette, dancing and composure, but ${his} moves are still stiff and unsure.`;
 					} else if (slave.skill.DJ <= 60) {
+						r += ` The tutor trains ${him} to perform as a DJ. ${He} is still quite inexperienced, although ${he} is at least not awkward in conversation anymore. ${His} classes are heavily focused on slut etiquette, dancing and composure, but ${his} moves are still stiff and unsure.`;
+					} else if (slave.skill.DJ <= 120) {
 						r += ` ${He} is already a skilled entertainer, yet ${his} DJ training continues. ${His} training is now more focused on putting ${him} in charge of the whole club facility, which serves to increase public opinion of ${his} owner. ${He} is taught how to make guests feel welcome, and how to manage ${his} employees. `;
-					} else if (slave.skill.DJ <= 100) {
+					} else if (slave.skill.DJ <= 200) {
 						r += `Every movement and gesture of ${him} must engage the crowd. ${He} is so well-trained that ${his} sultry and inviting composure seems entirely natural. ${He} is also taught how to look after subordinate club sluts, to make sure they perform at their best and give the guests an unforgettable experience.`;
 					}
 					r += ` ${slaveSkillIncrease('DJ', slave, skillIncrease)}`;
 					break;
 				case "Nurse":
-					if (slave.skill.nurse <= 10) {
+					if (slave.skill.nurse <= 20) {
 						r += ` ${He} is taught bedside manner, first aid and elementary physiology as basis for further medical tutoring.`;
-					} else if (slave.skill.nurse <= 30) {
-						r += ` During the week ${he} follows tutored instructions on doing common medical tests, preliminary diagnosis and the safe administering of drugs.`;
 					} else if (slave.skill.nurse <= 60) {
+						r += ` During the week ${he} follows tutored instructions on doing common medical tests, preliminary diagnosis and the safe administering of drugs.`;
+					} else if (slave.skill.nurse <= 120) {
 						r += ` ${He} is busy watching lectures on physiology, pathology, biochemistry and other medical subjects under the supervision of a tutor.`;
-					} else if (slave.skill.nurse <= 100) {
+					} else if (slave.skill.nurse <= 200) {
 						r += `In addition to many, lengthy lectures on medicine, ${he} studies emergency care and basic surgery in supervised simulations.`;
 					}
 					r += ` ${slaveSkillIncrease('nurse', slave, skillIncrease)}`;
 					break;
 				case "Teacher":
-					if (slave.skill.teacher <= 10) {
+					if (slave.skill.teacher <= 20) {
 						r += ` ${He} is so inept that the tutor has to teach ${him} the very basics before ${he} can progress any further. ${He} is given grammar and arithmetic lessons.`;
-					} else if (slave.skill.teacher <= 30) {
-						r += ` Now that ${he} has some understanding of the basics, the tutor has ${him} attend more advanced lectures on grammar, mathematics and pronunciation.`;
 					} else if (slave.skill.teacher <= 60) {
+						r += ` Now that ${he} has some understanding of the basics, the tutor has ${him} attend more advanced lectures on grammar, mathematics and pronunciation.`;
+					} else if (slave.skill.teacher <= 120) {
 						r += ` Having mastered basic skills, ${he} is now being taught how to teach others. The tutor sends ${him} to work at a local slave school.`;
-					} else if (slave.skill.teacher <= 100) {
+					} else if (slave.skill.teacher <= 200) {
 						r += ` ${He} now knows how to teach others, and is now taught how to teach students who do not speak the language, are disabled, be it physically or mentally or simply unwilling to learn.`;
 					}
 					r += ` ${slaveSkillIncrease('teacher', slave, skillIncrease)}`;
 					break;
 				case "Attendant":
-					if (slave.skill.attendant <= 10) {
+					if (slave.skill.attendant <= 20) {
 						r += ` This week, a tutor has ${him} wait on poolside clients while offering back-rubs, an exercise instilling, more than anything, calm patience.`;
-					} else if (slave.skill.attendant <= 30) {
-						r += ` ${He} practices massaging techniques with a tutor until ${his} hands are sore and then suffers through hours of listening to people's problems on an online helpline.`;
 					} else if (slave.skill.attendant <= 60) {
+						r += ` ${He} practices massaging techniques with a tutor until ${his} hands are sore and then suffers through hours of listening to people's problems on an online helpline.`;
+					} else if (slave.skill.attendant <= 120) {
 						r += ` A tutor teaches ${him} relaxing physical therapies. Additionally ${he} attends a course on applied psychology concentrated on mental well-being and stress management.`;
-					} else if (slave.skill.attendant <= 100) {
+					} else if (slave.skill.attendant <= 200) {
 						r += `${He} spends the week watching lectures of psychiatry and physiotherapy, before attending a practical exam arranged by ${his} tutor.`;
 					}
 					r += ` ${slaveSkillIncrease('attendant', slave, skillIncrease)}`;
 					break;
 				case "Matron":
-					if (slave.skill.matron <= 10) {
+					if (slave.skill.matron <= 20) {
 						r += ` The tutor teaches ${him} how to care for ${his} body during pregnancy. To eat well, rest, and avoid strenuous activity.`;
-					} else if (slave.skill.matron <= 30) {
-						r += ` ${He} learns how to best prepare ${his} body for a baby's birth. And how to take care of the baby after it has been born.`;
 					} else if (slave.skill.matron <= 60) {
+						r += ` ${He} learns how to best prepare ${his} body for a baby's birth. And how to take care of the baby after it has been born.`;
+					} else if (slave.skill.matron <= 120) {
 						r += ` The tutor has ${him} serve as a midwife at a local hospital. ${He} also attends lectures on child development and child psychology.`;
-					} else if (slave.skill.matron <= 100) {
+					} else if (slave.skill.matron <= 200) {
 						r += ` ${He} continues attending lectures, but at the same time the tutor teaches ${him} how to take care of others while they are pregnant. ${He}'s quickly learning how to best rear children.`;
 					}
 					r += ` ${slaveSkillIncrease('matron', slave, skillIncrease)}`;
 					break;
 				case "Stewardess":
-					if (slave.skill.stewardess <= 10) {
+					if (slave.skill.stewardess <= 20) {
 						r += ` ${He} has no skill as a servant, so the tutor teaches ${him} the basics. What to clean, how to clean and using which products.`;
-					} else if (slave.skill.stewardess <= 30) {
-						r += ` Having been taught the basics, ${his} studies continue by following cleaning crews to various parts of your arcologies to get practical experience as well as become familiar with the cleaning routines of all sectors.`;
 					} else if (slave.skill.stewardess <= 60) {
+						r += ` Having been taught the basics, ${his} studies continue by following cleaning crews to various parts of your arcologies to get practical experience as well as become familiar with the cleaning routines of all sectors.`;
+					} else if (slave.skill.stewardess <= 120) {
 						r += ` The tutor has ${him} attend lectures on slave breaking and management, to prepare ${him} for running a facility. ${He} keeps working with the cleaning crews, but now takes command during outings.`;
-					} else if (slave.skill.stewardess <= 100) {
+					} else if (slave.skill.stewardess <= 200) {
 						r += ` ${He} is familiar with every nook and cranny of your arcology. ${He} no longer accompanies your cleaning crews, instead ${he} organizes their deployments. ${He}is becoming an adept manager.`;
 					}
 					r += ` ${slaveSkillIncrease('stewardess', slave, skillIncrease)}`;
 					break;
 				case "Milkmaid":
-					if (slave.skill.milkmaid <= 10) {
+					if (slave.skill.milkmaid <= 20) {
 						r += ` The tutor teaches ${him} the basics. ${He} is taught what to eat to maximize ${his} fluid production, as well as how to milk udders.`;
-					} else if (slave.skill.milkmaid <= 30) {
-						r += ` Having been taught the basics, the tutor has ${him} work at a farm milking cows. ${He} also attends online lectures on nutrition and health.`;
 					} else if (slave.skill.milkmaid <= 60) {
+						r += ` Having been taught the basics, the tutor has ${him} work at a farm milking cows. ${He} also attends online lectures on nutrition and health.`;
+					} else if (slave.skill.milkmaid <= 120) {
 						r += ` Having been taught how to milk and how to take care of ${his} body to produce as much fluids as possible, ${his} training shifts to teach ${him} leadership skills.`;
-					} else if (slave.skill.milkmaid <= 100) {
+					} else if (slave.skill.milkmaid <= 200) {
 						r += ` ${He} is becoming an adept leader, who knows how to squeeze every last drop of milk and cum out ${his} cows. The tutor believes ${he} will soon be able to run ${his} facility on ${his} own.`;
 					}
 					r += ` ${slaveSkillIncrease('milkmaid', slave, skillIncrease)}`;
 					break;
 				case "Farmer":
-					if (slave.skill.farmer <= 10) {
+					if (slave.skill.farmer <= 20) {
 						r += ` The tutor has ${him} working on a farm, nothing beats practical learning. ${He} learns how to grow cops and how to care for farm animals.`;
-					} else if (slave.skill.farmer <= 30) {
-						r += ` Having become familiar with farming, the tutor now has ${him} attend lectures on the science behind it. ${His} knowledge greatly increases due to this.`;
 					} else if (slave.skill.farmer <= 60) {
+						r += ` Having become familiar with farming, the tutor now has ${him} attend lectures on the science behind it. ${His} knowledge greatly increases due to this.`;
+					} else if (slave.skill.farmer <= 120) {
 						r += ` ${He} oversees a group of farmhands as they care for the animals and plow the fields. Having mastered farming, ${he}'s now training ${his} leadership skills.`;
-					} else if (slave.skill.farmer <= 100) {
+					} else if (slave.skill.farmer <= 200) {
 						r += ` The tutor has him lead an entire farm. ${He} manages every aspect, and does so admirably. ${He} is also introduced to a different side of slave farming, the "shows". It doesn't take long before ${he}'s overseeing those too...`;
 					}
 					r += ` ${slaveSkillIncrease('farmer', slave, skillIncrease)}`;
 					break;
 				case "Wardeness":
-					if (slave.skill.attendant <= 10) {
+					if (slave.skill.wardeness <= 20) {
 						r += ` A tutor takes ${him} through basic self-defense and the safe use of prison equipment.`;
-					} else if (slave.skill.attendant <= 30) {
+					} else if (slave.skill.wardeness <= 60) {
 						r += ` ${He} practices wrestling holds with a tutor, who also shows ${him} how to tie up resisting victims.`;
-					} else if (slave.skill.attendant <= 60) {
+					} else if (slave.skill.wardeness <= 120) {
 						r += ` The correctional psychology lectures ${he} watches this week are unburdened by ethics. ${He} learns how to handle prisoners more effectively.`;
-					} else if (slave.skill.attendant <= 100) {
+					} else if (slave.skill.wardeness <= 200) {
 						r += `${He} gets to study enhanced interrogation techniques from an experienced tutor, with ample demonstrations on live subjects, including ${himself}.`;
 					}
 					r += ` ${slaveSkillIncrease('wardeness', slave, skillIncrease)}`;
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 43a99301566eb0762cc5956c5bb69eb59b3a3ed9..0109122553356e47b53f94dfc8928a42863b5aa2 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -43,6 +43,12 @@ globalThis.DJRepBonus = function() {
 	} else if (S.DJ.skill.DJ >= V.masteredXP) {
 		value += 0.05;
 		// $He has musical experience from working for you, giving $his tracks actual depth.
+	} else if (S.DJ.skill.DJ > 120) {
+		value += 0.03;
+	} else if (S.DJ.skill.DJ > 60) {
+		value += 0.02;
+	} else if (S.DJ.skill.DJ > 20) {
+		value += 0.01;
 	}
 	return value;
 };
@@ -1455,8 +1461,12 @@ globalThis.slaveJobValues = function(lowerClassSexDemandRef, middleClassSexDeman
 		} else if (madam.skill.madam >= V.masteredXP) {
 			// $He has experience from working for you that helps $him in the seedy business of selling other people's bodies for sex.
 			App.EndWeek.saVars.madamBonus += 0.05;
-		} else {
-			madam.skill.madam += jsRandom(1, Math.ceil((madamIntel) / 15) + 8);
+		} else if (madam.skill.madam > 120) {
+			App.EndWeek.saVars.madamBonus += 0.03;
+		} else if (madam.skill.madam > 60) {
+			App.EndWeek.saVars.madamBonus += 0.02;
+		} else if (madam.skill.madam > 20) {
+			App.EndWeek.saVars.madamBonus += 0.01;
 		}
 		if (madamIntel > 15) {
 			// $He is a clever manager.