diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 83044ab262c9604263ea2213bd88fbfeb2e80a8f..074ae80a31132dd6defb7362c93d7de9802348d8 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -4827,16 +4827,16 @@ App.UI.PassageSlaveFilers = {
 	"Personal Attention Select": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0),
 	"Agent Select": s => ((s.fuckdoll === 0 && s.devotion > 20 && s.intelligence + s.intelligenceImplant > 15 && s.intelligenceImplant >= 15 && canWalk(s) && canSee(s) && canHear(s) && canTalk(s) && s.broodmother < 2 && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.arcologyAgent.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.arcologyAgent.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.arcologyAgent.manager.slaveHasExperience(s)))),
 	"BG Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "guard you" && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.armory.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.armory.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.armory.manager.slaveHasExperience(s)))),
 	"Recruiter Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "recruit girls" && canWalk(s) && canSee(s) && canTalk(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.penthouse.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.penthouse.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.penthouse.manager.slaveHasExperience(s)))),
 	"HG Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "be your Head Girl" && canWalk(s) && canHear(s) && canSee(s) && canTalk(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.headGirlSuite.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.headGirlSuite.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.headGirlSuite.manager.slaveHasExperience(s)))),
 	"Head Girl Suite": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be your Head Girl" && s.indentureRestrictions <= 0 && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) ||
 		(State.variables.SlaveSummaryFiler !== "assignable" && s.assignment === "live with your Head Girl"))),
@@ -4849,28 +4849,28 @@ App.UI.PassageSlaveFilers = {
 			(State.variables.SlaveSummaryFiler === "transferable" && s.assignment !== "rest in the spa")))),
 	"Attendant Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.spa.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.spa.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.spa.manager.slaveHasExperience(s)))),
 	"Nursery": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (s.devotion > 20 || s.trust > 20) && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a nanny") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work as a nanny") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Matron.ID))),
 	"Matron Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.nursery.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.nursery.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.nursery.manager.slaveHasExperience(s)))),
 	"Brothel": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work in the brothel") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work in the brothel") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Madam.ID))),
 	"Madam Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.brothel.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.brothel.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.brothel.manager.slaveHasExperience(s)))),
 	"Club": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "serve in the club") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "serve in the club") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.DJ.ID))),
 	"DJ Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canTalk(s) && canHear(s) && canWalk(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.club.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.club.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.club.manager.slaveHasExperience(s)))),
 	"Clinic": s => ((s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "get treatment in the clinic") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "get treatment in the clinic") ||
@@ -4879,7 +4879,7 @@ App.UI.PassageSlaveFilers = {
 			(State.variables.SlaveSummaryFiler === "transferable" && s.assignment !== "get treatment in the clinic")))),
 	"Nurse Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.clinic.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.clinic.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.clinic.manager.slaveHasExperience(s)))),
 	"Schoolroom": s => ((s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.fetish !== "mindbroken" && s.assignment !== "learn in the schoolroom") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "learn in the schoolroom") ||
@@ -4888,42 +4888,42 @@ App.UI.PassageSlaveFilers = {
 			(State.variables.SlaveSummaryFiler === "transferable" && s.assignment !== "learn in the schoolroom")))),
 	"Schoolteacher Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canTalk(s) && canHear(s) && canSee(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.schoolroom.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.schoolroom.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.schoolroom.manager.slaveHasExperience(s)))),
 	"Dairy": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work in the dairy") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work in the dairy") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Milkmaid.ID))),
 	"Milkmaid Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 20 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.dairy.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.dairy.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.dairy.manager.slaveHasExperience(s)))),
 	"Farmyard": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a farmhand") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work as a farmhand") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Farmer.ID))),
 	"Farmer Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.farm.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.farm.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.farm.manager.slaveHasExperience(s)))),
 	"Servants' Quarters": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a servant") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work as a servant") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Stewardess.ID))),
 	"Stewardess Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.servantsQuarters.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.servantsQuarters.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.servantsQuarters.manager.slaveHasExperience(s)))),
 	"Master Suite": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "serve in the master suite") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "serve in the master suite") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Concubine.ID))),
 	"Concubine Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.amp !== 1) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.masterSuite.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.masterSuite.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.masterSuite.manager.slaveHasExperience(s)))),
 	"Cellblock": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && s.fetish !== "mindbroken" && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be confined in the cellblock") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "be confined in the cellblock") ||
 		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Wardeness.ID))),
 	"Wardeness Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
-		(State.variables.SlaveSummaryFiler === "experienced" && (s.skill[App.Data.Facilities.cellblock.manager.skill] >= State.variables.masteredXP) || (typeof s.career === 'string' && App.Data.Facilities.cellblock.manager.careers.includes(s.career))))),
+		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.cellblock.manager.slaveHasExperience(s)))),
 	"Arcade": s => (s.assignmentVisible === 1 && (State.variables.arcade >= State.variables.arcadeSlaves || State.variables.arcadeUpgradeFuckdolls === 1) && (
 		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be confined in the arcade") ||
 		(State.variables.SlaveSummaryFiler !== "assignable" && s.assignment === "be confined in the arcade"))),