diff --git a/devTools/types/SugarCubeExtensions.d.ts b/devTools/types/SugarCubeExtensions.d.ts
index 25848dea72104b0df63a1dbba2a19b0650dc5572..52eaed4fd5f7094d7ace8765ef0f122992e8e563 100644
--- a/devTools/types/SugarCubeExtensions.d.ts
+++ b/devTools/types/SugarCubeExtensions.d.ts
@@ -20,30 +20,6 @@ declare module "twine-sugarcube" {
 		whiteAmericanSlaveNames: string[];
 		whiteAmericanSlaveSurnames: string[];
 
-		attendantCareers: string[];
-		bodyguardCareers: string[];
-		DJCareers: string[];
-		educatedCareers: string[];
-		entertainmentCareers: string[];
-		facilityCareers: string[];
-		farmerCareers: string[];
-		gratefulCareers: string[];
-		HGCareers: string[];
-		madamCareers: string[];
-		matronCareers: string[];
-		menialCareers: string[];
-		milkmaidCareers: string[];
-		nurseCareers: string[];
-		recruiterCareers: string[];
-		schoolteacherCareers: string[];
-		servantCareers: string[];
-		stewardessCareers: string[];
-		uneducatedCareers: string[];
-		veryYoungCareers: string[];
-		wardenessCareers: string[];
-		whoreCareers: string[];
-		youngCareers: string[];
-
 		fakeBellies: string[];
 		filterRaces: string[];
 		filterRacesLowercase: FC.Race[];
diff --git a/js/003-data/careers.js b/js/003-data/careers.js
new file mode 100644
index 0000000000000000000000000000000000000000..8764824377cbd086155963e1900c364cccbd1446
--- /dev/null
+++ b/js/003-data/careers.js
@@ -0,0 +1,50 @@
+App.Data.Careers = {
+	General: {
+		veryYoung: ["a babysitter", "a beggar", "a beggar", "a bully hunter", "a bully", "a camp counselor", "a cheerleader", "a child actress", "a child prodigy", "a child prostitute", "a child prostitute", "a child soldier", "a child soldier", "a club manager", "a club recruiter", "a club treasurer", "a cum dump", "a dropout", "a dropout", "a drug mule", "a farmer's daughter", "a girl scout", "a girl scout", "a hall monitor", "a handmaiden", "a hospital volunteer", "a housesitter", "a juvenile delinquent", "a juvenile delinquent", "a latchkey kid", "a lemonade stand operator", "a marching band leader", "a meat toilet", "a military brat", "a model-UN star", "a model", "a noblewoman", "a pageant star", "a paper girl", "a part-time farm laborer", "a pick-pocket", "a refugee", "a refugee", "a refugee", "a school nurse's assistant", "a shrine maiden", "a street thug", "a street urchin", "a street urchin", "a street urchin", "a student council president", "a student from a boarding school", "a student from a private school", "a student from a public school", "a student from a public school", "a student from a public school", "a student from a public school", "a student from a public school", "a sweatshop worker", "a sweatshop worker", "a sweatshop worker", "a sweatshop worker", "a teacher's pet", "an apprentice", "an aspiring pop star", "an idol", "an orphan", "an orphan", "an orphan", "an orphan", "an orphan", "being homeschooled by her parents", "captain of the kendo club", "from a lower class family", "from a lower class family", "from a lower class family", "from a middle class family", "from a middle class family", "from an upper class family", "homeless", "homeless", "homeless"],
+
+		young: ["a babysitter", "a ballerina", "a barista", "a bartender", "a beggar", "a blogger", "a butler", "a camgirl", "a camp counselor", "a camwhore", "a cashier", "a cheerleader", "a cocktail waitress", "a comedian", "a con artist", "a cook", "a courier", "a cowgirl", "a criminal", "a croupier", "a cum dump", "a dairy worker", "a dancer", "a delivery woman", "a dominatrix", "a drug mule", "a factory worker", "a farm laborer", "a farm laborer", "a farmer's daughter", "a florist", "a gang member", "a gang member", "a gardener", "a groomer", "a gymnast", "a handmaiden", "a house DJ", "a housesitter", "a housewife", "a law enforcement officer", "a lifeguard", "a magician's assistant", "a maid", "a mail-order bride", "a masseuse", "a meat toilet", "a mechanic", "a medical student", "a mistress", "a model", "a musician", "a noblewoman", "a nun", "a nurse", "a paramedic", "a party girl", "a personal assistant", "a personal trainer", "a pirate", "a political activist", "a porn star", "a prisoner", "a programmer", "a prostitute", "a racing driver", "a reality show star", "a receptionist", "a refugee", "a ride attendant", "a saleswoman", "a school nurse", "a secretary", "a security guard", "a service worker", "a shrine maiden", "a shut-in", "a soldier", "a street performer", "a street vendor", "a stripper", "a student", "a student", "a student", "a switchboard operator", "a teaching assistant", "a tour guide", "a trophy wife", "a truck driver", "a video game streamer", "a waitress", "a wet nurse", "a yoga instructor", "an actress", "an air hostess", "an apprentice", "an arcade attendant", "an artist", "an aspiring pop star", "an assassin", "an athlete", "an au pair", "an escort", "an exotic dancer", "an idol", "an installation technician", "an intern", "an office worker", "homeless", "in a militia", "unemployed", "unemployed", "unemployed", "unemployed", "unemployed"],
+
+		educated: ["a ballerina", "a banker", "a bureaucrat", "a business owner", "a businessman", "a captain", "a chemist", "a chief of police", "a classical dancer", "a classical musician", "a coach", "a college scout", "a concierge", "a coroner", "a corporate executive", "a cosmetologist", "a counselor", "a criminal", "a critic", "a cult leader", "a dean", "a dentist", "a dentist", "a director", "a dispatch officer", "a doctor", "a historian", "a housekeeper", "a journalist", "a journalist", "a judge", "a lawyer", "a librarian", "a lobbyist", "a madam", "a manager", "a mechanic", "a mediator", "a medical student", "a mercenary", "a military officer", "a military recruiter", "a nanny", "a noblewoman", "a nun", "a painter", "a paramedic", "a personal assistant", "a pharmacist", "a photographer", "a physician", "a pilot", "a poet", "a police detective", "a police negotiator", "a police officer", "a political activist", "a politician", "a practitioner", "a principal", "a prison warden", "a private detective", "a private instructor", "a procuress", "a producer", "a professional bartender", "a professor", "a programmer", "a prostitute", "a psychologist", "a refugee", "a scholar", "a scientist", "a sculptor", "a secretary", "a serial divorcee", "a shut-in", "a stockbroker", "a surgeon", "a teacher", "a teaching assistant", "a therapist", "a train conductor", "a transporter", "a veterinarian", "a wedding planner", "a writer", "a zookeeper", "an actress", "an air hostess", "an animator", "an archaeologist", "an architect", "an artist", "an assassin", "an astronaut", "an economist", "an editor", "an engineer", "an escort", "an estate agent", "an investor", "an MS pilot", "an office worker", "an orchestra conductor", "retired", "unemployed"],
+
+		uneducated: ["a baker", "a barber", "a barista", "a bartender", "a beekeeper", "a beggar", "a blacksmith", "a blogger", "a bodyguard", "a bouncer", "a bounty hunter", "a boxer", "a brewer", "a bullfighter", "a bus driver", "a butcher", "a butler", "a camgirl", "a camp counselor", "a camwhore", "a candlestick maker", "a caregiver", "a carpenter", "a cashier", "a charity worker", "a chauffeur", "a cheerleader", "a chiropractor", "a clown", "a cobbler", "a cocktail waitress", "a comedian", "a con artist", "a construction worker", "a cook", "a cowgirl", "a criminal", "a croupier", "a cum dump", "a dairy worker", "a dancer", "a delivery woman", "a dominatrix", "a driller", "a drug mule", "a factory worker", "a farm laborer", "a farmer's daughter", "a farmer", "a firefighter", "a fisherwoman", "a florist", "a fortune teller", "a gang leader", "a gang member", "a gardener", "a gravedigger", "a groomer", "a gymnast", "a handmaiden", "a hotel manager", "a house DJ", "a housewife", "a hunter", "a janitor", "a landlady", "a launderer", "a law enforcement officer", "a lifeguard", "a local news anchor", "a lumberjack", "a magician's assistant", "a maid", "a mail carrier", "a mail-order bride", "a masseuse", "a masseuse", "a meat toilet", "a medic", "a medic", "a medium", "a messenger", "a midwife", "a milkmaid", "a mime", "a miner", "a missionary", "a mistress", "a model", "a mortician", "a musician", "a nanny", "a nurse", "a paramedic", "a park ranger", "a party girl", "a peddler", "a personal trainer", "a pimp", "a pirate", "a plumber", "a political activist", "a prison guard", "a prisoner", "a procuress", "a prostitute", "a racing driver", "a radio show host", "a rancher", "a receptionist", "a referee", "a refugee", "a repairman", "a revolutionary", "a ride attendant", "a roadie", "a rodeo star", "a sailor", "a saleswoman", "a school nurse", "a seamstress", "a secretary", "a security guard", "a service worker", "a shepherd", "a shrine maiden", "a soldier", "a stage magician", "a street performer", "a street vendor", "a stripper", "a student", "a student athlete", "a stuntwoman", "a switchboard operator", "a tailor", "a talent scout", "a taxi driver", "a teacher", "a tour guide", "a trophy wife", "a truck driver", "a waitress", "a weathergirl", "a welder", "a wet nurse", "a whaler", "a wrestler", "a zookeeper", "an acrobat", "an actress", "an arcade attendant", "an artist", "an aspiring pop star", "an athlete", "an electrician", "an enforcer", "an enforcer", "an escort", "an exotic dancer", "an exterminator", "an innkeeper", "an installation technician", "an office worker", "an orderly", "homeless", "in a militia", "retired", "unemployed", "unemployed", "unemployed", "unemployed", "unemployed"],
+
+		grateful: ["a beggar", "a drug mule", "a peddler", "a pick-pocket", "a prisoner", "a refugee", "a shut-in", "a street urchin", "a student from a boarding school", "a sweatshop worker", "a thief", "an orphan", "from a lower class family", "homeless", "unemployed"],
+
+		menial: ["a baker", "a blacksmith", "a bus driver", "a butcher", "a candlestick maker", "a carpenter", "a cashier", "a chauffeur", "a cobbler", "a construction worker", "a courier", "a croupier", "a delivery woman", "a driller", "a dropout", "a factory worker", "a farm laborer", "a firefighter", "a fisherwoman", "a florist", "a gardener", "a gravedigger", "a janitor", "a launderer", "a lumberjack", "a mail carrier", "a mechanic", "a messenger", "a miner", "a nun", "a paper girl", "a part-time farm laborer", "a pilot", "a plumber", "a private", "a programmer", "a receptionist", "a referee", "a repairman", "a ride attendant", "a roadie", "a sailor", "a seamstress", "a service worker", "a street vendor", "a student from a private school", "a student from a public school", "a student", "a switchboard operator", "a tailor", "a taxi driver", "a terrorist", "a tour guide", "a train conductor", "a truck driver", "a welder", "a whaler", "an apprentice", "an arcade attendant", "an electrician", "an engineer", "an exterminator", "an installation technician", "an intern"],
+
+		entertainment: ["a ballerina", "a blogger", "a camgirl", "a camwhore", "a cheerleader", "a child actress", "a clown", "a cocktail waitress", "a comedian", "a gymnast", "a journalist", "a local news anchor", "a magician's assistant", "a medium", "a mime", "a painter", "a party girl", "a photographer", "a poet", "a racing driver", "a sculptor", "a stage magician", "a street performer", "a student athlete", "a stuntwoman", "a video game streamer", "a waitress", "a weathergirl", "a wrestler", "a writer", "an acrobat", "an actress", "an animator", "an artist", "an athlete"],
+
+		whore: ["a bimbo", "a child prostitute", "a criminal", "a cum dump", "a Futanari Sister", "a juvenile delinquent", "a mail-order bride", "a meat toilet", "a mistress", "a model", "a pageant star", "a pirate", "a porn star", "a prostitute", "a reality show star", "a saleswoman", "a serial divorcee", "a stripper", "a trophy wife", "an escort", "an exotic dancer"],
+
+		/* 	otherCareers: ["a producer", "being homeschooled by her parents", "from a middle class family", "from an upper class family"]>> */
+	},
+	Leader: {
+		HG: ["a captain", "a corporate executive", "a director", "a dominatrix", "a gang leader", "a judge", "a lawyer", "a leading arcology citizen", "a military officer", "a model-UN star", "a noblewoman", "a politician", "a Queen", "a slaver", "a student council president"],
+
+		madam: ["a banker", "a business owner", "a businessman", "a camp counselor", "a club manager", "a hotel manager", "a landlady", "a madam", "a manager", "a park ranger", "a pimp", "a procuress", "a stockbroker", "an innkeeper"],
+
+		DJ: ["a classical dancer", "a classical musician", "a dancer", "a house DJ", "a marching band leader", "a musician", "a radio show host", "an aspiring pop star", "an idol", "an orchestra conductor"],
+
+		bodyguard: ["a bodyguard", "a boxer", "a bully hunter", "a child soldier", "a hitman", "a kunoichi", "a law enforcement officer", "a military brat", "a prince", "a revolutionary", "a sniper", "a soldier", "a transporter", "an assassin", "an MS pilot", "captain of the kendo club", "in a militia", "spec ops"],
+
+		wardeness: ["a bouncer", "a bounty hunter", "a bully", "a chief of police", "a gang member", "a hall monitor", "a mercenary", "a police detective", "a police officer", "a prison guard", "a prison warden", "a private detective", "a security guard", "a street thug", "an enforcer", "an orderly"],
+
+		nurse: ["a chemist", "a chiropractor", "a coroner", "a dentist", "a doctor", "a hospital volunteer", "a medic", "a medical student", "a midwife", "a mortician", "a nurse", "a paramedic", "a pharmacist", "a physician", "a school nurse's assistant", "a school nurse", "a surgeon"],
+
+		attendant: ["a barber", "a cosmetologist", "a counselor", "a dispatch officer", "a fortune teller", "a groomer", "a latchkey kid", "a lifeguard", "a masseuse", "a mediator", "a personal trainer", "a police negotiator", "a psychologist", "a therapist", "a yoga instructor"],
+
+		matron: ["a babysitter", "a nanny", "a practitioner", "a wet nurse", "an au pair"],
+
+		milkmaid: ["a cowgirl", "a dairy worker", "a farmer's daughter", "a milkmaid", "a shepherd", "a veterinarian"],
+
+		farmer: ["a beekeeper", "a bullfighter", "a farmer", "a farmhand", "a rancher", "a rodeo star", "a zookeeper"],
+
+		stewardess: ["a barista", "a bartender", "a brewer", "a bureaucrat", "a caregiver", "a charity worker", "a club treasurer", "a concierge", "a critic", "a housekeeper", "a housesitter", "a lemonade stand operator", "a personal assistant", "a professional bartender", "a secretary", "a wedding planner", "an air hostess", "an architect", "an editor", "an estate agent", "an investor", "an office worker"],
+
+		schoolteacher: ["a child prodigy", "a coach", "a dean", "a historian", "a librarian", "a principal", "a private instructor", "a professor", "a scholar", "a scientist", "a teacher's pet", "a teacher", "a teaching assistant", "an archaeologist", "an astronaut", "an economist"],
+
+		recruiter: ["a club recruiter", "a college scout", "a con artist", "a cult leader", "a girl scout", "a hunter", "a lobbyist", "a military recruiter", "a missionary", "a political activist", "a princess", "a spy", "a talent scout", "retired"],
+
+		servant: ["a butler", "a cook", "a handmaiden", "a housewife", "a maid", "a shrine maiden"],
+	},
+};
diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js
index 4c801e2fe0dc31f52ec46ff93024149f0731f14f..0c8a7ae7e12f768ba2ad37b6683e286ded90c31d 100644
--- a/js/003-data/miscData.js
+++ b/js/003-data/miscData.js
@@ -1564,54 +1564,6 @@ App.Data.misc = {
 	highHeels: ["boots", "extreme heels", "extreme platform heels", "heels", "platform heels"],
 	heightBoostingShoes: ["extreme heels", "extreme platform heels", "heels", "platform heels", "platform shoes", "pumps"],
 
-	veryYoungCareers: ["a babysitter", "a beggar", "a beggar", "a bully hunter", "a bully", "a camp counselor", "a cheerleader", "a child actress", "a child prodigy", "a child prostitute", "a child prostitute", "a child soldier", "a child soldier", "a club manager", "a club recruiter", "a club treasurer", "a cum dump", "a dropout", "a dropout", "a drug mule", "a farmer's daughter", "a girl scout", "a girl scout", "a hall monitor", "a handmaiden", "a hospital volunteer", "a housesitter", "a juvenile delinquent", "a juvenile delinquent", "a latchkey kid", "a lemonade stand operator", "a marching band leader", "a meat toilet", "a military brat", "a model-UN star", "a model", "a noblewoman", "a pageant star", "a paper girl", "a part-time farm laborer", "a pick-pocket", "a refugee", "a refugee", "a refugee", "a school nurse's assistant", "a shrine maiden", "a street thug", "a street urchin", "a street urchin", "a street urchin", "a student council president", "a student from a boarding school", "a student from a private school", "a student from a public school", "a student from a public school", "a student from a public school", "a student from a public school", "a student from a public school", "a sweatshop worker", "a sweatshop worker", "a sweatshop worker", "a sweatshop worker", "a teacher's pet", "an apprentice", "an aspiring pop star", "an idol", "an orphan", "an orphan", "an orphan", "an orphan", "an orphan", "being homeschooled by her parents", "captain of the kendo club", "from a lower class family", "from a lower class family", "from a lower class family", "from a middle class family", "from a middle class family", "from an upper class family", "homeless", "homeless", "homeless"],
-	/* pregmod */
-
-	youngCareers: ["a babysitter", "a ballerina", "a barista", "a bartender", "a beggar", "a blogger", "a butler", "a camgirl", "a camp counselor", "a camwhore", "a cashier", "a cheerleader", "a cocktail waitress", "a comedian", "a con artist", "a cook", "a courier", "a cowgirl", "a criminal", "a croupier", "a cum dump", "a dairy worker", "a dancer", "a delivery woman", "a dominatrix", "a drug mule", "a factory worker", "a farm laborer", "a farm laborer", "a farmer's daughter", "a florist", "a gang member", "a gang member", "a gardener", "a groomer", "a gymnast", "a handmaiden", "a house DJ", "a housesitter", "a housewife", "a law enforcement officer", "a lifeguard", "a magician's assistant", "a maid", "a mail-order bride", "a masseuse", "a meat toilet", "a mechanic", "a medical student", "a mistress", "a model", "a musician", "a noblewoman", "a nun", "a nurse", "a paramedic", "a party girl", "a personal assistant", "a personal trainer", "a pirate", "a political activist", "a porn star", "a prisoner", "a programmer", "a prostitute", "a racing driver", "a reality show star", "a receptionist", "a refugee", "a ride attendant", "a saleswoman", "a school nurse", "a secretary", "a security guard", "a service worker", "a shrine maiden", "a shut-in", "a soldier", "a street performer", "a street vendor", "a stripper", "a student", "a student", "a student", "a switchboard operator", "a teaching assistant", "a tour guide", "a trophy wife", "a truck driver", "a video game streamer", "a waitress", "a wet nurse", "a yoga instructor", "an actress", "an air hostess", "an apprentice", "an arcade attendant", "an artist", "an aspiring pop star", "an assassin", "an athlete", "an au pair", "an escort", "an exotic dancer", "an idol", "an installation technician", "an intern", "an office worker", "homeless", "in a militia", "unemployed", "unemployed", "unemployed", "unemployed", "unemployed"],
-
-	educatedCareers: ["a ballerina", "a banker", "a bureaucrat", "a business owner", "a businessman", "a captain", "a chemist", "a chief of police", "a classical dancer", "a classical musician", "a coach", "a college scout", "a concierge", "a coroner", "a corporate executive", "a cosmetologist", "a counselor", "a criminal", "a critic", "a cult leader", "a dean", "a dentist", "a dentist", "a director", "a dispatch officer", "a doctor", "a historian", "a housekeeper", "a journalist", "a journalist", "a judge", "a lawyer", "a librarian", "a lobbyist", "a madam", "a manager", "a mechanic", "a mediator", "a medical student", "a mercenary", "a military officer", "a military recruiter", "a nanny", "a noblewoman", "a nun", "a painter", "a paramedic", "a personal assistant", "a pharmacist", "a photographer", "a physician", "a pilot", "a poet", "a police detective", "a police negotiator", "a police officer", "a political activist", "a politician", "a practitioner", "a principal", "a prison warden", "a private detective", "a private instructor", "a procuress", "a producer", "a professional bartender", "a professor", "a programmer", "a prostitute", "a psychologist", "a refugee", "a scholar", "a scientist", "a sculptor", "a secretary", "a serial divorcee", "a shut-in", "a stockbroker", "a surgeon", "a teacher", "a teaching assistant", "a therapist", "a train conductor", "a transporter", "a veterinarian", "a wedding planner", "a writer", "a zookeeper", "an actress", "an air hostess", "an animator", "an archaeologist", "an architect", "an artist", "an assassin", "an astronaut", "an economist", "an editor", "an engineer", "an escort", "an estate agent", "an investor", "an MS pilot", "an office worker", "an orchestra conductor", "retired", "unemployed"],
-
-	uneducatedCareers: ["a baker", "a barber", "a barista", "a bartender", "a beekeeper", "a beggar", "a blacksmith", "a blogger", "a bodyguard", "a bouncer", "a bounty hunter", "a boxer", "a brewer", "a bullfighter", "a bus driver", "a butcher", "a butler", "a camgirl", "a camp counselor", "a camwhore", "a candlestick maker", "a caregiver", "a carpenter", "a cashier", "a charity worker", "a chauffeur", "a cheerleader", "a chiropractor", "a clown", "a cobbler", "a cocktail waitress", "a comedian", "a con artist", "a construction worker", "a cook", "a cowgirl", "a criminal", "a croupier", "a cum dump", "a dairy worker", "a dancer", "a delivery woman", "a dominatrix", "a driller", "a drug mule", "a factory worker", "a farm laborer", "a farmer's daughter", "a farmer", "a firefighter", "a fisherwoman", "a florist", "a fortune teller", "a gang leader", "a gang member", "a gardener", "a gravedigger", "a groomer", "a gymnast", "a handmaiden", "a hotel manager", "a house DJ", "a housewife", "a hunter", "a janitor", "a landlady", "a launderer", "a law enforcement officer", "a lifeguard", "a local news anchor", "a lumberjack", "a magician's assistant", "a maid", "a mail carrier", "a mail-order bride", "a masseuse", "a masseuse", "a meat toilet", "a medic", "a medic", "a medium", "a messenger", "a midwife", "a milkmaid", "a mime", "a miner", "a missionary", "a mistress", "a model", "a mortician", "a musician", "a nanny", "a nurse", "a paramedic", "a park ranger", "a party girl", "a peddler", "a personal trainer", "a pimp", "a pirate", "a plumber", "a political activist", "a prison guard", "a prisoner", "a procuress", "a prostitute", "a racing driver", "a radio show host", "a rancher", "a receptionist", "a referee", "a refugee", "a repairman", "a revolutionary", "a ride attendant", "a roadie", "a rodeo star", "a sailor", "a saleswoman", "a school nurse", "a seamstress", "a secretary", "a security guard", "a service worker", "a shepherd", "a shrine maiden", "a soldier", "a stage magician", "a street performer", "a street vendor", "a stripper", "a student", "a student athlete", "a stuntwoman", "a switchboard operator", "a tailor", "a talent scout", "a taxi driver", "a teacher", "a tour guide", "a trophy wife", "a truck driver", "a waitress", "a weathergirl", "a welder", "a wet nurse", "a whaler", "a wrestler", "a zookeeper", "an acrobat", "an actress", "an arcade attendant", "an artist", "an aspiring pop star", "an athlete", "an electrician", "an enforcer", "an enforcer", "an escort", "an exotic dancer", "an exterminator", "an innkeeper", "an installation technician", "an office worker", "an orderly", "homeless", "in a militia", "retired", "unemployed", "unemployed", "unemployed", "unemployed", "unemployed"],
-
-	gratefulCareers: ["a beggar", "a drug mule", "a peddler", "a pick-pocket", "a prisoner", "a refugee", "a shut-in", "a street urchin", "a student from a boarding school", "a sweatshop worker", "a thief", "an orphan", "from a lower class family", "homeless", "unemployed"],
-
-	menialCareers: ["a baker", "a blacksmith", "a bus driver", "a butcher", "a candlestick maker", "a carpenter", "a cashier", "a chauffeur", "a cobbler", "a construction worker", "a courier", "a croupier", "a delivery woman", "a driller", "a dropout", "a factory worker", "a farm laborer", "a firefighter", "a fisherwoman", "a florist", "a gardener", "a gravedigger", "a janitor", "a launderer", "a lumberjack", "a mail carrier", "a mechanic", "a messenger", "a miner", "a nun", "a paper girl", "a part-time farm laborer", "a pilot", "a plumber", "a private", "a programmer", "a receptionist", "a referee", "a repairman", "a ride attendant", "a roadie", "a sailor", "a seamstress", "a service worker", "a street vendor", "a student from a private school", "a student from a public school", "a student", "a switchboard operator", "a tailor", "a taxi driver", "a terrorist", "a tour guide", "a train conductor", "a truck driver", "a welder", "a whaler", "an apprentice", "an arcade attendant", "an electrician", "an engineer", "an exterminator", "an installation technician", "an intern"],
-
-	entertainmentCareers: ["a ballerina", "a blogger", "a camgirl", "a camwhore", "a cheerleader", "a child actress", "a clown", "a cocktail waitress", "a comedian", "a gymnast", "a journalist", "a local news anchor", "a magician's assistant", "a medium", "a mime", "a painter", "a party girl", "a photographer", "a poet", "a racing driver", "a sculptor", "a stage magician", "a street performer", "a student athlete", "a stuntwoman", "a video game streamer", "a waitress", "a weathergirl", "a wrestler", "a writer", "an acrobat", "an actress", "an animator", "an artist", "an athlete"],
-
-	whoreCareers: ["a bimbo", "a child prostitute", "a criminal", "a cum dump", "a Futanari Sister", "a juvenile delinquent", "a mail-order bride", "a meat toilet", "a mistress", "a model", "a pageant star", "a pirate", "a porn star", "a prostitute", "a reality show star", "a saleswoman", "a serial divorcee", "a stripper", "a trophy wife", "an escort", "an exotic dancer"],
-
-	HGCareers: ["a captain", "a corporate executive", "a director", "a dominatrix", "a gang leader", "a judge", "a lawyer", "a leading arcology citizen", "a military officer", "a model-UN star", "a noblewoman", "a politician", "a Queen", "a slaver", "a student council president"],
-
-	madamCareers: ["a banker", "a business owner", "a businessman", "a camp counselor", "a club manager", "a hotel manager", "a landlady", "a madam", "a manager", "a park ranger", "a pimp", "a procuress", "a stockbroker", "an innkeeper"],
-
-	DJCareers: ["a classical dancer", "a classical musician", "a dancer", "a house DJ", "a marching band leader", "a musician", "a radio show host", "an aspiring pop star", "an idol", "an orchestra conductor"],
-
-	bodyguardCareers: ["a bodyguard", "a boxer", "a bully hunter", "a child soldier", "a hitman", "a kunoichi", "a law enforcement officer", "a military brat", "a prince", "a revolutionary", "a sniper", "a soldier", "a transporter", "an assassin", "an MS pilot", "captain of the kendo club", "in a militia", "spec ops"],
-
-	wardenessCareers: ["a bouncer", "a bounty hunter", "a bully", "a chief of police", "a gang member", "a hall monitor", "a mercenary", "a police detective", "a police officer", "a prison guard", "a prison warden", "a private detective", "a security guard", "a street thug", "an enforcer", "an orderly"],
-
-	nurseCareers: ["a chemist", "a chiropractor", "a coroner", "a dentist", "a doctor", "a hospital volunteer", "a medic", "a medical student", "a midwife", "a mortician", "a nurse", "a paramedic", "a pharmacist", "a physician", "a school nurse's assistant", "a school nurse", "a surgeon"],
-
-	attendantCareers: ["a barber", "a cosmetologist", "a counselor", "a dispatch officer", "a fortune teller", "a groomer", "a latchkey kid", "a lifeguard", "a masseuse", "a mediator", "a personal trainer", "a police negotiator", "a psychologist", "a therapist", "a yoga instructor"],
-
-	matronCareers: ["a babysitter", "a nanny", "a practitioner", "a wet nurse", "an au pair"],
-
-	milkmaidCareers: ["a cowgirl", "a dairy worker", "a farmer's daughter", "a milkmaid", "a shepherd", "a veterinarian"],
-
-	farmerCareers: ["a beekeeper", "a bullfighter", "a farmer", "a farmhand", "a rancher", "a rodeo star", "a zookeeper"],
-
-	stewardessCareers: ["a barista", "a bartender", "a brewer", "a bureaucrat", "a caregiver", "a charity worker", "a club treasurer", "a concierge", "a critic", "a housekeeper", "a housesitter", "a lemonade stand operator", "a personal assistant", "a professional bartender", "a secretary", "a wedding planner", "an air hostess", "an architect", "an editor", "an estate agent", "an investor", "an office worker"],
-
-	schoolteacherCareers: ["a child prodigy", "a coach", "a dean", "a historian", "a librarian", "a principal", "a private instructor", "a professor", "a scholar", "a scientist", "a teacher's pet", "a teacher", "a teaching assistant", "an archaeologist", "an astronaut", "an economist"],
-
-	recruiterCareers: ["a club recruiter", "a college scout", "a con artist", "a cult leader", "a girl scout", "a hunter", "a lobbyist", "a military recruiter", "a missionary", "a political activist", "a princess", "a spy", "a talent scout", "retired"],
-	/* pregmod */
-
-	servantCareers: ["a butler", "a cook", "a handmaiden", "a housewife", "a maid", "a shrine maiden"],
-
-	/* 	otherCareers: ["a producer", "being homeschooled by her parents", "from a middle class family", "from an upper class family"]>> */
-
 	paraphiliaList: ["abusive", "anal addict", "attention whore", "breast growth", "breeder", "cum addict", "malicious", "neglectful", "self hating"],
 
 	baseNationalities: ["Afghan", "Albanian", "Algerian", "American", "Andorran", "Angolan", "Antiguan", "Argentinian", "Armenian", "Aruban", "Australian", "Austrian", "Azerbaijani", "Bahamian", "Bahraini", "Bangladeshi", "Barbadian", "Belarusian", "Belgian", "Belizean", "Beninese", "Bermudian", "Bhutanese", "Bissau-Guinean", "Bolivian", "Bosnian", "Brazilian", "British", "Bruneian", "Bulgarian", "Burkinabé", "Burmese", "Burundian", "Cambodian", "Cameroonian", "Canadian", "Cape Verdean", "Catalan", "Central African", "Chadian", "Chilean", "Chinese", "Colombian", "Comorian", "Congolese", "a Cook Islander", "Costa Rican", "Croatian", "Cuban", "Curaçaoan", "Cypriot", "Czech", "Danish", "Djiboutian", "Dominican", "Dominiquais", "Dutch", "East Timorese", "Ecuadorian", "Egyptian", "Emirati", "Equatoguinean", "Eritrean", "Estonian", "Ethiopian", "Fijian", "Filipina", "Finnish", "French", "French Guianan", "French Polynesian", "Gabonese", "Gambian", "Georgian", "German", "Ghanan", "Greek", "Greenlandic", "Grenadian", "Guamanian", "Guatemalan", "Guinean", "Guyanese", "Haitian", "Honduran", "Hungarian", "I-Kiribati", "Icelandic", "Indian", "Indonesian", "Iranian", "Iraqi", "Irish", "Israeli", "Italian", "Ivorian", "Jamaican", "Japanese", "Jordanian", "Kazakh", "Kenyan", "Kittitian", "Korean", "Kosovan", "Kurdish", "Kuwaiti", "Kyrgyz", "Laotian", "Latvian", "Lebanese", "Liberian", "Libyan", "a Liechtensteiner", "Lithuanian", "Luxembourgian", "Macedonian", "Malagasy", "Malawian", "Malaysian", "Maldivian", "Malian", "Maltese", "Marshallese", "Mauritanian", "Mauritian", "Mexican", "Micronesian", "Moldovan", "Monégasque", "Mongolian", "Montenegrin", "Moroccan", "Mosotho", "Motswana", "Mozambican", "Namibian", "Nauruan", "Nepalese", "New Caledonian", "a New Zealander", "Ni-Vanuatu", "Nicaraguan", "Nigerian", "Nigerien", "Niuean", "Norwegian", "Omani", "Pakistani", "Palauan", "Palestinian", "Panamanian", "Papua New Guinean", "Paraguayan", "Peruvian", "Polish", "Portuguese", "Puerto Rican", "Qatari", "Romanian", "Russian", "Rwandan", "Sahrawi", "Saint Lucian", "Salvadoran", "Sammarinese", "Samoan", "São Toméan", "Saudi", "Scottish", "Senegalese", "Serbian", "Seychellois", "Sierra Leonean", "Singaporean", "Slovak", "Slovene", "a Solomon Islander", "Somali", "South African", "South Sudanese", "Spanish", "Sri Lankan", "Sudanese", "Surinamese", "Swazi", "Swedish", "Swiss", "Syrian", "Taiwanese", "Tajik", "Tanzanian", "Thai", "Tibetan", "Togolese", "Tongan", "Trinidadian", "Tunisian", "Turkish", "Turkmen", "Tuvaluan", "Ugandan", "Ukrainian", "Uruguayan", "Uzbek", "Vatican", "Venezuelan", "Vietnamese", "Vincentian", "Yemeni", "Zairian", "Zambian", "Zimbabwean"],
diff --git a/src/Mods/SecExp/attackHandler.tw b/src/Mods/SecExp/attackHandler.tw
index 7c3f87ef87085e22cf736511974f4292bbe92aed..38c12b64779114bfe94dc2e46bdba3155c97385a 100644
--- a/src/Mods/SecExp/attackHandler.tw
+++ b/src/Mods/SecExp/attackHandler.tw
@@ -206,7 +206,7 @@
 			<<set _mercMod += 0.10>>
 			<<set _SFMod += 0.10>>
 		<</if>>
-		<<set _BGCareerGivesBonus = setup.bodyguardCareers.includes(_S.Bodyguard.career) || setup.HGCareers.includes(_S.Bodyguard.career) || setup.secExCombatPrestige.includes(_S.Bodyguard.prestigeDesc)>>
+		<<set _BGCareerGivesBonus = App.Data.Careers.Leader.bodyguard.includes(_S.Bodyguard.career) || App.Data.Careers.Leader.HG.includes(_S.Bodyguard.career) || setup.secExCombatPrestige.includes(_S.Bodyguard.prestigeDesc)>>
 		<<set _BGTotalIntelligence = _S.Bodyguard.intelligence+_S.Bodyguard.intelligenceImplant>>
 		<<if _BGCareerGivesBonus && _BGTotalIntelligence > 95>>
 			<<set _atkMod += 0.25>>
@@ -315,7 +315,7 @@
 			<<set _mercMod += 0.10>>
 			<<set _SFMod += 0.10>>
 		<</if>>
-		<<if (setup.bodyguardCareers.includes(_S.HeadGirl.career) || setup.HGCareers.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 95>>
+		<<if (App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) || App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 95>>
 			<<set _atkMod += 0.25>>
 			<<set _defMod += 0.25>>
 			<<set _tacChance += 0.50>>
@@ -323,7 +323,7 @@
 			<<set _atkMod += 0.20>>
 			<<set _defMod += 0.15>>
 			<<set _tacChance += 0.35>>
-		<<elseif (setup.bodyguardCareers.includes(_S.HeadGirl.career) || setup.HGCareers.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 50>>
+		<<elseif (App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) || App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 50>>
 			<<set _atkMod += 0.15>>
 			<<set _defMod += 0.10>>
 			<<set _tacChance += 0.25>>
@@ -331,7 +331,7 @@
 			<<set _atkMod += 0.10>>
 			<<set _defMod += 0.10>>
 			<<set _tacChance += 0.20>>
-		<<elseif (setup.bodyguardCareers.includes(_S.HeadGirl.career) || setup.HGCareers.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 15>>
+		<<elseif (App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) || App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 15>>
 			<<set _atkMod += 0.10>>
 			<<set _defMod += 0.05>>
 			<<set _tacChance += 0.15>>
@@ -339,7 +339,7 @@
 			<<set _atkMod += 0.05>>
 			<<set _defMod += 0.05>>
 			<<set _tacChance += 0.10>>
-		<<elseif !(setup.bodyguardCareers.includes(_S.HeadGirl.career) && setup.HGCareers.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -50>>
+		<<elseif !(App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) && App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -50>>
 			<<set _atkMod -= 0.15>>
 			<<set _defMod -= 0.15>>
 			<<set _tacChance -= 0.30>>
@@ -347,7 +347,7 @@
 			<<set _atkMod -= 0.15>>
 			<<set _defMod -= 0.10>>
 			<<set _tacChance -= 0.25>>
-		<<elseif !(setup.bodyguardCareers.includes(_S.HeadGirl.career) && setup.HGCareers.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -15>>
+		<<elseif !(App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) && App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -15>>
 			<<set _atkMod -= 0.10>>
 			<<set _defMod -= 0.10>>
 			<<set _tacChance -= 0.20>>
diff --git a/src/Mods/SecExp/attackReport.tw b/src/Mods/SecExp/attackReport.tw
index d065ed12a5379496ca7965ce8cc399829c6cfde4..066f182b2c11dba6cdce401a346cf6e0daae7ba8 100644
--- a/src/Mods/SecExp/attackReport.tw
+++ b/src/Mods/SecExp/attackReport.tw
@@ -920,7 +920,7 @@
 				Your soldiers <<if App.SecExp.battle.deployedUnits('slaves') >= 1>>however,<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision.
 			<</if>>
 		<</if>>
-		<<set _BGCareerGivesBonus = setup.bodyguardCareers.includes(_S.Bodyguard.career) || setup.HGCareers.includes(_S.Bodyguard.career) || setup.secExCombatPrestige.includes(_S.Bodyguard.prestigeDesc)>>
+		<<set _BGCareerGivesBonus = App.Data.Careers.Leader.bodyguard.includes(_S.Bodyguard.career) || App.Data.Careers.Leader.HG.includes(_S.Bodyguard.career) || setup.secExCombatPrestige.includes(_S.Bodyguard.prestigeDesc)>>
 		<<set _BGTotalIntelligence = _S.Bodyguard.intelligence+_S.Bodyguard.intelligenceImplant>>
 		<<if _BGCareerGivesBonus && _BGTotalIntelligence > 95>>
 			With $his experience and $his great intellect, $he is able to exploit the smallest of tactical advantages, making your troops very effective.
@@ -1058,23 +1058,23 @@
 				Your soldiers <<if App.SecExp.battle.deployedUnits('slaves') >= 1>>however<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision.
 			<</if>>
 		<</if>>
-		<<if (setup.bodyguardCareers.includes(_S.HeadGirl.career) || setup.HGCareers.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 95>>
+		<<if (App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) || App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 95>>
 			With $his experience and $his great intellect, $he is able to exploits the smallest of tactical advantages, making your troops greatly effective.
 		<<elseif _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 95>>
 			While $he lacks experience, $his great intellect allows $him to seize and exploit any tactical advantage the battlefield offers $him.
-		<<elseif (setup.bodyguardCareers.includes(_S.HeadGirl.career) || setup.HGCareers.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 50>>
+		<<elseif (App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) || App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 50>>
 			Having both the experience and the intelligence, $he performs admirably as your commander. $His competence greatly increases the efficiency of your troops.
 		<<elseif _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 50>>
 			Despite not having a lot of experience as a leader, $his intelligence makes $him a good commander, increasing the efficiency of your troops.
-		<<elseif (setup.bodyguardCareers.includes(_S.HeadGirl.career) || setup.HGCareers.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 15>>
+		<<elseif (App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) || App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) || setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) && _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 15>>
 			Thanks to $his experience, $he is a decent commander, competently guiding your troops through the battle.
 		<<elseif _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant > 15>>
 			Lacking experience $his performance as a commander is rather forgettable.
-		<<elseif !(setup.bodyguardCareers.includes(_S.HeadGirl.career) && setup.HGCareers.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -50>>
+		<<elseif !(App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) && App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -50>>
 			Despite the experience $he accumulated during $his past career, $his very low intelligence is a great disadvantage for your troops.
 		<<elseif _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -50>>
 			Without experience and low intelligence, $he performs horribly as a commander, greatly affecting your troops.
-		<<elseif !(setup.bodyguardCareers.includes(_S.HeadGirl.career) && setup.HGCareers.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -15>>
+		<<elseif !(App.Data.Careers.Leader.bodyguard.includes(_S.HeadGirl.career) && App.Data.Careers.Leader.HG.includes(_S.HeadGirl.career) && setup.secExCombatPrestige.includes(_S.HeadGirl.prestigeDesc)) || _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -15>>
 			Despite the experience $he accumulated during $his past career, $he lacks the intelligence to apply it quickly and effectively, making for a rather poor performance in the field.
 		<<elseif _S.HeadGirl.intelligence+_S.HeadGirl.intelligenceImplant < -15>>
 			$He lacks the experience and the intelligence to be an effective commander, the performance of your troops suffers because of $his poor leadership.
diff --git a/src/endWeek/healthFunctions.js b/src/endWeek/healthFunctions.js
index aaf650575ee568ba30043bc4f1c596f4eb33c700..64b4202b316231e918e4c4fd08fbb6e45e24b7fb 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 (setup.nurseCareers.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 >= 100 || 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
@@ -215,7 +215,7 @@ globalThis.nurseEffectiveness = function(slave) {
 	const clinicUpgrade = 1; // Creating a purchasable upgrade to increase the amount of slaves the nurse can handle -- TODO
 	const clinicScreening = 1; // Assumes the clinic is set to screening all slaves to improve their chances of staying healthy. Turning it off would allow the nurse to focus on just her patients in the clinic -- TODO
 	if (S.Nurse) {
-		const nurseSkill = setup.nurseCareers.includes(S.Nurse.career) ? 200 : S.Nurse.skill.nurse;
+		const nurseSkill = App.Data.Careers.Leader.nurse.includes(S.Nurse.career) ? 200 : S.Nurse.skill.nurse;
 		let nurseEffectiveness = Math.trunc((nurseSkill * clinicUpgrade / Math.max((App.Entity.facilities.clinic.employeesIDs().size * 10 + (V.slaves.length * 2) * clinicScreening), 1)) * 20);
 		if (H.illness > 1 && slave.assignment === Job.CLINIC) {
 			if (nurseEffectiveness < 20) {
@@ -389,7 +389,7 @@ globalThis.tired = function(slave) {
 			assignment -= 40 * (V.spaUpgrade + 1); // Reduces tired by an average of 40 points while in the spa, double with the upgraded spa
 			if (S.Attendant) {
 				let skillBonus;
-				if (setup.attendantCareers.includes(S.Attendant.career)) {
+				if (App.Data.Careers.Leader.attendant.includes(S.Attendant.career)) {
 					skillBonus = 200;
 				} else {
 					skillBonus = S.Attendant.skill.attendant;
diff --git a/src/endWeek/reports/brothelReport.js b/src/endWeek/reports/brothelReport.js
index 1bd352e3525a5f8b4e904d83c63dc384647fac99..cf79c57d336cd6dae081c13879a78750954e9229 100644
--- a/src/endWeek/reports/brothelReport.js
+++ b/src/endWeek/reports/brothelReport.js
@@ -90,7 +90,7 @@ App.EndWeek.brothelReport = function() {
 			if (S.Madam.actualAge > 35) {
 				r.push(`${His} age and experience also contribute.`);
 			}
-			if (setup.madamCareers.includes(S.Madam.career)) {
+			if (App.Data.Careers.Leader.madam.includes(S.Madam.career)) {
 				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.`);
diff --git a/src/endWeek/reports/cellblockReport.js b/src/endWeek/reports/cellblockReport.js
index 97c4b66ffbac901071ae65395f0ba143b2c25495..59cb643ca983ff9bd89c214f37f78c67ad1b7bc6 100644
--- a/src/endWeek/reports/cellblockReport.js
+++ b/src/endWeek/reports/cellblockReport.js
@@ -74,7 +74,7 @@ App.EndWeek.cellblockReport = function() {
 		} else if (FLsFetish === 2) {
 			r.push(`Being not only allowed but encouraged to get off while punishing prisoners <span class="lightsalmon">deepens ${his} sadism.</span>`);
 		}
-		if (setup.wardenessCareers.includes(S.Wardeness.career)) {
+		if (App.Data.Careers.Leader.wardeness.includes(S.Wardeness.career)) {
 			devBonus++;
 			trustMalus++;
 			idleBonus++;
diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index 465047982eb4fdf75c47a03b405a92cfb0ad6e04..1073e82bd91a11b3d3d83b25b25235fdbf49a94e 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -56,7 +56,7 @@ App.EndWeek.clinicReport = function() {
 			} else if (FLsFetish === 2) {
 				r.push(`Every new patient in the clinic is a new target for ${his} authority. <span class="fetish inc">${He} becomes more dominant.</span>`);
 			}
-			if (setup.nurseCareers.includes(S.Nurse.career)) {
+			if (App.Data.Careers.Leader.nurse.includes(S.Nurse.career)) {
 				r.push(`${He} has experience with medicine from ${his} life before ${he} was a slave, and can often recognize conditions before even the medical scanners can.`);
 				idleBonus++;
 				healthBonus++;
diff --git a/src/endWeek/reports/clubReport.js b/src/endWeek/reports/clubReport.js
index 4020c2fd3760c52e3b247cdcec9fb6c541b05e79..65f83a2e2a94bd4fbbdd018cb73b9b0e7f861364 100644
--- a/src/endWeek/reports/clubReport.js
+++ b/src/endWeek/reports/clubReport.js
@@ -91,7 +91,7 @@ App.EndWeek.clubReport = function() {
 		if (S.DJ.face > 95) {
 			r.push(`${His} great beauty is a further draw, even when ${he}'s in ${his} DJ booth, but especially when ${he} comes out to dance.`);
 		}
-		if (setup.DJCareers.includes(S.DJ.career)) {
+		if (App.Data.Careers.Leader.DJ.includes(S.DJ.career)) {
 			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.`);
diff --git a/src/endWeek/reports/dairyReport.js b/src/endWeek/reports/dairyReport.js
index bb8a0e2c4e74043d14218eff438a070154b39e18..3adda807a775099e691492defb577bec37cd41e2 100644
--- a/src/endWeek/reports/dairyReport.js
+++ b/src/endWeek/reports/dairyReport.js
@@ -246,7 +246,7 @@ App.EndWeek.dairyReport = function() {
 			V.milkmaidTrustBonus++;
 			r.push(`${He}'s funny, and does ${his} best to get the cows to trust ${him} by keeping them laughing.`);
 		}
-		if (setup.milkmaidCareers.includes(S.Milkmaid.career)) {
+		if (App.Data.Careers.Leader.milkmaid.includes(S.Milkmaid.career)) {
 			V.milkmaidHealthBonus++;
 			r.push(`${He} has career experience dealing with milk animals.`);
 		} else if (S.Milkmaid.skill.milkmaid >= V.masteredXP) {
diff --git a/src/endWeek/reports/farmyardReport.js b/src/endWeek/reports/farmyardReport.js
index 17331ca3ce05a856122aa63fb77eb8d4ddbd8ed3..10b7d475f9df6da16eb4d6e515ab7acfcab0321a 100644
--- a/src/endWeek/reports/farmyardReport.js
+++ b/src/endWeek/reports/farmyardReport.js
@@ -64,7 +64,7 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 			FarmerCashBonus += 0.05;
 		}
 
-		if (setup.farmerCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.farmer.includes(slave.career)) {
 			FarmerCashBonus += 0.05;
 			if (slave.skill.farmer >= V.masteredXP) {
 				FarmerCashBonus += 0.05;
@@ -157,7 +157,7 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 	function farmerExperience(slave) {
 		const {he, his, him, He} = getPronouns(slave);
 
-		if (setup.farmerCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.farmer.includes(slave.career)) {
 			return `${He} has experience from ${his} life before ${he} was a slave that helps ${him} in the difficult life of managing animals and property.`;
 		} 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.`;
diff --git a/src/endWeek/reports/nurseryReport.js b/src/endWeek/reports/nurseryReport.js
index adc28ec01ccd6166b51f7f5f8eaffa04dd88a948..4a4663bf304061ad4b4487f11712b8ab7d87e7b5 100644
--- a/src/endWeek/reports/nurseryReport.js
+++ b/src/endWeek/reports/nurseryReport.js
@@ -70,7 +70,7 @@ App.Facilities.Nursery.nurseryReport = function nurseryReport() {
 				matronBonus += V.nurseryNannies ? 75 : 0;
 			}
 
-			if (setup.matronCareers.includes(S.Matron.career)) {
+			if (App.Data.Careers.Leader.matron.includes(S.Matron.career)) {
 				r.push(`${He} has experience with looking after children from ${his} life before ${he} was a slave.`);
 
 				matronBonus += 25;
diff --git a/src/endWeek/reports/penthouseReport.js b/src/endWeek/reports/penthouseReport.js
index bb4cc92a6c97fe79aad515e09e07608a5eb588da..450dc08f44276e483d26f71a8aaab87268ce9dbe 100644
--- a/src/endWeek/reports/penthouseReport.js
+++ b/src/endWeek/reports/penthouseReport.js
@@ -254,7 +254,7 @@ App.EndWeek.penthouseReport = function() {
 			if (S.HeadGirl.career === "an arcology owner") {
 				r.push(`${He} was once an arcology owner ${himself}, making ${him} truly peerless as a Head Girl.`);
 				effectiveness += 50;
-			} else if (setup.HGCareers.includes(S.HeadGirl.career)) {
+			} else if (App.Data.Careers.Leader.HG.includes(S.HeadGirl.career)) {
 				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) {
diff --git a/src/endWeek/reports/schoolroomReport.js b/src/endWeek/reports/schoolroomReport.js
index 7992754a9991fd1a34a6a4c77e0a2db2ee6084fa..e6854c231a8798b2399dfb0a54523d9c40e24ab6 100644
--- a/src/endWeek/reports/schoolroomReport.js
+++ b/src/endWeek/reports/schoolroomReport.js
@@ -59,7 +59,7 @@ App.EndWeek.schoolroomReport = function() {
 			} else if (FLsFetish === 2) {
 				r.push(`Every new student in class is a new target for ${his} personal educational attention. <span class="lightsalmon">${He} becomes more dominant.</span>`);
 			}
-			if (setup.schoolteacherCareers.includes(S.Schoolteacher.career)) {
+			if (App.Data.Careers.Leader.schoolteacher.includes(S.Schoolteacher.career)) {
 				r.push(`${He} has experience with students and learning from ${his} life before ${he} was a slave, making ${him} more effective.`);
 				idleBonus++;
 			} else if (S.Schoolteacher.skill.teacher >= V.masteredXP) {
diff --git a/src/endWeek/reports/servantsQuartersReport.js b/src/endWeek/reports/servantsQuartersReport.js
index e4b466d88420322ad35134d1e870df4c717b9f3b..3e09cb8b1a2139fb4d3e355003cbc49cd8185f7b 100644
--- a/src/endWeek/reports/servantsQuartersReport.js
+++ b/src/endWeek/reports/servantsQuartersReport.js
@@ -94,7 +94,7 @@ App.EndWeek.servantsQuartersReport = function() {
 				stewardessBonus += 75;
 				r.push(`${His} perfect health allows ${him} to work exhaustive hours and <span class="yellowgreen">drive</span> the servants very hard.`);
 			}
-			if (setup.stewardessCareers.includes(S.Stewardess.career)) {
+			if (App.Data.Careers.Leader.stewardess.includes(S.Stewardess.career)) {
 				stewardessBonus += 25;
 				r.push(`${He} has applicable experience with daily sums and organizational trifles from ${his} life before ${he} was a slave.`);
 			} else if (S.Stewardess.skill.stewardess >= V.masteredXP) {
diff --git a/src/endWeek/reports/spaReport.js b/src/endWeek/reports/spaReport.js
index bd6b4b14b34c83607ba61391bd900e7a49644136..2e70f4714f460f9e08203710701e3c58f457cb3d 100644
--- a/src/endWeek/reports/spaReport.js
+++ b/src/endWeek/reports/spaReport.js
@@ -61,7 +61,7 @@ App.EndWeek.spaReport = function() {
 		} else if ((FLsFetish === 2)) {
 			r.push(`Every new slave in the spa is a new person ${he} gets to connect with and serve. Sexually. <span class="lightsalmon">${He} becomes more submissive.</span>`);
 		}
-		if (setup.attendantCareers.includes(S.Attendant.career)) {
+		if (App.Data.Careers.Leader.attendant.includes(S.Attendant.career)) {
 			r.push(`${He} has experience with counseling from ${his} life before ${he} was a slave, making ${him} better at building rapport with troubled slaves, and giving ${him} a better chance of softening flaws into beneficial quirks.`);
 			bonusToggle = 1;
 			idleBonus++;
diff --git a/src/endWeek/saBeYourHeadGirl.js b/src/endWeek/saBeYourHeadGirl.js
index c98b8ddb9f40828534b055512007bfc349a833eb..eef75b7e0cb342a73048f04712185514c1379f58 100644
--- a/src/endWeek/saBeYourHeadGirl.js
+++ b/src/endWeek/saBeYourHeadGirl.js
@@ -277,7 +277,7 @@ App.SlaveAssignment.beYourHeadGirl = (function() {
 	 *
 	 */
 	function cleanupVars(slave) {
-		if (!setup.HGCareers.includes(slave.career) && slave.skill.headGirl < V.masteredXP) {
+		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);
 		}
 		slave.health.tired = Math.clamp(slave.health.tired, 0, 1000);
diff --git a/src/endWeek/saDiet.js b/src/endWeek/saDiet.js
index 6662a34521fffe3622de396d680541f878717a84..cd181294e04ea7a9b008e17bedc5dd8c7cb8d62d 100644
--- a/src/endWeek/saDiet.js
+++ b/src/endWeek/saDiet.js
@@ -299,7 +299,7 @@ App.SlaveAssignment.diet = (function() {
 							} else {
 								r.push(`${he} accepts being overfed.`);
 							}
-						} else if (setup.gratefulCareers.includes(slave.career) && slave.weight < 100) {
+						} else if (App.Data.Careers.General.grateful.includes(slave.career) && slave.weight < 100) {
 							r.push(`<span class="trust inc">${He} appreciates having a belly full of food.</span>`);
 							slave.trust += 1;
 						} else if (slave.devotion <= 20) {
diff --git a/src/endWeek/saGuardYou.js b/src/endWeek/saGuardYou.js
index 55b74d521744052842b02ee6034096797c02819e..d2115412a92a6c2cab9fd5885c1b4f97e5691459 100644
--- a/src/endWeek/saGuardYou.js
+++ b/src/endWeek/saGuardYou.js
@@ -68,7 +68,7 @@ App.SlaveAssignment.guardYou = (function() {
 			r.push(`${His} combat skills greatly increase ${his} deadliness.`);
 		}
 
-		if (setup.bodyguardCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.bodyguard.includes(slave.career)) {
 			r.push(`${He} has experience in personal defense from before ${he} was a slave.`);
 		} else if (slave.skill.bodyguard >= V.masteredXP) {
 			r.push(`${He} has experience in personal defense from working for you.`);
diff --git a/src/endWeek/saLongTermMentalEffects.js b/src/endWeek/saLongTermMentalEffects.js
index 3eaa35a573f88994939c0212979f007865688f9f..82ae98860059f5fcbddb59fba3e515f5098f6fff 100644
--- a/src/endWeek/saLongTermMentalEffects.js
+++ b/src/endWeek/saLongTermMentalEffects.js
@@ -1789,7 +1789,7 @@ App.SlaveAssignment.longTermMentalEffects = (function() {
 				break;
 			default:
 				if (slave.trust >= -50) {
-					if (setup.gratefulCareers.includes(slave.career)) {
+					if (App.Data.Careers.General.grateful.includes(slave.career)) {
 						slave.trust += 1;
 						r.push(`${He} remembers how hard ${his} life was before ${he} was a slave, and`);
 						if (slave.trust > 50) {
@@ -1803,7 +1803,7 @@ App.SlaveAssignment.longTermMentalEffects = (function() {
 					}
 				}
 				if (slave.devotion >= -50) {
-					if (setup.menialCareers.includes(slave.career)) {
+					if (App.Data.Careers.General.menial.includes(slave.career)) {
 						slave.devotion += 1;
 						r.push(`${He} took orders a lot before ${he} was a slave, and is subconsciously`);
 						if (slave.trust > 50) {
diff --git a/src/endWeek/saNanny.js b/src/endWeek/saNanny.js
index e2a6c8f7c62b16648a0c1ca4a647d406ea64f4af..9908fd1643332cf4955f0a4aa6ae2fe78f206167 100644
--- a/src/endWeek/saNanny.js
+++ b/src/endWeek/saNanny.js
@@ -61,7 +61,7 @@ App.SlaveAssignment.nanny = function(slave) {
 		let t = '';
 
 		// TODO:
-		if (setup.servantCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.servant.includes(slave.career)) {
 			t += ` ${He} has experience with nannying from ${his} life before ${he} was a slave, making ${him} more effective.`;
 		} else if (slave.skill.servant >= V.masteredXP) {
 			t += ` ${He} has experience with nannying from working for you, making ${him} more effective.`;
diff --git a/src/endWeek/saRecruitGirls.js b/src/endWeek/saRecruitGirls.js
index db0ef59f980a12587741d0a909b991e40549f47e..b477133b47db7a84ea4877a4a9d0b43176312ef9 100644
--- a/src/endWeek/saRecruitGirls.js
+++ b/src/endWeek/saRecruitGirls.js
@@ -800,7 +800,7 @@ App.SlaveAssignment.recruitGirls = (function() {
 			r.push(`${His} imperfect feelings toward you give ${him} little conviction.`);
 		}
 
-		if (setup.recruiterCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.recruiter.includes(slave.career)) {
 			r.push(`${He} has experience in recruitment from before ${he} was a slave.`);
 			V.recruiterProgress += 2;
 		} else if (slave.skill.recruiter >= V.masteredXP) {
diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index 0997c765ab3c6f87cfe347269513537c7c034180..9b4d6a1ecd02bb545797895927f4480e8ab8000a 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -145,7 +145,7 @@ App.SlaveAssignment.servant = (function() {
 			r.push(`${He} does ${his} very best to be the perfect house${wife}, making ${him} an outstanding servant.`);
 		}
 
-		if (setup.servantCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.servant.includes(slave.career)) {
 			r.push(`${He} has experience with house keeping from ${his} life before ${he} was a slave, making ${him} more effective.`);
 		} else if (slave.skill.servant >= V.masteredXP) {
 			r.push(`${He} has experience with house keeping from working for you, making ${him} more effective.`);
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index 44521378812cb1d6599f68baa1038f615e0f5c5e..149be8fd13ee257dd1e1da5eba062758a30ab11c 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -468,10 +468,10 @@ App.SlaveAssignment.serveThePublic = (function() {
 	 */
 	function slaveSkills(slave) {
 		let skillIncrease;
-		if (!setup.entertainmentCareers.includes(slave.career) && slave.skill.entertainer < V.masteredXP) {
+		if (!App.Data.Careers.General.entertainment.includes(slave.career) && slave.skill.entertainer < V.masteredXP) {
 			slave.skill.entertainer += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
 		}
-		if (setup.entertainmentCareers.includes(slave.career)) {
+		if (App.Data.Careers.General.entertainment.includes(slave.career)) {
 			r += ` ${He} has experience with entertainment from ${his} life before ${he} was a slave, making ${him} more effective.`;
 		} else if (slave.skill.entertainer >= V.masteredXP) {
 			r += ` ${He} has learned to be entertaining from working for you, making ${him} more effective.`;
diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js
index 7c349a658cfffb6aa18ea0d07ba63430a4c805a4..22495e4211661c649b670f1e2588822547c4b593 100644
--- a/src/endWeek/saTakeClasses.js
+++ b/src/endWeek/saTakeClasses.js
@@ -67,7 +67,7 @@ App.SlaveAssignment.takeClasses = (function() {
 				if (S.Schoolteacher.visualAge > 35) {
 					teaching += 10;
 				}
-				if (setup.schoolteacherCareers.includes(S.Schoolteacher.career)) {
+				if (App.Data.Careers.Leader.schoolteacher.includes(S.Schoolteacher.career)) {
 					teaching += 10;
 				} else if (S.Schoolteacher.skill.teacher >= V.masteredXP) {
 					teaching += 10;
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index e3e467cbae37c29b51a6f932710ca0a665e66b02..92a3aedbb6aed830c71ab0fa58d0256004b38667 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -531,10 +531,10 @@ App.SlaveAssignment.whore = (function() {
 	 */
 	function slaveSkills(slave) {
 		let skillIncrease;
-		if (!setup.whoreCareers.includes(slave.career) && slave.skill.whore < V.masteredXP) {
+		if (!App.Data.Careers.General.whore.includes(slave.career) && slave.skill.whore < V.masteredXP) {
 			slave.skill.whore += jsRandom(1, Math.ceil((slave.intelligence + slave.intelligenceImplant) / 15) + 8);
 		}
-		if (setup.whoreCareers.includes(slave.career)) {
+		if (App.Data.Careers.General.whore.includes(slave.career)) {
 			r += ` ${He} has sex work experience from ${his} life before ${he} was a slave, making ${him} more effective.`;
 		} else if (slave.skill.whore >= V.masteredXP) {
 			r += ` ${He} has experience as a prostitute from working for you, making ${him} more effective.`;
diff --git a/src/facilities/armory/armoryFramework.js b/src/facilities/armory/armoryFramework.js
index ac077b9815b7b0b0617e224f3e181fa685bac713..c2a595acecf80bdf0230b4a64636faa1bc82ca73 100644
--- a/src/facilities/armory/armoryFramework.js
+++ b/src/facilities/armory/armoryFramework.js
@@ -7,7 +7,7 @@ App.Data.Facilities.armory = {
 		position: "bodyguard",
 		positionAbbreviation: "BG",
 		assignment: Job.BODYGUARD,
-		careers: App.Data.misc.bodyguardCareers,
+		careers: App.Data.Careers.Leader.bodyguard,
 		skill: "bodyguard",
 		publicSexUse: true,
 		fuckdollAccepted: false,
diff --git a/src/facilities/brothel/brothelFramework.js b/src/facilities/brothel/brothelFramework.js
index c295f6c7d0331ae64d7ebd695c4db22425fae443..1230827d0d541a6de0c078b0056317913dcb87b1 100644
--- a/src/facilities/brothel/brothelFramework.js
+++ b/src/facilities/brothel/brothelFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.brothel = {
 	manager: {
 		position: "madam",
 		assignment: Job.MADAM,
-		careers: App.Data.misc.madamCareers,
+		careers: App.Data.Careers.Leader.madam,
 		skill: null,
 		publicSexUse: true,
 		fuckdollAccepted: false,
diff --git a/src/facilities/cellblock/cellblockFramework.js b/src/facilities/cellblock/cellblockFramework.js
index 6e44aa9628b87b869192b6a213d219ada49479fa..e5a7219eb9276ba6642e3f239b041aa4b2132e53 100644
--- a/src/facilities/cellblock/cellblockFramework.js
+++ b/src/facilities/cellblock/cellblockFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.cellblock = {
 	manager: {
 		position: "wardeness",
 		assignment: Job.WARDEN,
-		careers: App.Data.misc.wardenessCareers,
+		careers: App.Data.Careers.Leader.wardeness,
 		skill: "wardeness",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/clinic/clinicFramework.js b/src/facilities/clinic/clinicFramework.js
index c351774e0b3c6d1f481093381acd2c519694ce1f..23dd472c60def174c852bae283bbe3f97835d0db 100644
--- a/src/facilities/clinic/clinicFramework.js
+++ b/src/facilities/clinic/clinicFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.clinic = {
 	manager: {
 		position: "nurse",
 		assignment: Job.NURSE,
-		careers: App.Data.misc.nurseCareers,
+		careers: App.Data.Careers.Leader.nurse,
 		skill: "nurse",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/club/clubFramework.js b/src/facilities/club/clubFramework.js
index efe1827dadbbc500b3cd25e791bc14b4dfd514fb..e34db004dfcebbd2ca273ba0be575a48ed1fb8f8 100644
--- a/src/facilities/club/clubFramework.js
+++ b/src/facilities/club/clubFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.club = {
 	manager: {
 		position: "DJ",
 		assignment: Job.DJ,
-		careers: App.Data.misc.DJCareers,
+		careers: App.Data.Careers.Leader.DJ,
 		skill: "DJ",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/dairy/dairyFramework.js b/src/facilities/dairy/dairyFramework.js
index a6cb48cbaba2daaa7027470cba24f6a08222b0bb..1ff08a4391365e089fad0c391315c81c26a1f865 100644
--- a/src/facilities/dairy/dairyFramework.js
+++ b/src/facilities/dairy/dairyFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.dairy = {
 	manager: {
 		position: "milkmaid",
 		assignment: Job.MILKMAID,
-		careers: App.Data.misc.milkmaidCareers,
+		careers: App.Data.Careers.Leader.milkmaid,
 		skill: "milkmaid",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/farmyard/farmyardFramework.js b/src/facilities/farmyard/farmyardFramework.js
index f4f6630cc534a0eadadb00652b98ee6083c4c9f7..b79c787e6c8c1c5e224dbe567e50bc4b5ec5d4c1 100644
--- a/src/facilities/farmyard/farmyardFramework.js
+++ b/src/facilities/farmyard/farmyardFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.farmyard = {
 	manager: {
 		position: "farmer",
 		assignment: Job.FARMER,
-		careers: App.Data.misc.farmerCareers,
+		careers: App.Data.Careers.Leader.farmer,
 		skill: "farmer",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/farmyard/food/foodAmount.js b/src/facilities/farmyard/food/foodAmount.js
index 3b47b233838ff39efb603df9258cfd6528e87ebf..fcb94ca96039c2f7e8212ba04a458455fc95147e 100644
--- a/src/facilities/farmyard/food/foodAmount.js
+++ b/src/facilities/farmyard/food/foodAmount.js
@@ -32,7 +32,7 @@ App.Facilities.Farmyard.foodAmount = function(slave) {
 			food *= 1.2;
 		}
 
-		if (setup.farmerCareers.includes(S.Farmer.career)) {
+		if (App.Data.Careers.Leader.farmer.includes(S.Farmer.career)) {
 			food *= 1.2;
 		}
 	}
diff --git a/src/facilities/farmyard/shows/farmShowsIncome.js b/src/facilities/farmyard/shows/farmShowsIncome.js
index a9ec8eb55a203225e1e4ec1362e84a06eee8cc40..d8d51fd2540be95b0d2cbfd7bd4b7fe4b0ca7ada 100644
--- a/src/facilities/farmyard/shows/farmShowsIncome.js
+++ b/src/facilities/farmyard/shows/farmShowsIncome.js
@@ -311,12 +311,12 @@ App.Facilities.Farmyard.farmShowsIncome = function(slave) {
 
 		// Close FS Effects
 
-		if (setup.entertainmentCareers.includes(slave.career)) {
+		if (App.Data.Careers.General.entertainment.includes(slave.career)) {
 			cash *= 1.1;
 		}
 
 		// FIXME: can slaves' careers overlap categories?
-		if (setup.farmerCareers.includes(slave.career)) {
+		if (App.Data.Careers.Leader.farmer.includes(slave.career)) {
 			cash *= 1.1;
 		}
 
diff --git a/src/facilities/farmyard/shows/saFarmyardShows.js b/src/facilities/farmyard/shows/saFarmyardShows.js
index 89137bb1506dcc34b117b48f0ad3640e9d18fb57..9b863f728ef632fdfb8ec7b8a2af50a74f307a4d 100644
--- a/src/facilities/farmyard/shows/saFarmyardShows.js
+++ b/src/facilities/farmyard/shows/saFarmyardShows.js
@@ -254,13 +254,13 @@ App.Facilities.Farmyard.putOnShows = function(slave) {
 
 	// Close FS Subsection
 
-	if (setup.entertainmentCareers.includes(slave.career)) {
+	if (App.Data.Careers.General.entertainment.includes(slave.career)) {
 		r.push(`${He} has experience with putting on shows from ${his} life before ${he} was a slave, making ${him} more effective at putting on shows.`);
 	}
 
 	// FIXME: can slaves' careers overlap categories?
-	if (setup.farmerCareers.includes(slave.career)) {
-		r.push(`${He} ${setup.entertainmentCareers.includes(slave.career) ? `also` : ``} has experience in working with animals from ${his} life before ${he} was a slave, making ${him} more effective at putting on shows.`);
+	if (App.Data.Careers.Leader.farmer.includes(slave.career)) {
+		r.push(`${He} ${App.Data.Careers.General.entertainment.includes(slave.career) ? `also` : ``} has experience in working with animals from ${his} life before ${he} was a slave, making ${him} more effective at putting on shows.`);
 	}
 
 	if (slave.prestige === 1) {
diff --git a/src/facilities/headGirlSuite/headGirlSuiteFramework.js b/src/facilities/headGirlSuite/headGirlSuiteFramework.js
index 13549f2a2bba07eee511aed03525ea6b96566225..cfc1d1c3e3c05660d37be15d75ccac12c44abe74 100644
--- a/src/facilities/headGirlSuite/headGirlSuiteFramework.js
+++ b/src/facilities/headGirlSuite/headGirlSuiteFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.headGirlSuite = {
 	manager: {
 		position: "Head Girl",
 		assignment: Job.HEADGIRL,
-		careers: App.Data.misc.HGCareers,
+		careers: App.Data.Careers.Leader.HG,
 		skill: "headGirl",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/nursery/nurseryFramework.js b/src/facilities/nursery/nurseryFramework.js
index 12f33efb971608e1a0768fad38f588329b07a8e0..daa83f65ceeb4065faef20f304a1e19b84844514 100644
--- a/src/facilities/nursery/nurseryFramework.js
+++ b/src/facilities/nursery/nurseryFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.nursery = {
 	manager: {
 		position: "matron",
 		assignment: Job.MATRON,
-		careers: App.Data.misc.matronCareers,
+		careers: App.Data.Careers.Leader.matron,
 		skill: "matron",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/penthouse/penthouseFramework.js b/src/facilities/penthouse/penthouseFramework.js
index b64a186b4b4f6d7761d45a6fc339bcae5eb08ae6..8d9ba1d62e2ddac823ade8be12dd6dff0a5f6e8f 100644
--- a/src/facilities/penthouse/penthouseFramework.js
+++ b/src/facilities/penthouse/penthouseFramework.js
@@ -74,7 +74,7 @@ App.Data.Facilities.penthouse = {
 	manager: {
 		position: "Recruiter",
 		assignment: Job.RECRUITER,
-		careers: App.Data.misc.recruiterCareers,
+		careers: App.Data.Careers.Leader.recruiter,
 		skill: "recruiter",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/schoolroom/schoolroomFramework.js b/src/facilities/schoolroom/schoolroomFramework.js
index 9f2b65111433ea3f158980ca83d7532979752cbe..d27511c7e178d12959a38e67b4a6a575eb2bdb00 100644
--- a/src/facilities/schoolroom/schoolroomFramework.js
+++ b/src/facilities/schoolroom/schoolroomFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.schoolroom = {
 	manager: {
 		position: "schoolteacher",
 		assignment: Job.TEACHER,
-		careers: App.Data.misc.schoolteacherCareers,
+		careers: App.Data.Careers.Leader.schoolteacher,
 		skill: "teacher",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/servantsQuarters/servantsQuartersFramework.js b/src/facilities/servantsQuarters/servantsQuartersFramework.js
index 24e00796f48c9c58057ea520712229de15922eff..17c0dbd7c6e1b084141279da5ed0591132c4dbc4 100644
--- a/src/facilities/servantsQuarters/servantsQuartersFramework.js
+++ b/src/facilities/servantsQuarters/servantsQuartersFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.servantsQuarters = {
 	manager: {
 		position: "stewardess",
 		assignment: Job.STEWARD,
-		careers: App.Data.misc.stewardessCareers,
+		careers: App.Data.Careers.Leader.stewardess,
 		skill: "stewardess",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/facilities/spa/spaFramework.js b/src/facilities/spa/spaFramework.js
index 95d8bd88f82745086d6e45f6df33e9a4f953dac2..ed4e8fc5215a2bffd3b8a1ad021e53c64c317121 100644
--- a/src/facilities/spa/spaFramework.js
+++ b/src/facilities/spa/spaFramework.js
@@ -13,7 +13,7 @@ App.Data.Facilities.spa = {
 	manager: {
 		position: "attendant",
 		assignment: Job.ATTENDANT,
-		careers: App.Data.misc.attendantCareers,
+		careers: App.Data.Careers.Leader.attendant,
 		skill: "attendant",
 		publicSexUse: false,
 		fuckdollAccepted: false,
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index c25ad91e0edf5911b5399bf891b51ead9e44046b..97011f770b9bdd63f7ed072a2eeadf344d8ba90c 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -635,166 +635,166 @@ SLAVE ASSIGNMENTS:
 	Slaves may retain useful experience from their lives before enslavement. Freedom and slavery are so different that the bonuses slaves get are minor. Careers fall into categories, each with its own bonus; these are:
 
 	<br><br><br>__Grateful__ (offering a potential bonus to @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>@@), including slaves who were
-	<<for $i = 0; $i < setup.gratefulCareers.length; $i++>>
-		<<if $i == setup.gratefulCareers.length-1>>
-			and <<print setup.gratefulCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.General.grateful.length; $i++>>
+		<<if $i == App.Data.Careers.General.grateful.length-1>>
+			and <<print App.Data.Careers.General.grateful[$i]>>.
 		<<else>>
-			<<print setup.gratefulCareers[$i]>>,
+			<<print App.Data.Careers.General.grateful[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Menial__ (offering a potential bonus to @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "From Rebellious to Devoted")>>@@), including slaves who were
-	<<for $i = 0; $i < setup.menialCareers.length; $i++>>
-		<<if $i == setup.menialCareers.length-1>>
-			and <<print setup.menialCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.General.menial.length; $i++>>
+		<<if $i == App.Data.Careers.General.menial.length-1>>
+			and <<print App.Data.Careers.General.menial[$i]>>.
 		<<else>>
-			<<print setup.menialCareers[$i]>>,
+			<<print App.Data.Careers.General.menial[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Servant__ (offering a bonus to <<= App.Encyclopedia.Dialog.linkSC("keeping your estate", "Servitude")>>), including slaves who were
-	<<for $i = 0; $i < setup.servantCareers.length; $i++>>
-		<<if $i == setup.servantCareers.length-1>>
-			and <<print setup.servantCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.servant.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.servant.length-1>>
+			and <<print App.Data.Careers.Leader.servant[$i]>>.
 		<<else>>
-			<<print setup.servantCareers[$i]>>,
+			<<print App.Data.Careers.Leader.servant[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Entertainment__ (offering a bonus to <<= App.Encyclopedia.Dialog.linkSC("public service", "Public Service")>>), including slaves who were
-	<<for $i = 0; $i < setup.entertainmentCareers.length; $i++>>
-		<<if $i == setup.entertainmentCareers.length-1>>
-			and <<print setup.entertainmentCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.General.entertainment.length; $i++>>
+		<<if $i == App.Data.Careers.General.entertainment.length-1>>
+			and <<print App.Data.Careers.General.entertainment[$i]>>.
 		<<else>>
-			<<print setup.entertainmentCareers[$i]>>,
+			<<print App.Data.Careers.General.entertainment[$i]>>,
 		<</if>>
 	<</for>>
 	If a slave has been in the arcology for a long time and is intelligent, she can qualify for this bonus without career experience.
 
 	<br><br><br>__Sex work__ (offering a bonus to <<= App.Encyclopedia.Dialog.linkSC("whoring", "Whoring")>>), including slaves who were
-	<<for $i = 0; $i < setup.whoreCareers.length; $i++>>
-		<<if $i == setup.whoreCareers.length-1>>
-			and <<print setup.whoreCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.General.whore.length; $i++>>
+		<<if $i == App.Data.Careers.General.whore.length-1>>
+			and <<print App.Data.Careers.General.whore[$i]>>.
 		<<else>>
-			<<print setup.whoreCareers[$i]>>,
+			<<print App.Data.Careers.General.whore[$i]>>,
 		<</if>>
 	<</for>>
 	If a slave is very sexually experienced, she can qualify for this bonus without career experience.
 
 	<br><br><br>__Leadership__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Head Girl", "Head Girl")>>), including slaves who were
-	<<for $i = 0; $i < setup.HGCareers.length; $i++>>
-		<<if $i == setup.HGCareers.length-1>>
-			and <<print setup.HGCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.HG.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.HG.length-1>>
+			and <<print App.Data.Careers.Leader.HG[$i]>>.
 		<<else>>
-			<<print setup.HGCareers[$i]>>,
+			<<print App.Data.Careers.Leader.HG[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Procuring__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Madam", "Madam")>>), including slaves who were
-	<<for $i = 0; $i < setup.madamCareers.length; $i++>>
-		<<if $i == setup.madamCareers.length-1>>
-			and <<print setup.madamCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.madam.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.madam.length-1>>
+			and <<print App.Data.Careers.Leader.madam[$i]>>.
 		<<else>>
-			<<print setup.madamCareers[$i]>>,
+			<<print App.Data.Careers.Leader.madam[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Musical__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("DJ", "DJ")>>), including slaves who were
-	<<for $i = 0; $i < setup.DJCareers.length; $i++>>
-		<<if $i == setup.DJCareers.length-1>>
-			and <<print setup.DJCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.DJ.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.DJ.length-1>>
+			and <<print App.Data.Careers.Leader.DJ[$i]>>.
 		<<else>>
-			<<print setup.DJCareers[$i]>>,
+			<<print App.Data.Careers.Leader.DJ[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Defensive__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Bodyguard", "Bodyguard")>>), including slaves who were
-	<<for $i = 0; $i < setup.bodyguardCareers.length; $i++>>
-		<<if $i == setup.bodyguardCareers.length-1>>
-			and <<print setup.bodyguardCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.bodyguard.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.bodyguard.length-1>>
+			and <<print App.Data.Careers.Leader.bodyguard[$i]>>.
 		<<else>>
-			<<print setup.bodyguardCareers[$i]>>,
+			<<print App.Data.Careers.Leader.bodyguard[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Convincing__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Recruiter", "Recruiter")>>), including slaves who were
-	<<for $i = 0; $i < setup.recruiterCareers.length; $i++>>
-		<<if $i == setup.recruiterCareers.length-1>>
-			and <<print setup.recruiterCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.recruiter.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.recruiter.length-1>>
+			and <<print App.Data.Careers.Leader.recruiter[$i]>>.
 		<<else>>
-			<<print setup.recruiterCareers[$i]>>,
+			<<print App.Data.Careers.Leader.recruiter[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Security__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Wardeness", "Wardeness")>>), including slaves who were
-	<<for $i = 0; $i < setup.wardenessCareers.length; $i++>>
-		<<if $i == setup.wardenessCareers.length-1>>
-			and <<print setup.wardenessCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.wardeness.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.wardeness.length-1>>
+			and <<print App.Data.Careers.Leader.wardeness[$i]>>.
 		<<else>>
-			<<print setup.wardenessCareers[$i]>>,
+			<<print App.Data.Careers.Leader.wardeness[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Medical__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Nurse", "Nurse")>>), including slaves who were
-	<<for $i = 0; $i < setup.nurseCareers.length; $i++>>
-		<<if $i == setup.nurseCareers.length-1>>
-			and <<print setup.nurseCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.nurse.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.nurse.length-1>>
+			and <<print App.Data.Careers.Leader.nurse[$i]>>.
 		<<else>>
-			<<print setup.nurseCareers[$i]>>,
+			<<print App.Data.Careers.Leader.nurse[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Counseling__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Attendant", "Attendant")>>), including slaves who were
-	<<for $i = 0; $i < setup.attendantCareers.length; $i++>>
-		<<if $i == setup.attendantCareers.length-1>>
-			and <<print setup.attendantCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.attendant.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.attendant.length-1>>
+			and <<print App.Data.Careers.Leader.attendant[$i]>>.
 		<<else>>
-			<<print setup.attendantCareers[$i]>>,
+			<<print App.Data.Careers.Leader.attendant[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Nannying__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Matron", "Matron")>>), including slaves who were
-	<<for $i = 0; $i < setup.matronCareers.length; $i++>>
-		<<if $i == setup.matronCareers.length-1>>
-			and <<print setup.matronCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.matron.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.matron.length-1>>
+			and <<print App.Data.Careers.Leader.matron[$i]>>.
 		<<else>>
-			<<print setup.matronCareers[$i]>>,
+			<<print App.Data.Careers.Leader.matron[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Accounting__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Stewardess", "Stewardess")>>), including slaves who were
-	<<for $i = 0; $i < setup.stewardessCareers.length; $i++>>
-		<<if $i == setup.stewardessCareers.length-1>>
-			and <<print setup.stewardessCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.stewardess.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.stewardess.length-1>>
+			and <<print App.Data.Careers.Leader.stewardess[$i]>>.
 		<<else>>
-			<<print setup.stewardessCareers[$i]>>,
+			<<print App.Data.Careers.Leader.stewardess[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Husbandry__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Milkmaid", "Milkmaid")>>), including slaves who were
-	<<for $i = 0; $i < setup.milkmaidCareers.length; $i++>>
-		<<if $i == setup.milkmaidCareers.length-1>>
-			and <<print setup.milkmaidCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.milkmaid.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.milkmaid.length-1>>
+			and <<print App.Data.Careers.Leader.milkmaid[$i]>>.
 		<<else>>
-			<<print setup.milkmaidCareers[$i]>>,
+			<<print App.Data.Careers.Leader.milkmaid[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Farming__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Farmer", "Farmer")>>), including slaves who were
-	<<for $i = 0; $i < setup.farmerCareers.length; $i++>>
-		<<if $i == setup.farmerCareers.length-1>>
-			and <<print setup.farmerCareers[$i]>>.
+	<<for $i = 0; $i < App.Data.Careers.Leader.farmer.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.farmer.length-1>>
+			and <<print App.Data.Careers.Leader.farmer[$i]>>.
 		<<else>>
-			<<print setup.farmerCareers[$i]>>,
+			<<print App.Data.Careers.Leader.farmer[$i]>>,
 		<</if>>
 	<</for>>
 
 	<br><br><br>__Teaching__ (offering a bonus as <<= App.Encyclopedia.Dialog.linkSC("Schoolteacher", "Schoolteacher")>>, including slaves who were
-	<<for $i = 0; $i < setup.schoolteacherCareers.length; $i++>>
-		<<if $i == setup.schoolteacherCareers.length-1>>
-			and <<print setup.schoolteacherCareers[$i]>>,
+	<<for $i = 0; $i < App.Data.Careers.Leader.schoolteacher.length; $i++>>
+		<<if $i == App.Data.Careers.Leader.schoolteacher.length-1>>
+			and <<print App.Data.Careers.Leader.schoolteacher[$i]>>,
 		<<else>>
-			<<print setup.schoolteacherCareers[$i]>>,
+			<<print App.Data.Careers.Leader.schoolteacher[$i]>>,
 		<</if>>
 	<</for>>
 	<br><br>Slaves who have been in slavery long enough that it is effectively their career get a bonus to @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "Devotion")>>.@@ Slaves can forget their career experience in an industrialized Dairy, but if they do so and remain sane, they will get a special bonus to both @@.hotpink;<<= App.Encyclopedia.Dialog.linkSC("devotion", "Devotion")>>@@ and @@.mediumaquamarine;<<= App.Encyclopedia.Dialog.linkSC("trust", "Trust")>>.@@
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 5764907752a870d7ef55d19af92fe9b64c94b477..98536871a96b5e5bbee09b900988f205b1fc63f7 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -1414,7 +1414,7 @@ globalThis.deadliness = function(slave) {
 		deadliness += 2;
 	}
 
-	if (setup.bodyguardCareers.includes(slave.career)) {
+	if (App.Data.Careers.Leader.bodyguard.includes(slave.career)) {
 		deadliness += 1;
 	} else if (slave.skill.bodyguard >= V.masteredXP) {
 		deadliness += 1;
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index 157c3a0804583a360fd8dc71f8c72b31515df639..1332f6d618a9d23090dda7c7798f9e786a27c4d0 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -769,7 +769,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {})
 				birthDamage -= 3;
 			}
 
-			if (App.Data.misc.nurseCareers.includes(slave.career) && slave.fetish !== "mindbroken" && slave.muscles >= -95) {
+			if (App.Data.Careers.Leader.nurse.includes(slave.career) && slave.fetish !== "mindbroken" && slave.muscles >= -95) {
 				r.push([
 					`Thanks to ${his}`,
 					App.UI.DOM.makeElement("span", `previous career,`, ["health", "inc"]),
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 28a85dd937dbc5588f064c3162864b53e4f18dd3..c321c0d4adc74c494410ff278645f06b7eaac91c 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -37,7 +37,7 @@ globalThis.DJRepBonus = function() {
 		value += 0.05;
 		// $His great beauty is a further draw, even when $he's in $his DJ booth, but especially when $he comes out to dance.
 	}
-	if (setup.DJCareers.includes(S.DJ.career)) {
+	if (App.Data.Careers.Leader.DJ.includes(S.DJ.career)) {
 		value += 0.05;
 		// $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) {
@@ -867,7 +867,7 @@ globalThis.calculateCosts = (function() {
 		if (slave.assignment === Job.QUARTER) {
 			effectiveness *= 1.1;
 		}
-		if (setup.servantCareers.includes(slave.career) || slave.skill.servant >= V.masteredXP) {
+		if (App.Data.Careers.Leader.servant.includes(slave.career) || slave.skill.servant >= V.masteredXP) {
 			effectiveness *= 1.1;
 		}
 		effectiveness = Math.trunc(effectiveness * restEffects(slave) / 10);
@@ -1504,7 +1504,7 @@ globalThis.slaveJobValues = function(lowerClassSexDemandRef, middleClassSexDeman
 		} else if (V.AgePenalty === 0) {
 			App.EndWeek.saVars.madamBonus += 0.05;
 		}
-		if (setup.madamCareers.includes(madam.career)) {
+		if (App.Data.Careers.Leader.madam.includes(madam.career)) {
 			// $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.
 			App.EndWeek.saVars.madamBonus += 0.05;
 		} else if (madam.skill.madam >= V.masteredXP) {
@@ -2411,7 +2411,7 @@ globalThis.agentBonus = function(arcology) {
 	if (agent.actualAge > 35) {
 		bonus++;
 	}
-	if (agent.career === "an arcology owner" || setup.HGCareers.includes(agent.career)) {
+	if (agent.career === "an arcology owner" || App.Data.Careers.Leader.HG.includes(agent.career)) {
 		bonus++;
 	}
 	if (agent.fetishStrength > 95) {
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 1a557772410f80955bc7d309bee23197a8e96800..86af6b013caccd66e70b7c522269f06c4a223713 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -492,7 +492,7 @@ globalThis.BeautyArray = (function() {
 		adjustBeauty(`Skill: Entertainment (${slave.skill.entertainment})`, (slave.skill.entertainment / 10));
 		adjustBeauty(`Skill: Whoring (${slave.skill.whoring})`, (slave.skill.whoring / 10));
 		adjustBeauty(`Age: Visual Age (${slave.visualAge})`, -(3 * slave.visualAge));
-		if (setup.entertainmentCareers.includes(slave.career)) {
+		if (App.Data.Careers.General.entertainment.includes(slave.career)) {
 			adjustBeauty("Career: Entertainment", (20));
 		} else if (V.week - slave.weekAcquired >= 20 && slave.skill.entertainment >= 100) {
 			adjustBeauty("Experience: Entertainment", (10));
@@ -1960,7 +1960,7 @@ globalThis.FResultArray = (function() {
 	 * @param {App.Entity.SlaveState} slave
 	 */
 	function calcCareer(slave) {
-		if (setup.whoreCareers.includes(slave.career)) {
+		if (App.Data.Careers.General.whore.includes(slave.career)) {
 			adjustFResult(`Whore Knowledge: Career`, 1);
 		} else if (slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.mammary + slave.counter.penetrative > 1000) {
 			adjustFResult(`Whore Knowledge: Experience`, 1);
@@ -2536,95 +2536,95 @@ globalThis.slaveCostBeauty = (function() {
 		if (slave.career !== 0) {
 			if (slave.career === "a slave") {
 				multiplier += 0.1;
-			} else if (setup.bodyguardCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.bodyguard.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.wardenessCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.wardeness.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.attendantCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.attendant.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.matronCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.matron.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.schoolteacherCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.schoolteacher.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.stewardessCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.stewardess.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.milkmaidCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.milkmaid.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.farmerCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.farmer.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.madamCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.madam.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.DJCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.DJ.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.HGCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.HG.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.recruiterCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.recruiter.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.entertainmentCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.General.entertainment.includes(slave.career)) {
 				multiplier += 0.05;
-			} else if (setup.whoreCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.General.whore.includes(slave.career)) {
 				multiplier += 0.05;
-			} else if (setup.gratefulCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.General.grateful.includes(slave.career)) {
 				multiplier += 0.05;
-			} else if (setup.menialCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.General.menial.includes(slave.career)) {
 				multiplier += 0.05;
-			} else if (setup.servantCareers.includes(slave.career)) {
+			} else if (App.Data.Careers.Leader.servant.includes(slave.career)) {
 				multiplier += 0.05;
 			}
 		}
 		if (V.week - slave.weekAcquired >= 20 && slave.skill.entertainment >= 100) {
-			if (!setup.entertainmentCareers.includes(slave.career)) {
+			if (!App.Data.Careers.General.entertainment.includes(slave.career)) {
 				multiplier += 0.05;
 			}
 		}
 		if (slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.mammary + slave.counter.penetrative > 1000) {
-			if (!setup.whoreCareers.includes(slave.career)) {
+			if (!App.Data.Careers.General.whore.includes(slave.career)) {
 				multiplier += 0.05;
 			}
 		}
-		if (!setup.bodyguardCareers.includes(slave.career) && slave.skill.bodyguard >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.bodyguard.includes(slave.career) && slave.skill.bodyguard >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.wardenessCareers.includes(slave.career) && slave.skill.wardeness >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.wardeness.includes(slave.career) && slave.skill.wardeness >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.attendantCareers.includes(slave.career) && slave.skill.attendant >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.attendant.includes(slave.career) && slave.skill.attendant >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.matronCareers.includes(slave.career) && slave.skill.matron >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.matron.includes(slave.career) && slave.skill.matron >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.schoolteacherCareers.includes(slave.career) && slave.skill.teacher >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.schoolteacher.includes(slave.career) && slave.skill.teacher >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.stewardessCareers.includes(slave.career) && slave.skill.stewardess >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.stewardess.includes(slave.career) && slave.skill.stewardess >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.milkmaidCareers.includes(slave.career) && slave.skill.milkmaid >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.milkmaid.includes(slave.career) && slave.skill.milkmaid >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.farmerCareers.includes(slave.career) && slave.skill.farmer >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.farmer.includes(slave.career) && slave.skill.farmer >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.madamCareers.includes(slave.career) && slave.skill.madam >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.madam.includes(slave.career) && slave.skill.madam >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.DJCareers.includes(slave.career) && slave.skill.DJ >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.DJ.includes(slave.career) && slave.skill.DJ >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.HGCareers.includes(slave.career) && slave.skill.headGirl >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.HG.includes(slave.career) && slave.skill.headGirl >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.recruiterCareers.includes(slave.career) && slave.skill.recruiter >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.recruiter.includes(slave.career) && slave.skill.recruiter >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.servantCareers.includes(slave.career) && slave.skill.servant >= V.masteredXP) {
+		if (!App.Data.Careers.Leader.servant.includes(slave.career) && slave.skill.servant >= V.masteredXP) {
 			multiplier += 0.05;
 		}
-		if (!setup.entertainmentCareers.includes(slave.career) && slave.skill.entertainer >= V.masteredXP) {
+		if (!App.Data.Careers.General.entertainment.includes(slave.career) && slave.skill.entertainer >= V.masteredXP) {
 			multiplier += 0.05;
 		}
-		if (!setup.whoreCareers.includes(slave.career) && slave.skill.whore >= V.masteredXP) {
+		if (!App.Data.Careers.General.whore.includes(slave.career) && slave.skill.whore >= V.masteredXP) {
 			multiplier += 0.05;
 		}
 	}
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index d37a136c761de62e183d0601be00d9dfe4448773..fcc21db0f89f8de5da5b7a41af6dcd795d5bdb67 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -2410,13 +2410,13 @@ globalThis.upgradeMultiplier = function(skill) {
  */
 globalThis.randomCareer = function(slave) {
 	if (slave.actualAge < 16) {
-		return setup.veryYoungCareers.random();
+		return App.Data.Careers.General.veryYoung.random();
 	} else if (slave.actualAge <= 24) {
-		return setup.youngCareers.random();
+		return App.Data.Careers.General.young.random();
 	} else if (slave.intelligenceImplant >= 10) {
-		return setup.educatedCareers.random();
+		return App.Data.Careers.General.educated.random();
 	} else {
-		return setup.uneducatedCareers.random();
+		return App.Data.Careers.General.uneducated.random();
 	}
 };
 
diff --git a/src/neighbor/neighborInteract.js b/src/neighbor/neighborInteract.js
index 85b8f77f57046793841670212a2c1d185f0d4033..494c2fc4754ecafefc5f65cc75e9b8243f4e587a 100644
--- a/src/neighbor/neighborInteract.js
+++ b/src/neighbor/neighborInteract.js
@@ -203,7 +203,7 @@ App.Neighbor.Interact = (function() {
 			}
 			if (agent.career === "an arcology owner") {
 				r.push(`${His} career as an arcology owner ${himself} is, obviously, useful to ${him}.`);
-			} else if (setup.HGCareers.includes(agent.career)) {
+			} else if (App.Data.Careers.Leader.HG.includes(agent.career)) {
 				r.push(`${His} career in leadership helps ${him}.`);
 			}
 			if (agent.fetishStrength > 95) {
diff --git a/src/npc/descriptions/career.js b/src/npc/descriptions/career.js
index 8a9c7826e1a0bca65b128c90610a16e644e57125..25d069597e058747b878e145a380d987fc5d74dd 100644
--- a/src/npc/descriptions/career.js
+++ b/src/npc/descriptions/career.js
@@ -27,96 +27,96 @@ App.Desc.career = function(slave) {
 				r.push(`${He} has spent time as a cow in an industrial dairy, an experience that marked ${him} deeply.`);
 			} else {
 				r.push(`Before ${he} was a slave, ${he} was`);
-				if (setup.bodyguardCareers.includes(slave.career)) {
+				if (App.Data.Careers.Leader.bodyguard.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Bodyguard.`);
-				} else if (setup.wardenessCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.wardeness.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Wardeness for`);
 					if (V.cellblock === 0) {
 						r.push(`a Cellblock.`);
 					} else {
 						r.push(`${V.cellblockName}.`);
 					}
-				} else if (setup.attendantCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.attendant.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as an Attendant for`);
 					if (V.spa === 0) {
 						r.push(`a Spa.`);
 					} else {
 						r.push(`${V.spaName}.`);
 					}
-				} else if (setup.matronCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.matron.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Matron for`);
 					if (V.nursery === 0 && V.nurseryNannies === 0) {
 						r.push(`a Nursery.`);
 					} else {
 						r.push(`${V.nurseryName}.`);
 					}
-				} else if (setup.nurseCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.nurse.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Nurse for`);
 					if (V.clinic === 0) {
 						r.push(`a Clinic.`);
 					} else {
 						r.push(`${V.clinicName}.`);
 					}
-				} else if (setup.schoolteacherCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.schoolteacher.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Schoolteacher for`);
 					if (V.schoolroom === 0) {
 						r.push(`a Schoolroom.`);
 					} else {
 						r.push(`${V.schoolroomName}.`);
 					}
-				} else if (setup.stewardessCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.stewardess.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Stewardess for`);
 					if (V.servantsQuarters === 0) {
 						r.push(`a Servant's Quarters.`);
 					} else {
 						r.push(`${V.servantsQuartersName}.`);
 					}
-				} else if (setup.milkmaidCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.milkmaid.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Milkmaid for`);
 					if (V.dairy === 0) {
 						r.push(`a Dairy.`);
 					} else {
 						r.push(`${V.dairyName}.`);
 					}
-				} else if (setup.farmerCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.farmer.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Farmer for`);
 					if (V.farmyard === 0) {
 						r.push(`a Farmyard.`);
 					} else {
 						r.push(`${V.farmyardName}.`);
 					}
-				} else if (setup.madamCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.madam.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Madam for`);
 					if (V.brothel === 0) {
 						r.push(`a Brothel.`);
 					} else {
 						r.push(`${V.brothelName}.`);
 					}
-				} else if (setup.DJCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.DJ.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a DJ for`);
 					if (V.club === 0) {
 						r.push(`a Club.`);
 					} else {
 						r.push(`${V.clubName}.`);
 					}
-				} else if (setup.HGCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.HG.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a Head Girl.`);
-				} else if (setup.recruiterCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.recruiter.includes(slave.career)) {
 					r.push(`${career}, giving ${him} potential as a recruiter.`);
-				} else if (setup.entertainmentCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.General.entertainment.includes(slave.career)) {
 					r.push(`${career}, giving ${him} a slight edge at entertainment.`);
-				} else if (setup.whoreCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.General.whore.includes(slave.career)) {
 					r.push(`${career}, giving ${him} a slight edge at sexual commerce.`);
-				} else if (setup.gratefulCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.General.grateful.includes(slave.career)) {
 					r.push(`${career}, so ${he} can remember what it's like`);
 					if (slave.career === "prisoner") {
 						r.push(`no one looking out for you.`);
 					} else {
 						r.push(`to have the freedom to starve.`);
 					}
-				} else if (setup.menialCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.General.menial.includes(slave.career)) {
 					r.push(`${career}, giving ${him} experience following orders.`);
-				} else if (setup.servantCareers.includes(slave.career)) {
+				} else if (App.Data.Careers.Leader.servant.includes(slave.career)) {
 					r.push(`${career}, giving ${him} a slight edge in housekeeping.`);
 				} else {
 					r.push(`${career}.`);
@@ -124,7 +124,7 @@ App.Desc.career = function(slave) {
 			}
 		}
 		if (V.week - slave.weekAcquired >= 20 && slave.skill.entertainment >= 100) {
-			if (!setup.entertainmentCareers.includes(slave.career)) {
+			if (!App.Data.Careers.General.entertainment.includes(slave.career)) {
 				r.push(`${He} has gotten enough experience to be as charismatic as any professional`);
 				if (slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.mammary + slave.counter.penetrative > 1000) {
 					r.push(`entertainer, and has been fucked so many times that a free sex worker could teach ${him} nothing.`);
@@ -133,7 +133,7 @@ App.Desc.career = function(slave) {
 				}
 			}
 		} else if (slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.mammary + slave.counter.penetrative > 1000) {
-			if (!setup.whoreCareers.includes(slave.career)) {
+			if (!App.Data.Careers.General.whore.includes(slave.career)) {
 				r.push(`${He} has been fucked so many times that a free sex worker could teach ${him} nothing.`);
 			}
 		}
diff --git a/src/npc/generate/generateLeadershipSlave.js b/src/npc/generate/generateLeadershipSlave.js
index 11f45fad4cd8e30681522643861d6cf397e46842..f8530474b7dac4c3f6f51c2abc24895e93137b9a 100644
--- a/src/npc/generate/generateLeadershipSlave.js
+++ b/src/npc/generate/generateLeadershipSlave.js
@@ -71,7 +71,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			if (jsRandom(0, 2) === 0) {
 				configureLimbs(slave, "all", 5);
 			}
-			slave.career = either(App.Data.misc.bodyguardCareers);
+			slave.career = either(App.Data.Careers.Leader.bodyguard);
 			break;
 		case "Wardeness":
 			slave.energy = jsRandom(80, 100);
@@ -81,7 +81,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			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(App.Data.misc.wardenessCareers);
+			slave.career = either(App.Data.Careers.Leader.wardeness);
 			break;
 			// Management
 		case "Headgirl":
@@ -94,7 +94,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			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(App.Data.misc.HGCareers);
+			slave.career = either(App.Data.Careers.Leader.HG);
 			break;
 		case "Teacher":
 			slave.fetish = "dom";
@@ -105,7 +105,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			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(App.Data.misc.schoolteacherCareers);
+			slave.career = either(App.Data.Careers.Leader.schoolteacher);
 			break;
 		case "Nurse":
 			slave.fetish = "dom";
@@ -113,7 +113,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			slave.muscles = jsRandom(6, 50);
 			slave.face = jsRandom(41, 90);
 			slave.sexualQuirk = "caring";
-			slave.career = either(App.Data.misc.nurseCareers);
+			slave.career = either(App.Data.Careers.Leader.nurse);
 			break;
 		case "Attendant":
 		case "Motherly Attendant":
@@ -131,20 +131,20 @@ globalThis.generateLeadershipSlave = function(input, location) {
 				slave.preg = 0;
 			}
 			eyeSurgery(slave, "both", either(0, 2, 2) === 2 ? "normal" : "blind");
-			slave.career = either(App.Data.misc.attendantCareers);
+			slave.career = either(App.Data.Careers.Leader.attendant);
 			break;
 		case "Matron":
 			slave.sexualQuirk = "caring";
 			slave.counter.birthsTotal = jsRandom(2, 4);
 			slave.vagina = 3;
 			slave.face = jsRandom(60, 90);
-			slave.career = either(App.Data.misc.matronCareers);
+			slave.career = either(App.Data.Careers.Leader.matron);
 			break;
 		case "Stewardess":
 			slave.energy = jsRandom(70, 90);
 			slave.fetish = "dom";
 			slave.fetishStrength = 100;
-			slave.career = either(App.Data.misc.stewardessCareers);
+			slave.career = either(App.Data.Careers.Leader.stewardess);
 			break;
 		case "Milkmaid":
 			slave.muscles = jsRandom(31, 60);
@@ -152,7 +152,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			slave.sexualQuirk = "caring";
 			slave.behavioralQuirk = "funny";
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(4, 9), prostate: either(1, 1, 1, 2)});
-			slave.career = either(App.Data.misc.milkmaidCareers);
+			slave.career = either(App.Data.Careers.Leader.milkmaid);
 			break;
 		case "Farmer":
 			slave.muscles = jsRandom(41, 70);
@@ -160,19 +160,19 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			slave.weight = jsRandom(0, 30);
 			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(App.Data.misc.farmerCareers);
+			slave.career = either(App.Data.Careers.Leader.farmer);
 			break;
 			// Entertain
 		case "DJ":
 			slave.skill.entertainment = 100;
 			slave.muscles = jsRandom(6, 30);
 			slave.face = 100;
-			slave.career = either(App.Data.misc.DJCareers);
+			slave.career = either(App.Data.Careers.Leader.DJ);
 			break;
 		case "Madam":
 			slave.skill.whoring = 100;
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(3, 5), prostate: either(1, 1, 1, 2)});
-			slave.career = either(App.Data.misc.madamCareers);
+			slave.career = either(App.Data.Careers.Leader.madam);
 			break;
 		case "Concubine":
 			slave.prestige = 3;
diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js
index 785166e73b90f8c03901454c8117e336209d13a0..61e336d9a9c8f42dde3fed2a5282c8c90c606b13 100644
--- a/src/npc/generate/generateMarketSlave.js
+++ b/src/npc/generate/generateMarketSlave.js
@@ -1375,7 +1375,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 			slave.origin = "You bought $him from the underage raiders' slave market.";
 			slave.trust -= 25;
 			setHealth(slave, jsRandom(-30, 70), Math.max(normalRandInt(10, 4), 0), Math.max(normalRandInt(0, 2), 0), Math.max(normalRandInt(0, 0.7), 0), jsRandom(30, 100));
-			slave.career = setup.veryYoungCareers.random();
+			slave.career = App.Data.Careers.General.veryYoung.random();
 			generateSalonModifications(slave);
 			slave.birthWeek = 0;
 			if (slave.vagina !== -1) {
diff --git a/src/npc/generate/generateNewSlaveJS.js b/src/npc/generate/generateNewSlaveJS.js
index f6c0b21286197af5aa7fa3d7a27d70a20e95f8b3..ebc7c1822f3b2f9cfd75d73cc7b4f7bf1ca24d62 100644
--- a/src/npc/generate/generateNewSlaveJS.js
+++ b/src/npc/generate/generateNewSlaveJS.js
@@ -1404,23 +1404,23 @@ globalThis.GenerateNewSlave = (function() {
 	function generateCareer() {
 		if (V.AgePenalty === 1) {
 			if (slave.actualAge < 16) {
-				slave.career = setup.veryYoungCareers.random();
+				slave.career = App.Data.Careers.General.veryYoung.random();
 			} else if (slave.actualAge <= 24) {
-				slave.career = setup.youngCareers.random();
+				slave.career = App.Data.Careers.General.young.random();
 			} else if (slave.intelligenceImplant >= 15) {
-				slave.career = setup.educatedCareers.random();
+				slave.career = App.Data.Careers.General.educated.random();
 			} else {
-				slave.career = setup.uneducatedCareers.random();
+				slave.career = App.Data.Careers.General.uneducated.random();
 			}
 		} else {
 			if (slave.actualAge < 16) {
-				slave.career = setup.veryYoungCareers.random();
+				slave.career = App.Data.Careers.General.veryYoung.random();
 			} else if (slave.intelligenceImplant >= 15) {
-				slave.career = setup.educatedCareers.random();
+				slave.career = App.Data.Careers.General.educated.random();
 			} else if (slave.actualAge <= 24) {
-				slave.career = setup.youngCareers.random();
+				slave.career = App.Data.Careers.General.young.random();
 			} else {
-				slave.career = setup.uneducatedCareers.random();
+				slave.career = App.Data.Careers.General.uneducated.random();
 			}
 		}
 	}
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 0a0861e8cc5c79a53fedf14dccdec4ff14dc3f9e..9e0206d184819d71331bde334ee137b42ca44258 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -225,30 +225,30 @@ App.StartingGirls.career = function(slave) {
 	if (V.AgePenalty === 1) {
 		if (slave.actualAge < 16) {
 			text = "Very young careers: ";
-			pullDown = render(setup.veryYoungCareers);
+			pullDown = render(App.Data.Careers.General.veryYoung);
 		} else if (slave.actualAge <= 24) {
 			text = "Young careers: ";
-			pullDown = render(setup.youngCareers);
+			pullDown = render(App.Data.Careers.General.young);
 		} else if (slave.intelligenceImplant >= 15) {
 			text = "Educated careers: ";
-			pullDown = render(setup.educatedCareers);
+			pullDown = render(App.Data.Careers.General.educated);
 		} else {
 			text = "Uneducated careers: ";
-			pullDown = render(setup.uneducatedCareers);
+			pullDown = render(App.Data.Careers.General.uneducated);
 		}
 	} else {
 		if (slave.actualAge < 16) {
 			text = "Very young careers: ";
-			pullDown = render(setup.veryYoungCareers);
+			pullDown = render(App.Data.Careers.General.veryYoung);
 		} else if (slave.intelligenceImplant >= 15) {
 			text = "Educated careers: ";
-			pullDown = render(setup.educatedCareers);
+			pullDown = render(App.Data.Careers.General.educated);
 		} else if (slave.actualAge <= 24) {
 			text = "Young careers: ";
-			pullDown = render(setup.youngCareers);
+			pullDown = render(App.Data.Careers.General.young);
 		} else {
 			text = "Uneducated careers: ";
-			pullDown = render(setup.uneducatedCareers);
+			pullDown = render(App.Data.Careers.General.uneducated);
 		}
 	}
 	function render(options) {
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index 76596a3ee22ef7bae6114cbab724c54d0d803f91..5439453d4e8e602da0cdfd39ca2d57574e4374eb 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -81,7 +81,7 @@
 				<div class="indent">
 					<<link "Head Girl Prospect" "Starting Girls">>
 						<<set $activeSlave = App.StartingGirls.generate({ minAge: 36, maxAge: 44 })>>
-						<<set $activeSlave.career = setup.HGCareers.random(), $activeSlave.intelligence = 70, $activeSlave.intelligenceImplant = 0>>
+						<<set $activeSlave.career = App.Data.Careers.Leader.HG.random(), $activeSlave.intelligence = 70, $activeSlave.intelligenceImplant = 0>>
 					<</link>>
 					<span class="note">
 						Inexpensive potential to become a great right hand woman
diff --git a/src/uncategorized/reFSAcquisition.tw b/src/uncategorized/reFSAcquisition.tw
index 135cb9796ba0740b0561efdc9158467aeee5468f..80d81b60a50e09099b67eafb3770d8548f21fbb0 100644
--- a/src/uncategorized/reFSAcquisition.tw
+++ b/src/uncategorized/reFSAcquisition.tw
@@ -178,7 +178,7 @@
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave("XX")>>
 <<set $activeSlave.origin = "$He was sold to you as a way of disposing of an inconveniently pregnant young $woman.">>
-<<set $activeSlave.career = setup.youngCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.young.random()>>
 <<run generateSalonModifications($activeSlave)>>
 <<run setHealth($activeSlave, jsRandom(-20, 20), undefined, undefined, 0, 10)>>
 <<set $activeSlave.devotion = random(-45,-25)>>
@@ -223,7 +223,7 @@
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave()>>
 <<set $activeSlave.origin = "$He was voluntarily enslaved after $he decided that your paternalistic arcology was a better place for advancement than the old world.">>
-<<set $activeSlave.career = setup.educatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.educated.random()>>
 <<run setHealth($activeSlave, jsRandom(40, 60), undefined, undefined, 0, 0)>>
 <<set $activeSlave.devotion = random(25,45)>>
 <<set $activeSlave.trust = random(25,45)>>
@@ -578,7 +578,7 @@
 <<set $activeSlave.lips = 15>>
 <<set $activeSlave.devotion = random(25,45)>>
 <<set $activeSlave.trust = random(25,45)>>
-<<set $activeSlave.career = setup.educatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.educated.random()>>
 <<run setHealth($activeSlave, jsRandom(20, 40), undefined, undefined, 0, 0)>>
 <<set $activeSlave.intelligence = random(51,95)>>
 <<set $activeSlave.intelligenceImplant = 15>>
@@ -775,7 +775,7 @@
 <<set $activeSlave.lips = 0>>
 <<set $activeSlave.devotion = random(25,45)>>
 <<set $activeSlave.trust = random(25,45)>>
-<<set $activeSlave.career = setup.educatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.educated.random()>>
 <<run setHealth($activeSlave, jsRandom(20, 40), undefined, undefined, 0, 0)>>
 <<set $activeSlave.intelligence = random(51,95)>>
 <<set $activeSlave.intelligenceImplant = 15>>
@@ -866,7 +866,7 @@
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave()>>
 <<set $activeSlave.origin = "$He was voluntarily enslaved after $he decided that your arcology was the best place for $him to get the steroids that $he'd allowed to define $his life.">>
-<<set $activeSlave.career = setup.uneducatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
 <<run generateSalonModifications($activeSlave)>>
 <<run setHealth($activeSlave, jsRandom(20, 40), undefined, undefined, 0, 20)>>
 <<set $activeSlave.muscles = 100>>
@@ -1023,7 +1023,7 @@
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave("XX")>>
 <<set $activeSlave.origin = "$He sold $himself to you in the hopes that $his body would help keep humanity alive.">>
-<<set $activeSlave.career = setup.youngCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.young.random()>>
 <<run generateSalonModifications($activeSlave)>>
 <<run setHealth($activeSlave, jsRandom(40, 60), undefined, undefined, 0, 0)>>
 <<set $activeSlave.devotion = random(25,35)>>
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
index 21f03484a15aae29eaf841c716c3c17802c55ac4..d1b7b8b213b1aad74543746c3e9ae5bde2ab522b 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
@@ -25,11 +25,11 @@
 <<set $activeSlave.relationshipTarget = _secondSlave.ID>>
 
 <<if (_secondSlave.actualAge <= 22)>>
-	<<set _secondSlave.career = setup.youngCareers.random()>>
+	<<set _secondSlave.career = App.Data.Careers.General.young.random()>>
 <<elseif (_secondSlave.intelligenceImplant >= 15)>>
-	<<set _secondSlave.career = setup.educatedCareers.random()>>
+	<<set _secondSlave.career = App.Data.Careers.General.educated.random()>>
 <<else>>
-	<<set _secondSlave.career = setup.uneducatedCareers.random()>>
+	<<set _secondSlave.career = App.Data.Careers.General.uneducated.random()>>
 <</if>>
 
 /* they've been fucking, obviously, so no virginity */
diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw
index c2152bbb3c0ad73c85c19fcf8ebd3e5385423f8d..e0294b2f9f011ab29081b7fcf43a23a5375981c7 100644
--- a/src/uncategorized/reMalefactor.tw
+++ b/src/uncategorized/reMalefactor.tw
@@ -70,7 +70,7 @@
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave("XX")>>
 <<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for smuggling slaves within $his body.">>
-<<set $activeSlave.career = setup.uneducatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
 <<set $activeSlave.devotion = random(-75,-50)>>
 <<set $activeSlave.trust = random(-75,-60)>>
 <<set $activeSlave.oldDevotion = $activeSlave.devotion>>
@@ -304,7 +304,7 @@
 <<set $fixedRace = _realRace>>
 <<set $activeSlave = GenerateNewSlave()>>
 <<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for defying local racial segregation laws.">>
-<<set $activeSlave.career = setup.educatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.educated.random()>>
 <<set $activeSlave.devotion = random(-75,-50)>>
 <<set $activeSlave.trust = random(-75,-50)>>
 <<set $activeSlave.oldDevotion = $activeSlave.devotion>>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 0c3d813e840f97cabf5bc309c1c12fd85028fb85..6471b3ee17887054d2b92abfdc65047e10eb6a94 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -1496,7 +1496,7 @@
 <<run setHealth($activeSlave, jsRandom(-70, -60), undefined, undefined, undefined, 0)>>
 <<set $activeSlave.intelligence = random(-50,0)>>
 <<set $activeSlave.intelligenceImplant = 0>>
-<<set $activeSlave.career = setup.uneducatedCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
 <<set $activeSlave.counter.birthsTotal = 2>>
 
 <<case "spoiled daughter">>
@@ -1700,9 +1700,9 @@
 <<set $activeSlave.lactation = 1>>
 <<set $activeSlave.lactationDuration = 2>>
 <<if $activeSlave.actualAge < 13>>
-	<<set $activeSlave.career = setup.veryYoungCareers.random()>>
+	<<set $activeSlave.career = App.Data.Careers.General.veryYoung.random()>>
 <<else>>
-	<<set $activeSlave.career = setup.uneducatedCareers.random()>>
+	<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
 <</if>>
 <<set $activeSlave.vagina = 3>>
 <<set $activeSlave.anus = 0>>
@@ -1836,7 +1836,7 @@
 <<set $activeSlaveOneTimeMaxAge = 24>>
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.career = setup.bodyguardCareers.random()>>
+<<set $activeSlave.career = App.Data.Careers.Leader.bodyguard.random()>>
 <<set $activeSlave.origin = "$He is an unsuccessful cyborg experiment that was set free.">>
 <<set $activeSlave.devotion = random(0,20)>>
 <<set $activeSlave.trust = random(0,20)>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index a078ae5348a54e61a1fddcc2433a2fb1f61468bd..8775b046f523c996cfc71e22ee1a39fa9e554507 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -74,7 +74,7 @@
 
 			<<set $activeSlave = GenerateNewSlave("XX")>>
 			<<set $activeSlave.origin = "$He sold $himself into slavery to escape addiction debts.">>
-			<<set $activeSlave.career = setup.uneducatedCareers.random()>>
+			<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
 			<<set $activeSlave.devotion = random(-15,15)>>
 			<<set $activeSlave.trust = random(-15,15)>>
 			<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
@@ -702,7 +702,7 @@
 	<<switch $RecETSevent>>
 		<<case "addict mother daughter">>
 			<<set $activeSlave.origin = "You tricked $his mother into selling $him into slavery to clear addiction debts.">>
-			<<set $activeSlave.career = setup.uneducatedCareers.random()>>
+			<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
 			<<set $activeSlave.slaveName = $activeSlave.birthName>>
 			<<set $activeSlave.ID = $activeSlave.ID + 1000>>
 			<<set $activeSlave.devotion += 10>>
diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw
index 26264529f57be7735434b816da0899292a6e0e0d..9ac986fd643b00e9c7b1c5cfd92c74cd325091b9 100644
--- a/src/uncategorized/seCoursing.tw
+++ b/src/uncategorized/seCoursing.tw
@@ -141,7 +141,7 @@ You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like t
 	<<set $activeSlave.skill.anal = 0>>
 	<<set $activeSlave.skill.whoring = 0>>
 	<<set $activeSlave.weight = random(-20,100)>>
-	<<set $activeSlave.career = setup.youngCareers.random()>>
+	<<set $activeSlave.career = App.Data.Careers.General.young.random()>>
 <<elseif $origin == "housewife">>
 	<<set $activeSlaveOneTimeMinAge = 35>>
 	<<set $activeSlaveOneTimeMaxAge = 39>>
diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw
index 7815c4bff9489255ed98cc53fbf9519a6d348b86..b27ed6ddbe2c6389988d89206a5b7f75a1f16b0b 100644
--- a/src/uncategorized/sellSlave.tw
+++ b/src/uncategorized/sellSlave.tw
@@ -257,52 +257,52 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 <</if>>
 
 <<if getSlave($AS).career != 0>>
-	<<if setup.bodyguardCareers.includes(getSlave($AS).career)>>
+	<<if App.Data.Careers.Leader.bodyguard.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Bodyguard; that's valuable.
-	<<elseif setup.wardenessCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.wardeness.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Wardeness; that's valuable.
-	<<elseif setup.attendantCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.attendant.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Attendant; that's valuable.
-	<<elseif setup.matronCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.matron.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Matron; that's valuable.
-	<<elseif setup.schoolteacherCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.schoolteacher.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Schoolteacher; that's valuable.
-	<<elseif setup.stewardessCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.stewardess.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Stewardess; that's valuable.
-	<<elseif setup.milkmaidCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.milkmaid.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Milkmaid; that's valuable.
-	<<elseif setup.farmerCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.farmer.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Farmer; that's valuable.
-	<<elseif setup.madamCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.madam.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Madam; that's valuable.
-	<<elseif setup.DJCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.DJ.includes(getSlave($AS).career)>>
 		$His background would help make $him a good DJ; that's valuable.
-	<<elseif setup.HGCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.HG.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Head Girl; that's valuable.
-	<<elseif setup.recruiterCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.recruiter.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Recruiter; that's valuable.
-	<<elseif setup.matronCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.matron.includes(getSlave($AS).career)>>
 		$His background would help make $him a good Matron; that's valuable.
-	<<elseif setup.entertainmentCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.General.entertainment.includes(getSlave($AS).career)>>
 		$His background should help $his flirting a little.
-	<<elseif setup.whoreCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.General.whore.includes(getSlave($AS).career)>>
 		$His background should help $his fucking a little.
-	<<elseif setup.gratefulCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.General.grateful.includes(getSlave($AS).career)>>
 		$His background should make $him a bit more trusting.
-	<<elseif setup.menialCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.General.menial.includes(getSlave($AS).career)>>
 		$His background should make $him a bit more tractable.
-	<<elseif setup.servantCareers.includes(getSlave($AS).career)>>
+	<<elseif App.Data.Careers.Leader.servant.includes(getSlave($AS).career)>>
 		$His background should make $him a good servant.
 	<</if>>
 <</if>>
 <<if ($week-getSlave($AS).weekAcquired >= 20) && (getSlave($AS).skill.entertainment >= 100)>>
-	<<if setup.entertainmentCareers.includes(getSlave($AS).career)>>
+	<<if App.Data.Careers.General.entertainment.includes(getSlave($AS).career)>>
 	<<else>>
 		$He's gotten enough experience as a slave entertainer that $he has the added value of a $girl with a history in entertainment from before $he was a slave.
 	<</if>>
 <</if>>
 <<if (getSlave($AS).counter.oral + getSlave($AS).counter.anal + getSlave($AS).counter.vaginal + getSlave($AS).counter.mammary + getSlave($AS).counter.penetrative > 1000)>>
-	<<if setup.whoreCareers.includes(getSlave($AS).career)>>
+	<<if App.Data.Careers.General.whore.includes(getSlave($AS).career)>>
 	<<else>>
 		I see $he's sexually very experienced; that counts as a stand-in for the usual bonus value from having been a sex worker before enslavement.
 	<</if>>