diff --git a/src/player/actions/fCaress.tw b/src/player/actions/fCaress.tw
index a0588d94fc8675cab29626d9c7b7ebdc5d685382..6e2161653adb28a04c9ee2d174d43a0961b5483e 100644
--- a/src/player/actions/fCaress.tw
+++ b/src/player/actions/fCaress.tw
@@ -51,7 +51,7 @@ You tell $activeSlave.slaveName to
 	She pauses, obviously considering whether to resist, but eventually decides to save her strength to fight more onerous orders, and gives in. Once she's close, you hold her face in your palms and look into her $activeSlave.eyeColor eyes. She stares back, but after a few moments she loses the contest of wills and looks down.
 <</if>>
 
-You delicately lift her head and touch your fingertips to her chin, tenderly brushing along the line of her mouth with the your <<if $PC.title == 1>>manly<<else>>feminine<</if>> thumb.
+You delicately lift her head and touch your fingertips to her chin, tenderly brushing along the line of her mouth with your <<if $PC.title == 1>>manly<<else>>feminine<</if>> thumb.
 <<if ($activeSlave.lipsTat != 0)>>
 	Your fingers trace her facial tattoos, slowly picking out the patterns against her $activeSlave.skin skin.
 <</if>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index bbab8ec4cb7bbd3934884ff347b40b9e4befb866..4b6e6e140131c600f98536f3d772dcc4fa7ff973 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -1251,7 +1251,7 @@ Heading back towards your office after seeing to a minor matter, you encounter <
 
 <<case "refreshment delivery">>
 
-When it's time for refreshments, $assistantName directs the closest unoccupied slave to bring them in. This has the added advantage of bringing an enjoyably unpredictable variety of slaves under your eyes. This time, <<EventNameLink $activeSlave>> comes through the door of your office, carrying <<if $PC.refreshmentType == 0>>a selection of $PC.refreshment and the necessary implements<<elseif $PC.refreshmentType == 1>>a bottle of $PC.refreshment with a glass in your favorite style<<elseif $PC.refreshmentType == 2>>a selection of $PC.refreshment on a plate of your favored style<<elseif $PC.refreshmentType == 3>>a line of $PC.refreshment and the necessary implements<<elseif $PC.refreshmentType == 4>>a syringe of $PC.refreshment and the necessary implements<<elseif $PC.refreshmentType == 5>>a bottle of $PC.refreshment<<elseif $PC.refreshmentType == 4>>several sheets of $PC.refreshment<</if>> on a tray<<if $activeSlave.preg > 30>> carefully held against her pregnant belly, doing her best to will her child<<if $activeSlave.pregType > 1>>ren<</if>> to not kick the tray off balance<<elseif $activeSlave.preg > 20>> carefully held against her pregnant belly<</if>>.
+When it's time for refreshments, $assistantName directs the closest unoccupied slave to bring them in. This has the added advantage of bringing an enjoyably unpredictable variety of slaves under your eyes. This time, <<EventNameLink $activeSlave>> comes through the door of your office, carrying <<if $PC.refreshmentType == 0>>a selection of $PC.refreshment brands and the necessary implements<<elseif $PC.refreshmentType == 1>>a bottle of $PC.refreshment with a glass in your favorite style<<elseif $PC.refreshmentType == 2>>a selection of $PC.refreshment on a plate of your favored style<<elseif $PC.refreshmentType == 3>>a line of $PC.refreshment and the necessary implements<<elseif $PC.refreshmentType == 4>>a syringe of $PC.refreshment and the necessary implements<<elseif $PC.refreshmentType == 5>>a bottle of $PC.refreshment<<elseif $PC.refreshmentType == 4>>several sheets of $PC.refreshment<</if>> on a tray<<if $activeSlave.preg > 30>> carefully held against her pregnant belly, doing her best to will her child<<if $activeSlave.pregType > 1>>ren<</if>> to not kick the tray off balance<<elseif $activeSlave.preg > 20>> carefully held against her pregnant belly<</if>>.
 
 <br><br>
 
@@ -1259,11 +1259,11 @@ She comes to a stop right beside your elbow, waiting for further direction, just
 <<if $activeSlave.amp < 0>>
 	As she maintains her posture obediently, her P-Limbs produce minute machine noises. They allow her good coordination, but their gyros and servomotors are constantly working to maintain it, which means that when she stands still, they're not perfectly quiet.
 <<elseif $activeSlave.boobs > 4000>>
-	Her breasts are so massive that she's got the tray more or less balanced on top of them. As she breathes, her tits rise and fall slightly, <<if $PC.refreshmentType == 0>>causing the $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 1>>causing ripples in the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 2>>threatening to knock the $PC.refreshment from it's plate<<elseif $PC.refreshmentType == 3>>disturbing the lines of $PC.refreshment<<elseif $PC.refreshmentType == 4>>causing the syringes of $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 5>>rattling the $PC.refreshment in its bottle<<elseif $PC.refreshmentType == 6>>threatening to knock the sheets of $PC.refreshment off the tray<</if>>.
+	Her breasts are so massive that she's got the tray more or less balanced on top of them. As she breathes, her tits rise and fall slightly, <<if $PC.refreshmentType == 0>>causing the $PC.refreshment collection to roll from side to side<<elseif $PC.refreshmentType == 1>>causing ripples in the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 2>>threatening to knock the $PC.refreshment from it's plate<<elseif $PC.refreshmentType == 3>>disturbing the lines of $PC.refreshment<<elseif $PC.refreshmentType == 4>>causing the syringes of $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 5>>rattling the $PC.refreshment in its bottle<<elseif $PC.refreshmentType == 6>>threatening to knock the sheets of $PC.refreshment off the tray<</if>>.
 <<elseif $activeSlave.preg > 30>>
-	She keeps the tray balanced atop her pregnancy, though the weight encourages her child<<if $activeSlave.pregType > 1>>ren<</if>> to begin kicking. As you glance over at her, she lets out a minute, tired sigh, as kicks from her child<<if $activeSlave.pregType > 1>>ren<</if>> <<if $PC.refreshmentType == 0>>cause the $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 1>>cause ripples in the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 2>>threaten to knock the $PC.refreshment from it's plate<<elseif $PC.refreshmentType == 3>>disturb the lines of $PC.refreshment<<elseif $PC.refreshmentType == 4>>cause the syringes of $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 5>>rattle the $PC.refreshment in its bottle<<elseif $PC.refreshmentType == 6>>threaten to knock the sheets of $PC.refreshment off the tray<</if>>.
+	She keeps the tray balanced atop her pregnancy, though the weight encourages her child<<if $activeSlave.pregType > 1>>ren<</if>> to begin kicking. As you glance over at her, she lets out a minute, tired sigh, as kicks from her child<<if $activeSlave.pregType > 1>>ren<</if>> <<if $PC.refreshmentType == 0>>cause the $PC.refreshment collection to roll from side to side<<elseif $PC.refreshmentType == 1>>cause ripples in the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 2>>threaten to knock the $PC.refreshment from it's plate<<elseif $PC.refreshmentType == 3>>disturb the lines of $PC.refreshment<<elseif $PC.refreshmentType == 4>>cause the syringes of $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 5>>rattle the $PC.refreshment in its bottle<<elseif $PC.refreshmentType == 6>>threaten to knock the sheets of $PC.refreshment off the tray<</if>>.
 <<elseif $activeSlave.preg > 20>>
-	Her pregnant belly is big enough that she's got the tray more or less balanced on top of it. As you glance over at her, she lets out a minute, tired sigh, <<if $PC.refreshmentType == 0>>causing the $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 1>>causing ripples in the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 2>>nearly rocking the $PC.refreshment from it's plate<<elseif $PC.refreshmentType == 3>>disturbing the lines of $PC.refreshment<<elseif $PC.refreshmentType == 4>>causing the syringes of $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 5>>nearly tipping the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 6>>threatening to blow the sheets of $PC.refreshment off the tray<</if>>.
+	Her pregnant belly is big enough that she's got the tray more or less balanced on top of it. As you glance over at her, she lets out a minute, tired sigh, <<if $PC.refreshmentType == 0>>causing the $PC.refreshment collection to roll from side to side<<elseif $PC.refreshmentType == 1>>causing ripples in the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 2>>nearly rocking the $PC.refreshment from it's plate<<elseif $PC.refreshmentType == 3>>disturbing the lines of $PC.refreshment<<elseif $PC.refreshmentType == 4>>causing the syringes of $PC.refreshment to roll from side to side<<elseif $PC.refreshmentType == 5>>nearly tipping the bottle of $PC.refreshment<<elseif $PC.refreshmentType == 6>>threatening to blow the sheets of $PC.refreshment off the tray<</if>>.
 <<elseif $activeSlave.muscles > 30>>
 	With her incredible musculature, she's able to maintain utter stillness in the perfect posture of an obedient slave. A naturally standing human makes some small movements, but her strength allows her to suppress them by setting muscle groups against each other. This has the ancillary benefit of making them stand out nicely.
 <<elseif $activeSlave.energy > 95>>
diff --git a/src/uncategorized/rulesAssistant.tw b/src/uncategorized/rulesAssistant.tw
index e8d34de6f4533caee7a4a153b5d2154cd590bea6..c6aff799ed37cfd5283364c7c1c91e7132073fdf 100644
--- a/src/uncategorized/rulesAssistant.tw
+++ b/src/uncategorized/rulesAssistant.tw
@@ -2373,7 +2373,7 @@ Relationship rules: ''$currentRule.relationshipRules.''
 			<<if ($currentRule.ID == 1)>>
 
 				<<set $currentRule.name = "Obedient Slaves">>
-				<<set $currentRule.condition = {id: ">=", first: {id: "(name)", name: "devotion"}, second: {id: "(number)", value: 20}}>>
+				<<set $currentRule.condition = {id: ">", first: {id: "(name)", name: "devotion"}, second: {id: "(number)", value: 20}}>>
 				<<set $currentRule.clothes = "slutty jewelry">>
 				<<set $currentRule.collar = "pretty jewelry">>
 				<<set $currentRule.shoes = "heels">>
@@ -2454,7 +2454,7 @@ Relationship rules: ''$currentRule.relationshipRules.''
 
 			<<elseif ($currentRule.ID == 2)>>
 				<<set $currentRule.name = "Disobedient Slaves">>
-				<<set $currentRule.condition = {id: "<", first: {id: "(name)", name: "devotion"}, second: {id: "(number)", value: 20}}>>
+				<<set $currentRule.condition = {id: "<=", first: {id: "(name)", name: "devotion"}, second: {id: "(number)", value: 20}}>>
 				<<set $currentRule.clothes = "uncomfortable straps">>
 				<<set $currentRule.collar = "uncomfortable leather">>
 				<<set $currentRule.shoes = "heels">>
diff --git a/src/uncategorized/saChoosesOwnClothes.tw b/src/uncategorized/saChoosesOwnClothes.tw
index 4882ba1bcef7bc9e0a422155c6d3e35c057f36f6..6778f16bc9d8a5ea19b98ef593d1ddf796722128 100644
--- a/src/uncategorized/saChoosesOwnClothes.tw
+++ b/src/uncategorized/saChoosesOwnClothes.tw
@@ -271,7 +271,7 @@
 	<<set $slaves[$i].clothes = "no clothing">>
 <<elseif ($slaves[$i].assignment == "rest")>>
 	and wears a comfortable t-shirt and cutoffs to relax.
-	<<set $slaves[$i].clothes = "no clothing">>
+	<<set $slaves[$i].clothes = "cutoffs and a t-shirt">>
 <<elseif ($slaves[$i].assignment == "be a subordinate slave")>>
 	but gives up and goes naked after the other slaves constantly tear whatever $pronoun's wearing off $object.
 	<<set $slaves[$i].clothes = "no clothing">>
diff --git a/src/uncategorized/slaveGenerationWidgets.tw b/src/uncategorized/slaveGenerationWidgets.tw
index 93851054114cf4fe527f0119c59c07e979060fab..7d2866d435743ecc481fb00bae087aa880bedcf9 100644
--- a/src/uncategorized/slaveGenerationWidgets.tw
+++ b/src/uncategorized/slaveGenerationWidgets.tw
@@ -15,6 +15,7 @@
 		|| setup.surnamePoolSelector[$args[0].nationality]
 		|| setup.whiteAmericanSlaveSurnames).random()>>
 <<set $args[0].slaveName = $args[0].birthName>>
+<<set $args[0].slaveName = $args[0].birthName, $args[0].slaveSurname = $args[0].birthSurname>>
 <<if $useFSNames == 1>>
 <<if $arcologies[0].FSChattelReligionist > 20>>
 	<<set $args[0].slaveName = setup.chattelReligionistSlaveNames.random(), $args[0].slaveSurname = 0>>
@@ -28,11 +29,7 @@
 	<<set $args[0].slaveName = setup.edoSlaveNames.random(), $args[0].slaveSurname = setup.edoSlaveSurnames.random()>>
 <<elseif $arcologies[0].FSDegradationist != "unset">>
 	<<DegradingName $args[0]>>
-<<else>>
-	<<set $args[0].slaveName = $args[0].birthName, $args[0].slaveSurname = $args[0].birthSurname>>
 <</if>>
-<<else>>
-	<<set $args[0].slaveName = $args[0].birthName, $args[0].slaveSurname = $args[0].birthSurname>>
 <</if>>
 
 <</widget>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 773970cdd0f7f5861a217a05b509b0c5a6752954..497715d667f58c6abc080280aeb76801606bd08d 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1204,13 +1204,13 @@ Hormones: <strong><span id="hormones">
 	<br>Typical punishment: ''<span id="standardPunishment">$activeSlave.standardPunishment</span>.''
 	<<link "Confinement">><<set $activeSlave.standardPunishment = "confinement">><<replace "#standardPunishment">>$activeSlave.standardPunishment<</replace>><</link>> |
 	<<link "Whipping">><<set $activeSlave.standardPunishment = "whipping">><<replace "#standardPunishment">>$activeSlave.standardPunishment<</replace>><</link>> |
-	<<link "Chastity">><<set $activeSlave.standardPunishment = "chastity">><<replace "#standardPunishment">>$activeSlave.standardPunishment<</replace>><</link>><<if $activeSlave.standardPunishment !== "situational">> |<</if>>
+	<<link "Chastity">><<set $activeSlave.standardPunishment = "chastity">><<replace "#standardPunishment">>$activeSlave.standardPunishment<</replace>><</link>> |
 	<<link "Situational">><<set $activeSlave.standardPunishment = "situational">><<replace "#standardPunishment">>$activeSlave.standardPunishment<</replace>><</link>>
 	&nbsp;&nbsp;&nbsp;&nbsp;
 	Typical reward: ''<span id="standardReward">$activeSlave.standardReward</span>.''
 	<<link "Relaxation">><<set $activeSlave.standardReward = "relaxation">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>> |
 	<<link "Drugs">><<set $activeSlave.standardReward = "drugs">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>> |
-	<<link "Orgasm">><<set $activeSlave.standardReward = "orgasm">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>><<if $activeSlave.standardReward !== "situational">> |<</if>>
+	<<link "Orgasm">><<set $activeSlave.standardReward = "orgasm">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>> |
 	<<link "Situational">><<set $activeSlave.standardReward = "situational">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>>
 	<br>Non-assignment orgasm rules: ''<span id="releaseRules">$activeSlave.releaseRules</span>.''
 	<<link "Permit masturbation and interslave sex">><<set $activeSlave.releaseRules = "permissive">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> |
diff --git a/src/uncategorized/summaryOptions.tw b/src/uncategorized/summaryOptions.tw
index 45f6ed094e8596bd1bb09024d26312c8ca2d6823..eff5878f7a40ec1dd3f742c9d6eb1e81d89662b0 100644
--- a/src/uncategorized/summaryOptions.tw
+++ b/src/uncategorized/summaryOptions.tw
@@ -6,248 +6,72 @@
 //These options will affect the short slave summaries that appear on the main menu and the facility management screens.//
 
 <br><br>
-<<if $lineSeparations == 0>>
-	Line separations are @@.red;HIDDEN.@@
-	//[[Show|Summary Options][$lineSeparations = 1]]//
-<<else>>
-	Line separations are @@.cyan;SHOWN.@@
-	//[[Hide|Summary Options][$lineSeparations = 0]]//
-<</if>>
-
-<br><br>
-
-<<if $sortSlavesBy is "name">>
-	Slaves are sorted on the main menu by @@.yellow;NAME.@@
-<<elseif $sortSlavesBy == "seniority">>
-	Slaves are sorted on the main menu by @@.yellow;SENIORITY.@@
-<<elseif $sortSlavesBy == "actualAge">>
-	Slaves are sorted on the main menu by @@.yellow;TRUE AGE.@@
-<<elseif $sortSlavesBy == "visualAge">>
-	Slaves are sorted on the main menu by @@.yellow;APPARENT AGE.@@
-<<elseif $sortSlavesBy == "physicalAge">>
-	Slaves are sorted on the main menu by @@.yellow;BODILY AGE.@@
-<<elseif $sortSlavesBy == "assignment">>
-	Slaves are sorted on the main menu by @@.yellow;ASSIGNMENT.@@
-<<else>>
-	Slaves are sorted on the main menu by @@.yellow;DEVOTION.@@
-<</if>>
-
-//[[Devotion|Summary Options][$sortSlavesBy = "devotion"]] | [[Name|Summary Options][$sortSlavesBy = "name"]] | [[Assignment|Summary Options][$sortSlavesBy = "assignment"]] | [[Date purchased|Summary Options][$sortSlavesBy = "seniority"]] | [[Age|Summary Options][$sortSlavesBy = "actualAge"]] | [[How old they look|Summary Options][$sortSlavesBy = "visualAge"]] | [[Age of their body|Summary Options][$sortSlavesBy = "physicalAge"]]//
+<span id="OptionAbbreviateSidebar"><<OptionAbbreviateSidebar>></span>
 
 <br>
-
-<<if $sortSlavesOrder == "ascending">>
-	Slaves are sorted in @@.cyan;ASCENDING@@ order.
-	//[[Sort descending|Summary Options][$sortSlavesOrder = "descending"]]//
-<<else>>
-	Slaves are sorted in @@.red;DESCENDING@@ order.
-	//[[Sort ascending|Summary Options][$sortSlavesOrder = "ascending"]]//
-<</if>>
+<span id="OptionSortMain"><<OptionSortMain>></span>
 
 <br>
-
-<<if $sortSlavesMain == 0>>
-	Sort options are @@.red;HIDDEN@@ on the main menu.
-	//[[Show|Summary Options][$sortSlavesMain = 1]]//
-<<else>>
-	Sort options are @@.cyan;SHOWN@@ on the main menu.
-	//[[Hide|Summary Options][$sortSlavesMain = 0]]//
-<</if>>
+<span id="OptionSortBy"><<OptionSortBy>></span>
 
 <br>
+<span id="OptionSortOrder"><<OptionSortOrder>></span>
 
-<<if $rulesAssistantMain == 0>>
-	The rules assistant is @@.red;HIDDEN.@@
-	//[[Show|Summary Options][$rulesAssistantMain = 1]]//
-<<else>>
-	The rules assistant is @@.cyan;SHOWN.@@
-	//[[Hide|Summary Options][$rulesAssistantMain = 0]]//
-<</if>>
+<br>
+<span id="OptionRulesAssistantMain"><<OptionRulesAssistantMain>></span>
 
-<br><br>
 
-Main menu assignment shortcuts are
-<<if $displayAssignments == 1>>
-	@@.cyan;SHOWN.@@ //[[Hide|Summary Options][$displayAssignments = 0]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Show|Summary Options][$displayAssignments = 1]]//
-<</if>>
 
 <br><br>
-
-Granular slave stat numbers are
-<<if $summaryStats == 1>>
-	@@.cyan;DISPLAYED.@@ //[[Hide|Summary Options][$summaryStats = 0]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Display|Summary Options][$summaryStats = 1]]//
-<</if>>
+<span id="OptionDisplayAssignments"><<OptionDisplayAssignments>></span>
 
 <br>
-
-<<if $assignFilter == 0>>
-	Assignment filter controls are @@.red;HIDDEN.@@
-	//[[Show|Summary Options][$assignFilter = 1]]//
-<<else>>
-	Assignment filter controls are @@.cyan;SHOWN.@@
-	//[[Hide|Summary Options][$assignFilter = 0]]//
-<</if>>
+<span id="OptionSummaryStats"><<OptionSummaryStats>></span>
 
 <br>
+<span id="OptionLineSeparations"><<OptionLineSeparations>></span>
 
-Mental stats are
-<<if $abbreviateDevotion == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateDevotion = 0]] | [[Abbreviate|Summary Options][$abbreviateDevotion = 1]]//
-<<elseif $abbreviateDevotion == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateDevotion = 0]] | [[Summarize|Summary Options][$abbreviateDevotion = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateDevotion = 1]] | [[Summarize|Summary Options][$abbreviateDevotion = 2]]//
-<</if>>
+<br><br>
+<span id="OptionAbbreviateDevotion"><<OptionAbbreviateDevotion>></span>
 
 <br>
-
-Rules are
-<<if $abbreviateRules == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateRules = 0]] | [[Abbreviate|Summary Options][$abbreviateRules = 1]]//
-<<elseif $abbreviateRules == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateRules = 0]] | [[Summarize|Summary Options][$abbreviateRules = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateRules = 1]] | [[Summarize|Summary Options][$abbreviateRules = 2]]//
-<</if>>
+<span id="OptionAbbreviateRules"><<OptionAbbreviateRules>></span>
 
 <br>
-
-Health is
-<<if $abbreviateHealth == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateHealth = 0]] | [[Abbreviate|Summary Options][$abbreviateHealth = 1]]//
-<<elseif $abbreviateHealth == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateHealth = 0]] | [[Summarize|Summary Options][$abbreviateHealth = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateHealth = 1]] | [[Summarize|Summary Options][$abbreviateHealth = 2]]//
-<</if>>
+<span id="OptionAbbreviateDiet"><<OptionAbbreviateDiet>></span>
 
 <br>
-
-Diet and weight are
-<<if $abbreviateDiet == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateDiet = 0]] | [[Abbreviate|Summary Options][$abbreviateDiet = 1]]//
-<<elseif $abbreviateDiet == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateDiet = 0]] | [[Summarize|Summary Options][$abbreviateDiet = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateDiet = 1]] | [[Summarize|Summary Options][$abbreviateDiet = 2]]//
-<</if>>
+<span id="OptionAbbreviateHealth"><<OptionAbbreviateHealth>></span>
 
 <br>
-
-Drugs and addiction are
-<<if $abbreviateDrugs == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateDrugs = 0]] | [[Abbreviate|Summary Options][$abbreviateDrugs = 1]]//
-<<elseif $abbreviateDrugs == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateDrugs = 0]] | [[Summarize|Summary Options][$abbreviateDrugs = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateDrugs = 1]] | [[Summarize|Summary Options][$abbreviateDrugs = 2]]//
-<</if>>
+<span id="OptionAbbreviateDrugs"><<OptionAbbreviateDrugs>></span>
 
 <br>
-
-Genitalia are
-<<if $abbreviateGenitalia == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateGenitalia = 0]] | [[Abbreviate|Summary Options][$abbreviateGenitalia = 1]]//
-<<elseif $abbreviateGenitalia == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateGenitalia = 0]] | [[Summarize|Summary Options][$abbreviateGenitalia = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateGenitalia = 1]] | [[Summarize|Summary Options][$abbreviateGenitalia = 2]]//
-<</if>>
+<span id="OptionAbbreviateRace"><<OptionAbbreviateRace>></span>
 
 <br>
-
-Physical traits are
-<<if $abbreviatePhysicals == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviatePhysicals = 0]] | [[Abbreviate|Summary Options][$abbreviatePhysicals = 1]]//
-<<elseif $abbreviatePhysicals == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviatePhysicals = 0]] | [[Summarize|Summary Options][$abbreviatePhysicals = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviatePhysicals = 1]] | [[Summarize|Summary Options][$abbreviatePhysicals = 2]]//
-<</if>>
+<span id="OptionAbbreviateNationality"><<OptionAbbreviateNationality>></span>
 
 <br>
-
-Skills are
-<<if $abbreviateSkills == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateSkills = 0]] | [[Abbreviate|Summary Options][$abbreviateSkills = 1]]//
-<<elseif $abbreviateSkills == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateSkills = 0]] | [[Summarize|Summary Options][$abbreviateSkills = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateSkills = 1]] | [[Summarize|Summary Options][$abbreviateSkills = 2]]//
-<</if>>
+<span id="OptionAbbreviateGenitalia"><<OptionAbbreviateGenitalia>></span>
 
 <br>
-
-Mental attributes are
-<<if $abbreviateMental == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateMental = 0]] | [[Abbreviate|Summary Options][$abbreviateMental = 1]]//
-<<elseif $abbreviateMental == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateMental = 0]] | [[Summarize|Summary Options][$abbreviateMental = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateMental = 1]] | [[Summarize|Summary Options][$abbreviateMental = 2]]//
-<</if>>
+<span id="OptionAbbreviatePhysicals"><<OptionAbbreviatePhysicals>></span>
 
 <br>
-
-Nationality is
-<<if $abbreviateNationality == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateNationality = 0]] | [[Abbreviate|Summary Options][$abbreviateNationality = 1]] //
-<<elseif $abbreviateNationality == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateNationality = 0]] | [[Summarize|Summary Options][$abbreviateNationality = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateNationality = 1]] | [[Summarize|Summary Options][$abbreviateNationality = 2]]//
-<</if>>
+<span id="OptionAbbreviateSkills"><<OptionAbbreviateSkills>></span>
 
 <br>
-
-Race is
-<<if $abbreviateRace == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateRace = 0]] | [[Abbreviate|Summary Options][$abbreviateRace = 1]]//
-<<elseif $abbreviateRace == 1>>
-	@@.yellow;ABBREVIATED.@@ //[[Hide|Summary Options][$abbreviateRace = 0]] | [[Summarize|Summary Options][$abbreviateRace = 2]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Abbreviate|Summary Options][$abbreviateRace = 1]] | [[Summarize|Summary Options][$abbreviateRace = 2]]//
-<</if>>
+<span id="OptionAbbreviateMental"><<OptionAbbreviateMental>></span>
 
 <br>
-
-Clothes are
-<<if $abbreviateClothes == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateClothes = 0]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Summarize|Summary Options][$abbreviateClothes = 2]]//
-<</if>>
-
-<br>
-
-Origins are
-<<if $abbreviateOrigins == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateOrigins = 0]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Summarize|Summary Options][$abbreviateOrigins = 2]]//
-<</if>>
+<span id="OptionAbbreviateClothes"><<OptionAbbreviateClothes>></span>
 
 <br>
-
-Rules Assistant rulesets are
-<<if $abbreviateRulesets == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Hide|Summary Options][$abbreviateRulesets = 0]]//
-<<else>>
-	@@.red;HIDDEN.@@ //[[Summarize|Summary Options][$abbreviateRulesets = 2]]//
-<</if>>
+<span id="OptionAbbreviateRulesets"><<OptionAbbreviateRulesets>></span>
 
 <br>
-
-Facilities in the sidebar are
-<<if $abbreviateSidebar == 2>>
-	@@.cyan;SUMMARIZED.@@ //[[Abbreviate|Summary Options][$abbreviateSidebar = 1]]//
-<<else>>
-	@@.yellow;ABBREVIATED.@@ //[[Summarize|Summary Options][$abbreviateSidebar = 2]]//
-<</if>>
+<span id="OptionAbbreviateOrigins"><<OptionAbbreviateOrigins>></span>
 
 <br><br>
 
diff --git a/src/uncategorized/walkPast.tw b/src/uncategorized/walkPast.tw
index 7219eb3d5e617d4570a570cbd24c65a9a6f9018c..10a421e965b616f26506f8b4fab5e99299d7da2f 100644
--- a/src/uncategorized/walkPast.tw
+++ b/src/uncategorized/walkPast.tw
@@ -258,8 +258,6 @@
 /%
 	<<case "guard you">>
 		is standing discreetly behind your left shoulder, watching for threats. She has a straight ceramic sword strapped to her back and a machine pistol at her hip.
-	<<case "be the Collectrix">>
-		is working in the collection facility, looking after your stock.
 %/
 	<<default>> /* WALKPASTS START HERE */
 
@@ -664,7 +662,7 @@
 			with $activeSlave.slaveName hungrily sucking her _activeSlaveRel's limp cock. She has a finger massaging poor impotent _partnerSlave.slaveName's perineum in the hope of stimulating her so she can cum for her.
 			<<set _partnerSlave.penetrativeCount++, $penetrativeTotal++>>
 		<<else>>
-			and $activeSlave.slaveName is sating her oral fixation for the moment by eagerly polishing _activeSlaveRel's pearl.
+			and $activeSlave.slaveName is sating her oral fixation for the moment by eagerly polishing her _activeSlaveRel's pearl.
 			<<set _partnerSlave.oralCount++, $oralTotal++>>
 		<</if>>
 		<<set $activeSlave.oralCount++, $oralTotal++>>
diff --git a/src/utility/optionsWidgets.tw b/src/utility/optionsWidgets.tw
new file mode 100644
index 0000000000000000000000000000000000000000..bcce4d87a495f0aa05ab740a3a7e9112431b915e
--- /dev/null
+++ b/src/utility/optionsWidgets.tw
@@ -0,0 +1,775 @@
+:: Option Widgets [widget nobr]
+
+/%
+  Call as <<OptionLineSeparations>>
+    Should be placed in a <span> with id = "OptionLineSeparations"
+%/
+<<widget "OptionLineSeparations">>
+Line separations are 
+<<if $lineSeparations == 0>>
+	@@.red;HIDDEN.@@
+	//<<link 'Show'>>
+		<<set $lineSeparations = 1>>
+		<<replace '#OptionLineSeparations'>>
+			<<OptionLineSeparations>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.cyan;SHOWN.@@
+	//<<link 'Hide'>>
+		<<set $lineSeparations = 0>>
+		<<replace '#OptionLineSeparations'>>
+			<<OptionLineSeparations>>
+		<</replace>>
+	<</link>>//
+<</if>>
+
+<</widget>>
+
+/%
+  Call as <<OptionSortBy>>
+    Should be placed in a <span> with id = "OptionSortBy"
+%/
+<<widget "OptionSortBy">>
+<<if $sortSlavesBy == "name">>
+	Slaves are sorted on the main menu by @@.yellow;NAME.@@
+<<elseif $sortSlavesBy == "seniority">>
+	Slaves are sorted on the main menu by @@.yellow;SENIORITY.@@
+<<elseif $sortSlavesBy == "actualAge">>
+	Slaves are sorted on the main menu by @@.yellow;TRUE AGE.@@
+<<elseif $sortSlavesBy == "visualAge">>
+	Slaves are sorted on the main menu by @@.yellow;APPARENT AGE.@@
+<<elseif $sortSlavesBy == "physicalAge">>
+	Slaves are sorted on the main menu by @@.yellow;BODILY AGE.@@
+<<elseif $sortSlavesBy == "assignment">>
+	Slaves are sorted on the main menu by @@.yellow;ASSIGNMENT.@@
+<<else>>
+	Slaves are sorted on the main menu by @@.yellow;DEVOTION.@@
+<</if>>
+//
+<<link 'Devotion'>>
+	<<set $sortSlavesBy = "devotion">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+|
+<<link 'Name'>>
+	<<set $sortSlavesBy = "name">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+|
+<<link 'Assignment'>>
+	<<set $sortSlavesBy = "assignment">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+|
+<<link 'Date purchased'>>
+	<<set $sortSlavesBy = "seniority">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+| 
+<<link 'Age'>>
+	<<set $sortSlavesBy = "actualAge">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+| 
+<<link 'How old they look'>>
+	<<set $sortSlavesBy = "visualAge">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+| 
+<<link 'Age of their body'>>
+	<<set $sortSlavesBy = "physicalAge">>
+	<<replace '#OptionSortBy'>>
+		<<OptionSortBy>>
+	<</replace>>
+<</link>>
+//
+<</widget>>
+
+/%
+  Call as <<OptionSortOrder>>
+    Should be placed in a <span> with id = "OptionSortOrder"
+%/
+<<widget "OptionSortOrder">>
+<<if $sortSlavesOrder == "ascending">>
+	Slaves are sorted in @@.cyan;ASCENDING@@ order.
+	//<<link 'Sort descending'>>
+		<<set $sortSlavesOrder = "descending">>
+		<<replace '#OptionSortOrder'>>
+			<<OptionSortOrder>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	Slaves are sorted in @@.red;DESCENDING@@ order.
+	//<<link 'Sort ascending'>>
+		<<set $sortSlavesOrder = "ascending">>
+		<<replace '#OptionSortOrder'>>
+			<<OptionSortOrder>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionSortMain>>
+    Should be placed in a <span> with id = "OptionSortMain"
+%/
+<<widget "OptionSortMain">>
+<<if $sortSlavesMain == 0>>
+	Sort options are @@.red;HIDDEN@@ on the main menu.
+	//<<link 'Show'>>
+		<<set $sortSlavesMain = 1>>
+		<<replace '#OptionSortMain'>>
+			<<OptionSortMain>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	Sort options are @@.cyan;SHOWN@@ on the main menu.
+	//<<link 'Hide'>>
+		<<set $sortSlavesMain = 0>>
+		<<replace '#OptionSortMain'>>
+			<<OptionSortMain>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionRulesAssistantMain>>
+    Should be placed in a <span> with id = "OptionRulesAssistantMain"
+%/
+<<widget "OptionRulesAssistantMain">>
+<<if $rulesAssistantMain == 0>>
+	The rules assistant is @@.red;HIDDEN.@@
+	//<<link 'Show'>>
+		<<set $rulesAssistantMain = 1>>
+		<<replace '#OptionRulesAssistantMain'>>
+			<<OptionRulesAssistantMain>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	The rules assistant is @@.cyan;SHOWN.@@
+	//<<link 'Hide'>>
+		<<set $rulesAssistantMain = 0>>
+		<<replace '#OptionRulesAssistantMain'>>
+			<<OptionRulesAssistantMain>>
+		<</replace>>
+	<</link>>//
+<</if>>
+
+<</widget>>
+
+/%
+  Call as <<OptionDisplayAssignments>>
+    Should be placed in a <span> with id = "OptionDisplayAssignments"
+%/
+<<widget "OptionDisplayAssignments">>
+Main menu assignment shortcuts are
+<<if $displayAssignments == 1>>
+	@@.cyan;SHOWN.@@
+	//<<link 'Hide'>>
+		<<set $displayAssignments = 0>>
+		<<replace '#OptionDisplayAssignments'>>
+			<<OptionDisplayAssignments>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.red;HIDDEN.@@ 
+	//<<link 'Show'>>
+		<<set $displayAssignments = 1>>
+		<<replace '#OptionDisplayAssignments'>>
+			<<OptionDisplayAssignments>>
+		<</replace>>
+	<</link>>//
+<</if>>
+
+<</widget>>
+
+/%
+  Call as <<OptionSummaryStats>>
+    Should be placed in a <span> with id = "OptionSummaryStats"
+%/
+<<widget "OptionSummaryStats">>
+Granular slave stat numbers are
+<<if $summaryStats == 1>>
+	@@.cyan;DISPLAYED.@@ 
+	//<<link 'Hide'>>
+		<<set $summaryStats = 0>>
+		<<replace '#OptionSummaryStats'>>
+			<<OptionSummaryStats>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.red;HIDDEN.@@ 
+	//<<link 'Display'>>
+		<<set $summaryStats = 1>>
+		<<replace '#OptionSummaryStats'>>
+			<<OptionSummaryStats>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateDevotion>>
+    Should be placed in a <span> with id = "OptionAbbreviateDevotion"
+%/
+<<widget "OptionAbbreviateDevotion">>
+Mental stats are
+<<if $abbreviateDevotion == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateDevotion == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateDevotion != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateDevotion = 0>>
+		<<replace '#OptionAbbreviateDevotion'>>
+			<<OptionAbbreviateDevotion>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateDevotion != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateDevotion = 1>>
+		<<replace '#OptionAbbreviateDevotion'>>
+			<<OptionAbbreviateDevotion>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateDevotion != 2>>|<</if>>
+<</if>>
+<<if $abbreviateDevotion != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateDevotion = 2>>
+		<<replace '#OptionAbbreviateDevotion'>>
+			<<OptionAbbreviateDevotion>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateRules>>
+    Should be placed in a <span> with id = "OptionAbbreviateRules"
+%/
+<<widget "OptionAbbreviateRules">>
+Rules are
+<<if $abbreviateRules == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateRules == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateRules != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateRules = 0>>
+		<<replace '#OptionAbbreviateRules'>>
+			<<OptionAbbreviateRules>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateRules != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateRules = 1>>
+		<<replace '#OptionAbbreviateRules'>>
+			<<OptionAbbreviateRules>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateRules != 2>>|<</if>>
+<</if>>
+<<if $abbreviateRules != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateRules = 2>>
+		<<replace '#OptionAbbreviateRules'>>
+			<<OptionAbbreviateRules>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateHealth>>
+    Should be placed in a <span> with id = "OptionAbbreviateHealth"
+%/
+<<widget "OptionAbbreviateHealth">>
+Health is
+<<if $abbreviateHealth == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateHealth == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateHealth != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateHealth = 0>>
+		<<replace '#OptionAbbreviateHealth'>>
+			<<OptionAbbreviateHealth>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateHealth != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateHealth = 1>>
+		<<replace '#OptionAbbreviateHealth'>>
+			<<OptionAbbreviateHealth>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateHealth != 2>>|<</if>>
+<</if>>
+<<if $abbreviateHealth != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateHealth = 2>>
+		<<replace '#OptionAbbreviateHealth'>>
+			<<OptionAbbreviateHealth>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateDiet>>
+    Should be placed in a <span> with id = "OptionAbbreviateDiet"
+%/
+<<widget "OptionAbbreviateDiet">>
+Diet and weight are
+<<if $abbreviateDiet == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateDiet == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateDiet != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateDiet = 0>>
+		<<replace '#OptionAbbreviateDiet'>>
+			<<OptionAbbreviateDiet>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateDiet != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateDiet = 1>>
+		<<replace '#OptionAbbreviateDiet'>>
+			<<OptionAbbreviateDiet>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateDiet != 2>>|<</if>>
+<</if>>
+<<if $abbreviateDiet != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateDiet = 2>>
+		<<replace '#OptionAbbreviateDiet'>>
+			<<OptionAbbreviateDiet>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateDrugs>>
+    Should be placed in a <span> with id = "OptionAbbreviateDrugs"
+%/
+<<widget "OptionAbbreviateDrugs">>
+Drugs and addiction are
+<<if $abbreviateDrugs == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateDrugs == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateDrugs != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateDrugs = 0>>
+		<<replace '#OptionAbbreviateDrugs'>>
+			<<OptionAbbreviateDrugs>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateDrugs != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateDrugs = 1>>
+		<<replace '#OptionAbbreviateDrugs'>>
+			<<OptionAbbreviateDrugs>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateDrugs != 2>>|<</if>>
+<</if>>
+<<if $abbreviateDrugs != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateDrugs = 2>>
+		<<replace '#OptionAbbreviateDrugs'>>
+			<<OptionAbbreviateDrugs>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateGenitalia>>
+    Should be placed in a <span> with id = "OptionAbbreviateGenitalia"
+%/
+<<widget "OptionAbbreviateGenitalia">>
+Genitalia are
+<<if $abbreviateGenitalia == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateGenitalia == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateGenitalia != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateGenitalia = 0>>
+		<<replace '#OptionAbbreviateGenitalia'>>
+			<<OptionAbbreviateGenitalia>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateGenitalia != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateGenitalia = 1>>
+		<<replace '#OptionAbbreviateGenitalia'>>
+			<<OptionAbbreviateGenitalia>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateGenitalia != 2>>|<</if>>
+<</if>>
+<<if $abbreviateGenitalia != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateGenitalia = 2>>
+		<<replace '#OptionAbbreviateGenitalia'>>
+			<<OptionAbbreviateGenitalia>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviatePhysicals>>
+    Should be placed in a <span> with id = "OptionAbbreviatePhysicals"
+%/
+<<widget "OptionAbbreviatePhysicals">>
+Physical traits are
+<<if $abbreviatePhysicals == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviatePhysicals == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviatePhysicals != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviatePhysicals = 0>>
+		<<replace '#OptionAbbreviatePhysicals'>>
+			<<OptionAbbreviatePhysicals>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviatePhysicals != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviatePhysicals = 1>>
+		<<replace '#OptionAbbreviatePhysicals'>>
+			<<OptionAbbreviatePhysicals>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviatePhysicals != 2>>|<</if>>
+<</if>>
+<<if $abbreviatePhysicals != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviatePhysicals = 2>>
+		<<replace '#OptionAbbreviatePhysicals'>>
+			<<OptionAbbreviatePhysicals>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateSkills>>
+    Should be placed in a <span> with id = "OptionAbbreviateSkills"
+%/
+<<widget "OptionAbbreviateSkills">>
+Skills are
+<<if $abbreviateSkills == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateSkills == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateSkills != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateSkills = 0>>
+		<<replace '#OptionAbbreviateSkills'>>
+			<<OptionAbbreviateSkills>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateSkills != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateSkills = 1>>
+		<<replace '#OptionAbbreviateSkills'>>
+			<<OptionAbbreviateSkills>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateSkills != 2>>|<</if>>
+<</if>>
+<<if $abbreviateSkills != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateSkills = 2>>
+		<<replace '#OptionAbbreviateSkills'>>
+			<<OptionAbbreviateSkills>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateMental>>
+    Should be placed in a <span> with id = "OptionAbbreviateMental"
+%/
+<<widget "OptionAbbreviateMental">>
+Mental attributes are
+<<if $abbreviateMental == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateMental == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateMental != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateMental = 0>>
+		<<replace '#OptionAbbreviateMental'>>
+			<<OptionAbbreviateMental>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateMental != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateMental = 1>>
+		<<replace '#OptionAbbreviateMental'>>
+			<<OptionAbbreviateMental>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateMental != 2>>|<</if>>
+<</if>>
+<<if $abbreviateMental != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateMental = 2>>
+		<<replace '#OptionAbbreviateMental'>>
+			<<OptionAbbreviateMental>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateNationality>>
+    Should be placed in a <span> with id = "OptionAbbreviateNationality"
+%/
+<<widget "OptionAbbreviateNationality">>
+Nationality is
+<<if $abbreviateNationality == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateNationality == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateNationality != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateNationality = 0>>
+		<<replace '#OptionAbbreviateNationality'>>
+			<<OptionAbbreviateNationality>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateNationality != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateNationality = 1>>
+		<<replace '#OptionAbbreviateNationality'>>
+			<<OptionAbbreviateNationality>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateNationality != 2>>|<</if>>
+<</if>>
+<<if $abbreviateNationality != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateNationality = 2>>
+		<<replace '#OptionAbbreviateNationality'>>
+			<<OptionAbbreviateNationality>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateRace>>
+    Should be placed in a <span> with id = "OptionAbbreviateRace"
+%/
+<<widget "OptionAbbreviateRace">>
+Race is
+<<if $abbreviateRace == 2>>
+	@@.cyan;SUMMARIZED.@@
+<<elseif $abbreviateRace == 1>>
+	@@.yellow;ABBREVIATED.@@
+<<else>>
+	@@.red;HIDDEN.@@
+<</if>>
+
+<<if $abbreviateRace != 0>>
+	//<<link 'Hide'>>
+		<<set $abbreviateRace = 0>>
+		<<replace '#OptionAbbreviateRace'>>
+			<<OptionAbbreviateRace>>
+		<</replace>>
+	<</link>>// |
+<</if>>
+<<if $abbreviateRace != 1>>
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateRace = 1>>
+		<<replace '#OptionAbbreviateRace'>>
+			<<OptionAbbreviateRace>>
+		<</replace>>
+	<</link>>//
+	<<if $abbreviateRace != 2>>|<</if>>
+<</if>>
+<<if $abbreviateRace != 2>>
+	//<<link 'Summarize'>>
+		<<set $abbreviateRace = 2>>
+		<<replace '#OptionAbbreviateRace'>>
+			<<OptionAbbreviateRace>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateClothes>>
+    Should be placed in a <span> with id = "OptionAbbreviateClothes"
+%/
+<<widget "OptionAbbreviateClothes">>
+Clothes are
+<<if $abbreviateClothes == 2>>
+	@@.cyan;SUMMARIZED.@@ 
+	//<<link 'Hide'>>
+		<<set $abbreviateClothes = 0>>
+		<<replace '#OptionAbbreviateClothes'>>
+			<<OptionAbbreviateClothes>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.red;HIDDEN.@@ 
+	//<<link 'Summarize'>>
+		<<set $abbreviateClothes = 2>>
+		<<replace '#OptionAbbreviateClothes'>>
+			<<OptionAbbreviateClothes>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateOrigins>>
+    Should be placed in a <span> with id = "OptionAbbreviateOrigins"
+%/
+<<widget "OptionAbbreviateOrigins">>
+Origins are
+<<if $abbreviateOrigins == 2>>
+	@@.cyan;SUMMARIZED.@@ 
+	//<<link 'Hide'>>
+		<<set $abbreviateOrigins = 0>>
+		<<replace '#OptionAbbreviateOrigins'>>
+			<<OptionAbbreviateOrigins>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.red;HIDDEN.@@ 
+	//<<link 'Summarize'>>
+		<<set $abbreviateOrigins = 2>>
+		<<replace '#OptionAbbreviateOrigins'>>
+			<<OptionAbbreviateOrigins>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateRulesets>>
+    Should be placed in a <span> with id = "OptionAbbreviateRulesets"
+%/
+<<widget "OptionAbbreviateRulesets">>
+Rules Assistant rulesets are
+<<if $abbreviateRulesets == 2>>
+	@@.cyan;SUMMARIZED.@@ 
+	//<<link 'Hide'>>
+		<<set $abbreviateRulesets = 0>>
+		<<replace '#OptionAbbreviateRulesets'>>
+			<<OptionAbbreviateRulesets>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.red;HIDDEN.@@ 
+	//<<link 'Summarize'>>
+		<<set $abbreviateRulesets = 2>>
+		<<replace '#OptionAbbreviateRulesets'>>
+			<<OptionAbbreviateRulesets>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
+/%
+  Call as <<OptionAbbreviateSidebar>>
+    Should be placed in a <span> with id = "OptionAbbreviateSidebar"
+%/
+<<widget "OptionAbbreviateSidebar">>
+Facilities in the sidebar are
+<<if $abbreviateSidebar == 2>>
+	@@.cyan;SUMMARIZED.@@ 
+	//<<link 'Abbreviate'>>
+		<<set $abbreviateSidebar = 1>>
+		<<replace '#OptionAbbreviateSidebar'>>
+			<<OptionAbbreviateSidebar>>
+		<</replace>>
+	<</link>>//
+<<else>>
+	@@.yellow;ABBREVIATED.@@ 
+	//<<link 'Summarize'>>
+		<<set $abbreviateSidebar = 2>>
+		<<replace '#OptionAbbreviateSidebar'>>
+			<<OptionAbbreviateSidebar>>
+		<</replace>>
+	<</link>>//
+<</if>>
+<</widget>>
+
diff --git a/src/utility/raWidgets.tw b/src/utility/raWidgets.tw
index b867122b9be6b237a3f46f523780e2cb9666b70a..2f2a12fda5052ddc8679b56a775fc783985ac9bb 100644
--- a/src/utility/raWidgets.tw
+++ b/src/utility/raWidgets.tw
@@ -4043,7 +4043,6 @@ check if a rule attribute, any one, is defined and otherwise skip everything.
 <<if ($args[0].assignment != "recruit girls")>>
 <<if ($args[0].assignment != "be the Wardeness")>>
 <<if ($args[0].assignment != "be the Madam")>>
-<<if ($args[0].assignment != "be the Collectrix")>>
 	<<set $args[0].hormones = _combinedRule.XY>>
 	<<if $args[0].indentureRestrictions >= 2>>
 		<<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>>
@@ -4056,7 +4055,6 @@ check if a rule attribute, any one, is defined and otherwise skip everything.
 <</if>>
 <</if>>
 <</if>>
-<</if>>
 
 <<if ($args[0].vagina > -1) && ($args[0].dick == 0) && (def _combinedRule.XX) && (_combinedRule.XX !== "no default setting")>>
 	<<if ($args[0].hormones !== _combinedRule.XX)>>