diff --git a/src/pregmod/JobFulfillmentCenter/generateJobFulfillmentSlave.js b/src/pregmod/JobFulfillmentCenter/generateJobFulfillmentSlave.js
index 4f175049b020039a4911ddd07852ee61bcb8c0e7..3a35edd83733fd87a132425055387209e5b70cd2 100644
--- a/src/pregmod/JobFulfillmentCenter/generateJobFulfillmentSlave.js
+++ b/src/pregmod/JobFulfillmentCenter/generateJobFulfillmentSlave.js
@@ -8,6 +8,7 @@ globalThis.generateJobFulfillmentSlave = function() {
 	};
 	let slave = GenerateNewSlave("XX", {minAge: 20, maxAge: 36, ageOverridesPedoMode: 1, disableDisability: 1});
 	const {his} = getPronouns(slave);
+	const agePenaltyCheck = V.AgePenalty === 1 ? 36 : 20;
 	slave.trust = 80; slave.devotion = 80;
 	slave.weight = jsRandom(-30, 20);
 	slave.waist = jsRandom(-30, 10);
@@ -36,7 +37,7 @@ globalThis.generateJobFulfillmentSlave = function() {
 			if (jsRandom(0, 2) === 0) {
 				configureLimbs(slave, "all", 5);
 			}
-			slave.career = either("a bodyguard", "a kunoichi", "a law enforcement officer", "a military brat", "a revolutionary", "a soldier", "a transporter", "an assassin", "in a militia");
+			slave.career = either(App.Data.misc.bodyguardCareers);
 			break;
 		case "Wardeness":
 			slave.energy = jsRandom(80, 100);
@@ -45,11 +46,12 @@ globalThis.generateJobFulfillmentSlave = function() {
 			slave.muscles = jsRandom(50, 80);
 			slave.skill.combat = 1;
 			applyMaleGenitalia({dick: jsRandom(3, 6), balls: jsRandom(3, 6), prostate: either(1, 1, 1, 2, 2, 3)});
-			slave.career = either("a bouncer", "a bounty hunter", "a gang member", "a mercenary", "a prison guard", "a private detective", "a security guard", "a street thug", "an enforcer");
+			slave.career = either(App.Data.misc.wardenessCareers);
 			break;
 			// Management
 		case "Headgirl":
-			slave = GenerateNewSlave("XX", {minAge: V.AgePenalty === 1 ? 36 : 20, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave = GenerateNewSlave("XX", {minAge: agePenaltyCheck, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave.intelligenceImplant = 30; slave.intelligence = jsRandom(50, 100);
 			slave.devotion = 90; slave.trust = 100,
 			slave.fetish = "dom"; slave.fetishStrength = 100;
 			slave.energy = jsRandom(70, 90);
@@ -57,7 +59,7 @@ globalThis.generateJobFulfillmentSlave = function() {
 			Object.assign(slave.skill, {entertainment: 100, whoring: 100, anal: 100, oral: 100, vaginal: 100});
 			slave.vagina = jsRandom(3, 4);
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(3, 6), prostate: either(1, 1, 2)});
-			slave.career = either("a lawyer", "a military officer", "a politician");
+			slave.career = either(App.Data.misc.HGCareers);
 			break;
 		case "Teacher":
 			slave = GenerateNewSlave("XX", {minAge: 36, maxAge: V.retirementAge-3, ageOverridesPedoMode: 1, disableDisability: 1});
@@ -68,49 +70,50 @@ globalThis.generateJobFulfillmentSlave = function() {
 			slave.face = jsRandom(41, 90);
 			slave.vagina = jsRandom(3, 4);
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(3, 6), prostate: either(1, 1, 1, 2, 2, 3)});
-			slave.career = either("a librarian", "a principal", "a private instructor", "a professor", "a scholar", "a scientist", "a teacher", "a teaching assistant");
+			slave.career = either(App.Data.misc.schoolteacherCareers);
 			break;
 		case "Nurse":
 			slave.fetish = "dom"; slave.fetishStrength = 100;
 			slave.muscles = jsRandom(6, 50);
 			slave.face = jsRandom(41, 90);
 			slave.sexualQuirk = "caring";
-			slave.intelligence = jsRandom(40, 90);
-			slave.career = either("a doctor", "a medic", "a medical student", "a nurse", "a paramedic");
-			break;
-		case "Motherly Attendant":
-			slave = GenerateNewSlave("XX", {minAge: 36, maxAge: V.retirementAge-3, ageOverridesPedoMode: 1, disableDisability: 1});
-			slave.devotion = 90; slave.trust = 90;
-			slave.fetish = "submissive"; slave.fetishStrength = 100;
-			slave.face = jsRandom(60, 90);
-			slave.counter.birthsTotal = jsRandom(1, 3);
-			slave.pregKnown = 1; slave.preg = jsRandom(20, 35); slave.pregWeek = slave.preg; slave.pregType = 1;
-			SetBellySize(slave);
-			slave.vagina = jsRandom(3, 4);
-			slave.career = either("a counselor", "a dispatch officer", "a lifeguard", "a masseuse", "a psychologist", "a therapist");
+			slave.intelligence = jsRandom(51, 100);
+			slave.career = either(App.Data.misc.nurseCareers);
 			break;
 		case "Attendant":
-			slave = GenerateNewSlave("XX", {minAge: 26, maxAge: V.retirementAge-3, ageOverridesPedoMode: 1, disableDisability: 1});
+		case "Motherly Attendant":
+			const isMotherly = V.JFC.role.includes('Motherly');
+			slave = GenerateNewSlave("XX", {minAge: (isMotherly ? 36 : 26), maxAge: V.retirementAge-3, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave.intelligenceImplant = 30; slave.intelligence = jsRandom(20, 100);
 			slave.devotion = 90; slave.trust = 90;
 			slave.fetish = "submissive"; slave.fetishStrength = 100;
-			slave.preg = 0;
 			slave.face = jsRandom(60, 90);
+			if (isMotherly) {
+				slave.counter.birthsTotal = jsRandom(1, 3);
+				slave.pregKnown = 1; slave.pregWeek = slave.preg = jsRandom(20, 35); slave.pregType = 1;
+				SetBellySize(slave);
+				slave.vagina = jsRandom(3, 4);
+			} else {
+				slave.preg = 0;
+			}
 			eyeSurgery(slave, "both", either(0, 2, 2) === 2 ? "normal" : "blind");
-			slave.career = either("a counselor", "a masseuse", "a therapist");
+			slave.career = either(App.Data.misc.attendantCareers);
 			break;
 		case "Matron":
 			slave = GenerateNewSlave("XX", {minAge: 24, maxAge: V.retirementAge-3, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave.intelligenceImplant = 30; slave.intelligence = jsRandom(20, 100);
 			slave.devotion = 90; slave.trust = 90;
 			slave.sexualQuirk = "caring";
 			slave.counter.birthsTotal = jsRandom(2, 4); slave.vagina = 3;
 			slave.face = jsRandom(60, 90);
-			slave.career = either( "a nanny", "a practitioner");
+			slave.career = either(App.Data.misc.matronCareers);
 			break;
 		case "Stewardess":
-			slave = GenerateNewSlave("XX", {minAge: V.AgePenalty === 1 ? 36 : 20, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave = GenerateNewSlave("XX", {minAge: agePenaltyCheck, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave.intelligenceImplant = 30; slave.intelligence = jsRandom(20, 100);
 			slave.energy = jsRandom(70, 90);
 			slave.fetish = "dom"; slave.fetishStrength = 100;
-			slave.career = either("a barista", "a bartender", "a caregiver", "a charity worker", "a professional bartender", "a secretary", "a wedding planner", "an air hostess", "an estate agent", "an investor", "an office worker");
+			slave.career = either(App.Data.misc.stewardessCareers);
 			break;
 		case "Milkmaid":
 			slave.muscles = jsRandom(31, 60);
@@ -118,30 +121,31 @@ globalThis.generateJobFulfillmentSlave = function() {
 			slave.sexualQuirk = "caring"; slave.behavioralQuirk = "funny";
 			slave.intelligence = jsRandom(20, 70);
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(4, 9), prostate: either(1, 1, 1, 2)});
-			slave.career = either("a cowgirl", "a dairy worker", "a milkmaid", "a farmer's daughter", "a shepherd", "a veterinarian");
+			slave.career = either(App.Data.misc.milkmaidCareers);
 			break;
 		case "Farmer":
-			slave = GenerateNewSlave("XX", {minAge: V.AgePenalty === 1 ? 36 : 20, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave = GenerateNewSlave("XX", {minAge: agePenaltyCheck, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
 			slave.muscles = jsRandom(41, 70);
 			slave.sexualQuirk = "caring";
 			slave.weight = jsRandom(0, 30);
 			slave.intelligence = jsRandom(20, 70);
 			slave.height = Math.round(Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]}));
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(4, 9), prostate: either(1, 1, 1, 2)});
-			slave.career = either("a farmer", "a farmer's daughter", "a rancher", "a farmhand", "a zookeeper");
+			slave.career = either(App.Data.misc.farmerCareers);
 			break;
 			// Entertain
 		case "DJ":
 			slave.skill.entertainment = 100;
 			slave.muscles = jsRandom(6, 30);
-			slave.face = jsRandom(80, 100);
-			slave.career = either("a classical dancer", "a classical musician", "a dancer", "a house DJ", "a musician", "an aspiring pop star");
+			slave.face = 100;
+			slave.career = either(App.Data.misc.DJCareers);
 			break;
 		case "Madam":
-			slave = GenerateNewSlave("XX", {minAge: V.AgePenalty === 1 ? 36 : 20, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave = GenerateNewSlave("XX", {minAge: agePenaltyCheck, maxAge: V.retirementAge-5, ageOverridesPedoMode: 1, disableDisability: 1});
+			slave.intelligenceImplant = 30; slave.intelligence = jsRandom(20, 100);
 			slave.skill.whoring = 100;
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(3, 5), prostate: either(1, 1, 1, 2)});
-			slave.career = either("a business owner", "a manager", "a pimp", "a procuress", "an innkeeper");
+			slave.career = either(App.Data.misc.madamCareers);
 			break;
 		case "Concubine":
 			slave.devotion = jsRandom(90, 95); slave.trust = jsRandom(90, 100);