diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 79f5d46fe08b92a26f566407b181cfdb591ef23a..2387424b44de65d0345083b6f2ce62de069346e8 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -2271,12 +2271,12 @@ To test if your slave is functioning, start up a normal game, swap to cheat mode
 
 
 
-@@color:green; 			- something good or health gain
-@@color:red; 			- something bad or health loss
-@@color:hotpink;		- devotion gain
-@@color:mediumorchid; 		- devotion loss
-@@color:mediumaquamarine;	- trust gain
-@@color:gold;			- trust loss
-@@color:lightcoral;		- fetish 
+@@.green; 			- something good or health gain
+@@.red; 			- something bad or health loss
+@@.hotpink;			- devotion gain
+@@.mediumorchid; 		- devotion loss
+@@.mediumaquamarine;		- trust gain
+@@.gold;			- trust loss
+@@.lightcoral;			- fetish 
 
 
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 49ac26ccece5f2cbd217f99c89816e6a2e126591..fe2cc318c56fadc127589d17490b9f7ed5967c69 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -624,19 +624,6 @@ Preferred method of consumption: ''<<if $PC.refreshmentType == 0>>Smoked<<elseif
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 <<if $PC.refreshmentType == 0>>//"Smoke" must fit into the following sentence: "I smoked a $PC.refreshment" to fit events properly//<</if>>
 
-/*testtest PC mother and father */
-<<if $familyTesting == 1>>
-<br><br>
-''PC ID'' //Remember this so you can create slaves related to you next//
-<br><<print $PC.ID>>
-<br><br>
-''mother ID''
-<<textbox "$PC.mother" $PC.mother "Intro Summary">>
-<br>
-''father ID''
-<<textbox "$PC.father" $PC.father "Intro Summary">>
-<</if>>
-
 <<else>>
 
 <br>
@@ -745,21 +732,10 @@ Preferred method of consumption: ''<<if $PC.refreshmentType == 0>>Smoked<<elseif
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 <<if $PC.refreshmentType == 0>>//"Smoke" must fit into the following sentence: "I smoked a $PC.refreshment" to fit events properly//<</if>>
 
-/*testtest PC mother and father */
-<<if $familyTesting == 1>>
-<br><br>
-''PC ID'' //Remember this so you can create slaves related to you next//
-<br><<print $PC.ID>>
 <br><br>
-''mother ID''
-<br>
-''father ID''
-<</if>>
 
 <</if>>
 
-<br><br>
-
 Image display
 <<if $seeImages == 1>>
 	''enabled.'' [[Disable|Intro Summary][$seeImages = 0]]
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index ae11653899ba919663385f30d6395a83b3059c3c..3dcaa4a5698f1c81fa2d6f54b881590bb42c668d 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -17,7 +17,7 @@ __Economics and events__
 The economics report offers some flavor, but you should leave the options it offers alone until you've got some spare cash. An event or two will follow; feel free to reload the page on each (F5 on most browsers) to see what the different options do. Generally, try to pick options that give you money and improve devotion. Trust and reputation can wait.
 
 __Moving forward__
-Hopefully, many of your slaves learned skills during their week of whoring. Three levels of skill (@@color:cyan;Veteran Whore@@ or @@.cyan;W+++@@ for example) is the maximum, though slaves without vaginas will only acquire two complete levels of sexual skills. As you move through the first ten weeks or so, many of your slaves will max out their whoring and sexual skills. When they do, switch them over to public service until they achieve maximum entertainment skill, and then put them back on whoring, since cross training will improve their whoring performance. When your head girl alternate has maxed skills, make her the head girl and train up the MILF she replaced. Switch your personal attention around; for now, fix the Quirks of the most devoted slave who has any, since that's the best way to maximize your chances of success each turn. Pay attention to your cash flow. If it's positive and you have a decent buffer of ¤10000 or so built up, wait for the slave market prices to naturally dip, and then purchase a girl or two to work on once your starting stable is well trained, though you may have to confine or rest new purchases for a while if they're rebellious or sick. If you get a virgin, consider applying chastity to preserve value for resale. When prices are high, consider selling anyone who's free of flaws and has a discovered sexual fetish, since this maximizes value bonuses. Within ten turns, you should be making decent weekly profit, with resale of slaves building up your bank when prices favor sale. Once you're confident of the whoring mechanics, consider building a brothel. Your alternate head girl will make a good madam.
+Hopefully, many of your slaves learned skills during their week of whoring. Three levels of skill (@@.cyan;Veteran Whore@@ or @@.cyan;W+++@@ for example) is the maximum, though slaves without vaginas will only acquire two complete levels of sexual skills. As you move through the first ten weeks or so, many of your slaves will max out their whoring and sexual skills. When they do, switch them over to public service until they achieve maximum entertainment skill, and then put them back on whoring, since cross training will improve their whoring performance. When your head girl alternate has maxed skills, make her the head girl and train up the MILF she replaced. Switch your personal attention around; for now, fix the Quirks of the most devoted slave who has any, since that's the best way to maximize your chances of success each turn. Pay attention to your cash flow. If it's positive and you have a decent buffer of ¤10000 or so built up, wait for the slave market prices to naturally dip, and then purchase a girl or two to work on once your starting stable is well trained, though you may have to confine or rest new purchases for a while if they're rebellious or sick. If you get a virgin, consider applying chastity to preserve value for resale. When prices are high, consider selling anyone who's free of flaws and has a discovered sexual fetish, since this maximizes value bonuses. Within ten turns, you should be making decent weekly profit, with resale of slaves building up your bank when prices favor sale. Once you're confident of the whoring mechanics, consider building a brothel. Your alternate head girl will make a good madam.
 <<case "How to Play">>\
 This is not a game in which the PC slaveowner is some magical sexual god whose mere presence turns women into submissives. This means that sane slaves will tend to lose obedience and trust over time if you don't take any steps to maintain their mental state. Mental stats have maximum and minimum values. These are somewhat 'sticky,' so slaves at minimum devotion for example may require an extra jolt to break free of this state. Maximized devotion and trust are not useless; if one of these stats is maximized and the other is not, the extra devotion or trust will boost the other. If both are maximized, the player gains reputation instead.
 
@@ -937,6 +937,8 @@ __I do not give credit without explicit permission to do so.__ If you have contr
 ''anon'' for forcing dicks into slavegirls and forced slave riding.
 ''Unknown modder'' who did betterRA mod for old 0.9.5.4 version of original FC.
 ''brpregmodfan'' for Brazilian start and slave gen.
+''fcanon'' for various fixes and wrangling my inabilty to spll gud.
+''stuffedgameanon'' for fixes and streamlining the starting girls family code.
 ''Bane70'' optimized huge swaths of code with notable professionalism.
 ''Circle Tritagonist'' provided several new collars and outfits.
 ''Qotsafan'' submitted bugfixes.
@@ -948,6 +950,8 @@ __I do not give credit without explicit permission to do so.__ If you have contr
 ''FC_BourbonDrinker'' went into the code to locate and fix bugs.
 ''Shokushu'' created a rendered imagepack comprising 775 images, and assisted with the code necessary to display them.
 ''NovX'' created a vector art system.
+''Mauve'' contributed vector collars and pubic hair.
+''Rodziel'' contributed the cybernetics mod.
 
 ''Many other anonymous contributors'' helped fix bugs via GitHub. They will be credited by name upon request.
 
@@ -1685,14 +1689,14 @@ At the beginning of the game, the lingua franca of the arcology will be determin
 \
 <<case "Urban Terrain">>\
 ''Urban'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:yellow;Low@@ minimum slave value and initial @@.yellow;bear market@@ for slaves.
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:green;High@@ ease of commerce with the old world.
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:green;High@@ access to refugees and other desperate people.
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:red;Low@@ cultural independence.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.yellow;Low@@ minimum slave value and initial @@.yellow;bear market@@ for slaves.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ ease of commerce with the old world.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ access to refugees and other desperate people.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Low@@ cultural independence.
 \
 <<case "Rural Terrain">>\
 ''Rural'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:yellow;High@@ minimum slave value and initial @@.yellow;bull market@@ for slaves.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.yellow;High@@ minimum slave value and initial @@.yellow;bull market@@ for slaves.
 &nbsp;&nbsp;&nbsp;&nbsp;Moderate ease of commerce with the old world.
 &nbsp;&nbsp;&nbsp;&nbsp;Moderate access to refugees and other desperate people.
 &nbsp;&nbsp;&nbsp;&nbsp;Moderate cultural independence.
@@ -1701,8 +1705,8 @@ At the beginning of the game, the lingua franca of the arcology will be determin
 ''Marine'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
 &nbsp;&nbsp;&nbsp;&nbsp;Moderate minimum slave value and initially balanced market for slaves.
 &nbsp;&nbsp;&nbsp;&nbsp;Moderate ease of commerce with the old world.
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:red;Low@@ access to refugees and other desperate people.
-&nbsp;&nbsp;&nbsp;&nbsp;@@color:green;High@@ cultural independence.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Low@@ access to refugees and other desperate people.
+&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ cultural independence.
 \
 \<<case "Security Force">>\
 ''NOTE: The Security Force is an optional mod, and as such will only be initialized in-game if it is enabled at game start or in the options menu.''
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index e2327e5d5da8586ab3d9454af1a7c3b98de2a37c..24c191debc8fbb07c23d6d0cedb7bc3d2f1fc357 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -82,7 +82,7 @@
 		<</if>>
 	<</if>>
 	<<if $slaves[_i].relationship > 0>>
-		<<set _seed = 0, _rt = $slaves[_i].relationshipTarget _ID = $slaves[_i].ID>>
+		<<set _seed = 0, _rt = $slaves[_i].relationshipTarget, _ID = $slaves[_i].ID>>
 		<<for _j = 0; _j < _SL; _j++>>
 		<<if _rt == $slaves[_j].ID>>
 			<<if $slaves[_j].relationshipTarget == _ID>>
diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index a1b144dac19a0626217b9302f67a134e9fe7816c..7924a178b9c8ed4184232414223e566d336b080d 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -755,9 +755,11 @@ window.ruleApplied = function(slave, ID) {
 };
 
 window.ruleAssignment = function(applyAssignment, assignment) {
+	if (!applyAssignment) {
+		return true;
+	}
 	for(var d=0; d < applyAssignment.length; ++d){
 		if(applyAssignment[d] == assignment){
-
 			return true;
 		}
 	}return false;
@@ -865,7 +867,7 @@ window.ruleExcludeSlaveFacility = function(rule, slave) {
 					return true;
 				}
 			}
-		}
+		}return false;
 	}
 };
 
@@ -875,9 +877,9 @@ window.ruleAppliedToSlaveFacility = function(rule, slave) {
 	}else if (!rule) {
 		return null;
 	}else if (!rule.facility) {
-		return false;
+		return true;
 	} else {
-		for(var d=0; d < rule.facility.length; ++d){
+		for(var d = 0; d < rule.facility.length; ++d){
 			if(rule.facility[d] == "hgsuite"){
 				if(slave.assignment == "live with your Head Girl" ){
 					return true;
@@ -998,6 +1000,7 @@ window.ruleSlaveExcluded = function(slave, rule) {
 		}return false;
 	}
 };
+
 window.hasSurgeryRule = function(slave, rules) {
 	if (!slave) {
 		return false;
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index 84465162a174561e6f06500f410264bbeaa4a196..903f6d7b3521520a563d5f6c7d0985bc7b9e9fa3 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -82,7 +82,7 @@ __You are customizing this slave:__
 	<<StartingGirlsWorkaround>>
 <</if>>
 
-<<if ($activeSlave.dick == 0)>>
+<<if $activeSlave.dick == 0>>
 	<<set $activeSlave.foreskin = 0>>
 <</if>>
 <<if ($activeSlave.balls == 0)>>
@@ -412,7 +412,7 @@ __You are customizing this slave:__
 <<link "Normal">><<set $activeSlave.voice = 2>><<replace "#voice">>Normal.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "High.">><<set $activeSlave.voice = 3>><<replace "#voice">>High.<</replace>><<StartingGirlsCost>><</link>>
 
-<br>
+&nbsp;&nbsp;&nbsp;&nbsp;
 <span id="language">
 <<if $activeSlave.voice != 0>>
 	''$language:''
@@ -435,29 +435,22 @@ __You are customizing this slave:__
 <<textbox "$activeSlave.actualAge" $activeSlave.actualAge "Starting Girls">>
 </span>
 
+&nbsp;&nbsp;&nbsp;&nbsp;
 ''Birth week:''
 <span id="birthWeek">
 <<textbox "$activeSlave.birthWeek" $activeSlave.birthWeek "Starting Girls">>
 </span>
 
-<br>''Genes:''
+&nbsp;&nbsp;&nbsp;&nbsp;
+''Genes:''
 @@.yellow;<span id="originalSex">$activeSlave.genes</span>.@@&nbsp;
 <<link "XX">><<set $activeSlave.genes = "XX">><<replace "#originalSex">>$activeSlave.genes<</replace>><</link>>
  |
 <<link "XY">><<set $activeSlave.genes = "XY">><<replace "#originalSex">>$activeSlave.genes<</replace>><</link>>
 
 <<if $familyTesting == 1>>
-<br>''Slave ID'' //be reasonable. Make sure to refresh to resync IDs.//
 <<if $saveImported == 1>>//Player children are not available in NG+ due to code limitations (Since the player's background changes with ng+, consistancy issues arise.)//<</if>>
-<br><<print $activeSlave.ID>>
-
-<br>''mother ID''
-<<textbox "$activeSlave.mother" $activeSlave.mother "Starting Girls">>
-
-<br>''father ID''
-<<textbox "$activeSlave.father" $activeSlave.father "Starting Girls">>
-
-
+<br><<editFamily>>
 <</if>>
 
 <br>''Health:''
@@ -502,17 +495,6 @@ __You are customizing this slave:__
 <<link "Unattractive">><<set $activeSlave.waist = 15>><<replace "#waist">>Unattractive.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Ugly">><<set $activeSlave.waist = 55>><<replace "#waist">>Ugly.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Masculine">><<set $activeSlave.waist = 100>><<replace "#waist">>Masculine.<</replace>><<StartingGirlsCost>><</link>>
-&nbsp;&nbsp;&nbsp;&nbsp;
-<<if $seeExtreme == 1>>
-''Limbs:''
-<span id="amp">
-<<if $activeSlave.amp == 1>>Amputee.
-<<else>>Normal.
-<</if>>
-</span>
-<<link "Normal">><<set $activeSlave.amp = 0>><<replace "#amp">>Normal.<</replace>><<StartingGirlsCost>><</link>> |
-<<link "Amputee">><<set $activeSlave.amp = 1>><<replace "#amp">>Amputee.<</replace>><<StartingGirlsCost>><</link>>
-<</if>>
 
 <br>''Height:''
 <span id="height">
@@ -529,6 +511,18 @@ __You are customizing this slave:__
 	<<ResyncHeight $activeSlave>><<goto "Starting Girls">>
 <</link>>
 
+&nbsp;&nbsp;&nbsp;&nbsp;
+<<if $seeExtreme == 1>>
+''Limbs:''
+<span id="amp">
+<<if $activeSlave.amp == 1>>Amputee.
+<<else>>Normal.
+<</if>>
+</span>
+<<link "Normal">><<set $activeSlave.amp = 0>><<replace "#amp">>Normal.<</replace>><<StartingGirlsCost>><</link>> |
+<<link "Amputee">><<set $activeSlave.amp = 1>><<replace "#amp">>Amputee.<</replace>><<StartingGirlsCost>><</link>>
+<</if>>
+
 <br>''Weight:''
 <span id="weight">
 <<if $activeSlave.weight < -95>>@@.red;Emaciated.@@
@@ -559,7 +553,7 @@ Her nationality is $activeSlave.nationality.
 <<if $seeRace == 1>>
 <br>''Ethnicity:'' <span id="ethnicity"><<textbox "$activeSlave.race" $activeSlave.race "Starting Girls">></span>
 
-<br>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
 <<link "White">><<set $activeSlave.race = "white">><<replace "#ethnicity">><<textbox "$activeSlave.race" $activeSlave.race "Starting Girls">><</replace>><<StartingGirlsCost>><</link>> |
 <<link "Black">><<set $activeSlave.race = "black">><<replace "#ethnicity">><<textbox "$activeSlave.race" $activeSlave.race "Starting Girls">><</replace>><<StartingGirlsCost>><</link>> |
 <<link "Latina">><<set $activeSlave.race = "latina">><<replace "#ethnicity">><<textbox "$activeSlave.race" $activeSlave.race "Starting Girls">><</replace>><<StartingGirlsCost>><</link>> |
@@ -576,7 +570,7 @@ Her nationality is $activeSlave.nationality.
 
 <br>''Skin color:'' <span id="skin"><<textbox "$activeSlave.skin" $activeSlave.skin "Starting Girls">></span>
 
-<br>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
 <<link "White">><<set $activeSlave.skin = "white">><<replace "#skin">><<textbox "$activeSlave.skin" $activeSlave.skin "Starting Girls">><</replace>><<StartingGirlsCost>><</link>> |
 <<link "Fair">><<set $activeSlave.skin = "fair">><<replace "#skin">><<textbox "$activeSlave.skin" $activeSlave.skin "Starting Girls">><</replace>><<StartingGirlsCost>><</link>> |
 <<link "Tanned">><<set $activeSlave.skin = "tanned">><<replace "#skin">><<textbox "$activeSlave.skin" $activeSlave.skin "Starting Girls">><</replace>><<StartingGirlsCost>><</link>>  |
@@ -836,10 +830,10 @@ Her nationality is $activeSlave.nationality.
 <<else>>Barren.
 <</if>>
 </span>
-<<link "Ready to Drop">><<set $activeSlave.preg = 35,$activeSlave.pregType = 1,$activeSlave.pubertyXX = 1>><<replace "#preg">>Ready to drop.<</replace>><<StartingGirlsCost>><</link>> | 
-<<link "Advanced">><<set $activeSlave.preg = 25,$activeSlave.pregType = 1,$activeSlave.pubertyXX = 1>><<replace "#preg">>Advanced.<</replace>><<StartingGirlsCost>><</link>> | 
-<<link "Early">><<set $activeSlave.preg = 10,$activeSlave.pregType = 1,$activeSlave.pubertyXX = 1>><<replace "#preg">>Early.<</replace>><<StartingGirlsCost>><</link>> | 
-<<link "None">><<set $activeSlave.preg = 0,$activeSlave.pregType = 0,$activeSlave.pregSource = 0>><<replace "#preg">>None.<</replace>><<StartingGirlsCost>><</link>> | 
+<<link "Ready to Drop">><<set $activeSlave.preg = 35,$activeSlave.pregType = 1,$activeSlave.pubertyXX = 1>><<replace "#preg">>Ready to drop.<</replace>><<StartingGirlsCost>><</link>> |
+<<link "Advanced">><<set $activeSlave.preg = 25,$activeSlave.pregType = 1,$activeSlave.pubertyXX = 1>><<replace "#preg">>Advanced.<</replace>><<StartingGirlsCost>><</link>> |
+<<link "Early">><<set $activeSlave.preg = 10,$activeSlave.pregType = 1,$activeSlave.pubertyXX = 1>><<replace "#preg">>Early.<</replace>><<StartingGirlsCost>><</link>> |
+<<link "None">><<set $activeSlave.preg = 0,$activeSlave.pregType = 0,$activeSlave.pregSource = 0>><<replace "#preg">>None.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Barren">><<set $activeSlave.preg = -2,$activeSlave.pregType = 0,$activeSlave.pregSource = 0>><<replace "#preg">>Barren.<</replace>><<StartingGirlsCost>><</link>>
 <br>''Puberty:''
 <span id="pub">
diff --git a/src/pregmod/fSlaveSlaveDickConsummate.tw b/src/pregmod/fSlaveSlaveDickConsummate.tw
index 3c4b387333615731b80df8c84e4da03e4dd1ebd2..4fb5f9bb1cf97137f93bfdf572bcfe9d2dbec047 100644
--- a/src/pregmod/fSlaveSlaveDickConsummate.tw
+++ b/src/pregmod/fSlaveSlaveDickConsummate.tw
@@ -73,7 +73,7 @@ Next, you see to $slaverapistx.slaveName.
 
 
 <<if $activeSlave.mother == $slaverapistx.ID>>
-	<<if ($slaverapistx.fetish == "perverted">>
+	<<if $slaverapistx.fetish == "perverted">>
 		$slaverapistx.slaveName is well aware that she is about to rape her own daughter, but despite that seems to feel some arousal at the thought.
 	<<else>>
 		$slaverapistx.slaveName is well aware that she is about to rape her own daughter and is understandingly distrurbed.	
@@ -81,7 +81,7 @@ Next, you see to $slaverapistx.slaveName.
 <</if>>
 
 <<if $slaverapistx.mother == $activeSlave.ID>>
-	<<if ($slaverapistx.fetish == "perverted">>
+	<<if $slaverapistx.fetish == "perverted">>
 		$activeSlave.slaveName is well aware that she is about to rape her own mother, but despite that seems to feel some arousal at the thought.
 	<<else>>
 		$slaverapistx.slaveName is well aware that she is about to rape her own mother and is understandingly distrurbed.	
diff --git a/src/pregmod/saInflation.tw b/src/pregmod/saInflation.tw
index 6eeb13a9d49bbff8996c0209374956e9129381df..dae9605e8addd98b6d5324d314623b246352feda 100644
--- a/src/pregmod/saInflation.tw
+++ b/src/pregmod/saInflation.tw
@@ -30,7 +30,7 @@
 				Besides being humiliating, it chemically @@.hotpink;increases $possessive acceptance@@ of sexual slavery.
 				<<set $slaves[$i].devotion += 5>>
 			<</if>>
-			<<if ($arcologies[0].FSBodyPuristLaw == 0) || ($healthyDrugsUpgrade == 0)>>
+			<<if ($arcologies[0].FSBodyPuristLaw == 0) && ($healthyDrugsUpgrade == 0)>>
 				Such a high dosage held for so long @@.red;isn't healthy@@.
 				<<set $slaves[$i].health -= 5*$slaves[$i].inflation>>
 			<</if>>
@@ -63,7 +63,7 @@
 				Besides being humiliating, it chemically @@.hotpink;increases $possessive acceptance@@ of sexual slavery.
 				<<set $slaves[$i].devotion += 5>>
 			<</if>>
-			<<if ($arcologies[0].FSBodyPuristLaw == 0) || ($healthyDrugsUpgrade == 0)>>
+			<<if ($arcologies[0].FSBodyPuristLaw == 0) && ($healthyDrugsUpgrade == 0)>>
 				Such a high dosage held for so long @@.red;isn't healthy@@.
 				<<set $slaves[$i].health -= 3*$slaves[$i].inflation>>
 			<</if>>
@@ -96,7 +96,7 @@
 				Besides being humiliating, it chemically @@.hotpink;increases $possessive acceptance@@ of sexual slavery.
 				<<set $slaves[$i].devotion += 5>>
 			<</if>>
-			<<if ($arcologies[0].FSBodyPuristLaw == 0) || ($healthyDrugsUpgrade == 0)>>
+			<<if ($arcologies[0].FSBodyPuristLaw == 0) && ($healthyDrugsUpgrade == 0)>>
 				Such a high dosage held for so long @@.red;isn't healthy@@.
 				<<set $slaves[$i].health -= 5>>
 			<</if>>
diff --git a/src/pregmod/widgets/extendedFamilyWidgets.tw b/src/pregmod/widgets/extendedFamilyWidgets.tw
index b7354ecf92e44cb98d4acec95cf7f6fdfcbb098b..2620619bbba9d0ad9ba191532793ca2dccf1602b 100644
--- a/src/pregmod/widgets/extendedFamilyWidgets.tw
+++ b/src/pregmod/widgets/extendedFamilyWidgets.tw
@@ -52,7 +52,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	$pronounCap @@.lightgreen;fathered a pair of your slaves: $children[0].slaveName, and $children[1].slaveName.@@	
+	$pronounCap @@.lightgreen;fathered a pair of your slaves: $children[0].slaveName, and $children[1].slaveName.@@
 <<elseif $children.length > 0>>
 	$pronounCap @@.lightgreen;fathered a single slave of yours: $children[0].slaveName.@@
 <</if>>
@@ -73,7 +73,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	$pronounCap @@.lightgreen;gave birth to a pair of your slaves: $children[0].slaveName, and $children[1].slaveName.@@	
+	$pronounCap @@.lightgreen;gave birth to a pair of your slaves: $children[0].slaveName, and $children[1].slaveName.@@
 <<elseif $children.length > 0>>
 	$pronounCap @@.lightgreen;gave birth to a single of your slaves: $children[0].slaveName.@@
 <</if>>
@@ -129,7 +129,7 @@
 		<</for>>
 	<<elseif $PC.ID == $activeSlave.father && $slaves[$i].ID == $PC.father>>
 		$possessiveCap paternal @@.lightgreen;grandfather is $slaves[$i].slaveName.@@
-	<</if>>	
+	<</if>>
 <</for>>
 
 /*testtest PC grandparents passage - determines if the current slave is your grandparent*/
@@ -168,7 +168,7 @@
 	<</if>>
 <</for>>
 <<if $children.length > 0>>
-	$pronounCap 
+	$pronounCap
 <<if $children.length > 2>>
 	has @@.lightgreen;many grandchildren,
 	<<for $j to 0; $j < $children.length; $j++>>
@@ -179,7 +179,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	has @@.lightgreen;two grandchildren, $children[0].slaveName, and $children[1].slaveName as your slaves.@@ 
+	has @@.lightgreen;two grandchildren, $children[0].slaveName, and $children[1].slaveName as your slaves.@@
 <<elseif $children.length > 0>>
 	has a @@.lightgreen;grandchild, $children[0].slaveName as your slave.@@
 <</if>>
@@ -189,7 +189,7 @@
 /*testtest PC aunt passage - determines how many aunts you have*/
 <<for $i = 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].ID != $activeSlave.ID>>
-	<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>> 
+	<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>>
 	<<if $slaves[$i].ID == $PC.mother || $slaves[$i].ID == $PC.father>>
 		<<for $j to 0; $j < $slaves.length; $j++>>
 			<<if $slaves[$i].ID != $slaves[$j].ID >>
@@ -205,9 +205,9 @@
 	<</if>>
 <</for>>
 <<if $activeSlave.genes == "XX" && $children.length > 0>>
-	$pronounCap 
+	$pronounCap
 	<<if $children.length > 2>>
-		is @@.lightgreen;your aunt along with 
+		is @@.lightgreen;your aunt along with
 		<<for $j to 0; $j < $children.length; $j++>>
 			<<if $j < $children.length-1>>
 				$children[$j].slaveName,
@@ -220,7 +220,7 @@
 	<<elseif $children.length > 0>>
 		<<for $i = 0; $i < $slaves.length; $i++>>
 			<<if $slaves[$i].ID != $activeSlave.ID && $activeSlave.genes == "XX">>
-			<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>> 
+			<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>>
 			<<if $slaves[$i].ID == $PC.mother || $slaves[$i].ID == $PC.father>>
 				$pronounCap is @@.lightgreen;your aunt.@@
 			<</if>>
@@ -234,7 +234,7 @@
 /*testtest PC uncle passage - determines how many uncles you have*/
 <<for $i = 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].ID != $activeSlave.ID>>
-	<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>> 
+	<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>>
 	<<if $slaves[$i].ID == $PC.mother || $slaves[$i].ID == $PC.father>>
 		<<for $j to 0; $j < $slaves.length; $j++>>
 			<<if $slaves[$i].ID != $slaves[$j].ID && $slaves[$j].dick > 0 && $slaves[$j].genes == "XY">>
@@ -248,9 +248,9 @@
 	<</if>>
 <</for>>
 <<if $activeSlave.genes == "XY" && $children.length > 0>>
-	$pronounCap 
+	$pronounCap
 	<<if $children.length > 2>>
-		is @@.lightgreen;your uncle along with 
+		is @@.lightgreen;your uncle along with
 		<<for $j to 0; $j < $children.length; $j++>>
 			<<if $j < $children.length-1>>
 				$children[$j].slaveName,
@@ -263,7 +263,7 @@
 	<<elseif $children.length > 0>>
 		<<for $i = 0; $i < $slaves.length; $i++>>
 			<<if $slaves[$i].ID != $activeSlave.ID && $activeSlave.genes == "XY">>
-			<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>> 
+			<<if areSisters($slaves[$i], $activeSlave) == 1 ||  areSisters($slaves[$i], $activeSlave) == 2>>
 			<<if $slaves[$i].ID == $PC.mother || $slaves[$i].ID == $PC.father>>
 				$pronounCap is @@.lightgreen;your uncle.@@
 			<</if>>
@@ -280,7 +280,7 @@
 	<<if $slaves[$i].ID == $activeSlave.mother || $slaves[$i].ID == $activeSlave.father>>
 		<<for $j to 0; $j < $slaves.length; $j++>>
 			<<if $slaves[$j].genes == "XX">>
-			<<if areSisters($slaves[$j], $slaves[$i]) == 1 || areSisters($slaves[$j], $slaves[$i]) == 2>> 
+			<<if areSisters($slaves[$j], $slaves[$i]) == 1 || areSisters($slaves[$j], $slaves[$i]) == 2>>
 				<<set $children.push($slaves[$j])>>
 			<</if>>
 			<</if>>
@@ -289,7 +289,7 @@
 	<</if>>
 <</for>>
 <<if $children.length > 0>>
-	$pronounCap 
+	$pronounCap
 <<if $children.length > 2>>
 	has @@.lightgreen;many aunts,
 	<<for $j to 0; $j < $children.length; $j++>>
@@ -300,7 +300,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	 has @@.lightgreen;two aunts, $children[0].slaveName, and $children[1].slaveName.@@ 
+	 has @@.lightgreen;two aunts, $children[0].slaveName, and $children[1].slaveName.@@
 <<elseif $children.length > 0>>
 	 has @@.lightgreen;an aunt, $children[0].slaveName.@@
 <</if>>
@@ -313,7 +313,7 @@
 	<<if $slaves[$i].ID == $activeSlave.mother || $slaves[$i].ID == $activeSlave.father>>
 		<<for $j to 0; $j < $slaves.length; $j++>>
 			<<if $slaves[$j].genes == "XY">>
-			<<if areSisters($slaves[$j], $slaves[$i]) == 1 || areSisters($slaves[$j], $slaves[$i]) == 2>> 
+			<<if areSisters($slaves[$j], $slaves[$i]) == 1 || areSisters($slaves[$j], $slaves[$i]) == 2>>
 				<<set $children.push($slaves[$j])>>
 			<</if>>
 			<</if>>
@@ -322,7 +322,7 @@
 	<</if>>
 <</for>>
 <<if $children.length > 0>>
-	$pronounCap 
+	$pronounCap
 <<if $children.length > 2>>
 	has @@.lightgreen;many aunts,
 	<<for $j to 0; $j < $children.length; $j++>>
@@ -333,7 +333,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	 has @@.lightgreen;two aunts, $children[0].slaveName, and $children[1].slaveName.@@ 
+	 has @@.lightgreen;two aunts, $children[0].slaveName, and $children[1].slaveName.@@
 <<elseif $children.length > 0>>
 	 has @@.lightgreen;an aunt, $children[0].slaveName.@@
 <</if>>
@@ -359,7 +359,7 @@
 <<if $activeSlave.genes == "XX" && $children.length > 0>>
 	$pronounCap
 <<if $children.length > 2>>
-	is @@.lightgreen;your niece along with 
+	is @@.lightgreen;your niece along with
 	<<for $j = 0; $j < $children.length; $j++>>
 		<<if $j < $children.length-1>>
 			$children[$j].slaveName,
@@ -368,7 +368,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	is @@.lightgreen;your niece along with $children[0].slaveName.@@ 
+	is @@.lightgreen;your niece along with $children[0].slaveName.@@
 <<elseif $children.length > 0>>
 <<for $i = 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].ID != $activeSlave.ID && $activeSlave.genes == "XX">>
@@ -386,7 +386,7 @@
 /* testtest niece passage - determines how many nieces a slave has*/
 <<for $i = 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].ID != $activeSlave.ID>>
-	<<if areSisters($slaves[$i], $activeSlave) == 1 || areSisters($slaves[$i], $activeSlave) == 2>> 
+	<<if areSisters($slaves[$i], $activeSlave) == 1 || areSisters($slaves[$i], $activeSlave) == 2>>
 		<<for $j = 0; $j < $slaves.length; $j++>>
 			<<if $slaves[$i].ID != $slaves[$j].ID && $slaves[$j].ID != $activeSlave.ID && $slaves[$j].genes == "XX">>
 			<<if $slaves[$i].ID == $slaves[$j].mother || $slaves[$i].ID == $slaves[$j].father>>
@@ -409,7 +409,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	has @@.lightgreen;two nieces, $children[0].slaveName, and $children[1].slaveName, who are your slaves.@@ 
+	has @@.lightgreen;two nieces, $children[0].slaveName, and $children[1].slaveName, who are your slaves.@@
 <<elseif $children.length > 0>>
 	has @@.lightgreen;a niece, $children[0].slaveName, who is your slave.@@
 <</if>>
@@ -435,7 +435,7 @@
 <<if $activeSlave.genes == "XY" && $children.length > 0>>
 	$pronounCap
 <<if $children.length > 2>>
-	is @@.lightgreen;your nephew along with 
+	is @@.lightgreen;your nephew along with
 	<<for $j = 0; $j < $children.length; $j++>>
 		<<if $j < $children.length-1>>
 			$children[$j].slaveName,
@@ -444,7 +444,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	is @@.lightgreen;your nephew along with $children[0].slaveName.@@ 
+	is @@.lightgreen;your nephew along with $children[0].slaveName.@@
 <<elseif $children.length > 0>>
 <<for $i = 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].ID != $activeSlave.ID && $activeSlave.genes == "XY">>
@@ -462,7 +462,7 @@
 /* testtest nephew passage - determines how many nephews a slave has*/
 <<for $i = 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].ID != $activeSlave.ID>>
-	<<if areSisters($slaves[$i], $activeSlave) == 1 || areSisters($slaves[$i], $activeSlave) == 2>> 
+	<<if areSisters($slaves[$i], $activeSlave) == 1 || areSisters($slaves[$i], $activeSlave) == 2>>
 		<<for $j = 0; $j < $slaves.length; $j++>>
 			<<if $slaves[$i].ID != $slaves[$j].ID && $slaves[$j].ID != $activeSlave.ID && $slaves[$j].genes == "XY">>
 			<<if $slaves[$i].ID == $slaves[$j].mother || $slaves[$i].ID == $slaves[$j].father>>
@@ -485,7 +485,7 @@
 		<</if>>
 	<</for>>
 <<elseif $children.length > 1>>
-	has @@.lightgreen;two nephews, $children[0].slaveName, and $children[1].slaveName, who are your slaves.@@ 
+	has @@.lightgreen;two nephews, $children[0].slaveName, and $children[1].slaveName, who are your slaves.@@
 <<elseif $children.length > 0>>
 	has @@.lightgreen;a nephew, $children[0].slaveName, who is your slave.@@
 <</if>>
@@ -516,7 +516,7 @@
 			<</if>>
 		<</if>>
 	<</for>>
-	$pronounCap 
+	$pronounCap
 <<if $children.length > 1>>
 	@@.lightgreen;is _rel_desc _rel_type along with
 	<<for $j = 0; $j < $children.length; $j++>>
@@ -525,14 +525,14 @@
 		<<else>>
 			and $children[$j].slaveName.@@
 		<</if>>
-	<</for>>	
+	<</for>>
 <<elseif $children.length > 0>>
-	is @@.lightgreen;_rel_desc _rel_type with $children[0].slaveName.@@	
+	is @@.lightgreen;_rel_desc _rel_type with $children[0].slaveName.@@
 <<else>>
 	is @@.lightgreen;_rel_desc _rel_type.@@
 <</if>>
 <</if>>
-<<set $children = []>> 
+<<set $children = []>>
 */
 
 <<set _twins = [], _sisters = [], _brothers = [], _halfsisters = [], _halfbrothers = []>>
@@ -551,11 +551,11 @@
 
 /*testtest PC twin passages - determines how many twins you have but not implemented yet*/
 <<if areSisters($activeSlave, $PC) == 1>>
-	$pronounCap 
+	$pronounCap
 	<<if _twins.length > 1>>
 		@@.lightgreen;shared a cramped womb with you, <<print _twins.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
 	<<elseif _twins.length > 0>>
-		is @@.lightgreen;your twin along with _twins[0].slaveName.@@	
+		is @@.lightgreen;your twin along with _twins[0].slaveName.@@
 	<<else>>
 		is @@.lightgreen;your twin <<if $activeSlave.genes == "XX">>sister<<else>>brother<</if>>.@@
 	<</if>>
@@ -563,11 +563,11 @@
 
 /*testtest PC sister passages - determines how many sisters you have*/
 <<if areSisters($activeSlave, $PC) < 3 && areSisters($activeSlave, $PC) > 0 && $activeSlave.genes == "XX">>
-	$pronounCap 
+	$pronounCap
 	<<if _sisters.length > 1>>
 		@@.lightgreen;is your sister along with <<print _sisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
 	<<elseif _sisters.length > 0>>
-		is @@.lightgreen;your sister along with _sisters[0].slaveName.@@	
+		is @@.lightgreen;your sister along with _sisters[0].slaveName.@@
 	<<else>>
 		is @@.lightgreen;your sister.@@
 	<</if>>
@@ -575,7 +575,7 @@
 
 /*testtest PC brother passages - determines how many brothers you have*/
 <<if areSisters($activeSlave, $PC) < 3 && areSisters($activeSlave, $PC) > 0 && $activeSlave.genes == "XY">>
-	$pronounCap 
+	$pronounCap
 	<<if _brothers.length > 1>>
 		@@.lightgreen;is your brother along with <<print _brothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
 	<<elseif _brothers.length > 0>>
@@ -587,11 +587,11 @@
 
 /*testtest PC half-sister passages - determines how many half-sisters you have*/
 <<if areSisters($activeSlave, $PC) == 3 && $activeSlave.genes == "XX">>
-	$pronounCap 
+	$pronounCap
 	<<if _halfsisters.length > 1>>
 		@@.lightgreen;is your half-sister along with <<print _halfsisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
 	<<elseif _halfsisters.length > 0>>
-		is @@.lightgreen;your half-sister along with _halfsisters[0].slaveName.@@	
+		is @@.lightgreen;your half-sister along with _halfsisters[0].slaveName.@@
 	<<else>>
 		is @@.lightgreen;your half-sister.@@
 	<</if>>
@@ -599,11 +599,11 @@
 
 /*testtest PC half-brother passages - determines how many half-brothers you have*/
 <<if areSisters($activeSlave, $PC) == 3 && $activeSlave.genes == "XY">>
-	$pronounCap 
+	$pronounCap
 	<<if _halfbrothers.length > 1>>
 		@@.lightgreen;is your half-brother along with <<print _halfbrothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
 	<<elseif _halfbrothers.length > 0>>
-		is @@.lightgreen;your half-brother along with _halfbrothers[0].slaveName.@@	
+		is @@.lightgreen;your half-brother along with _halfbrothers[0].slaveName.@@
 	<<else>>
 		is @@.lightgreen;your half-brother.@@
 	<</if>>
@@ -615,7 +615,7 @@
 	<<if _twins.length > 2>>
 		@@.lightgreen;shared a cramped womb with <<print _twins.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
 	<<elseif _twins.length > 1>>
-		is a @@.lightgreen;one of a set of triplets; _twins[0].slaveName, and _twins[1].slaveName@@ complete the trio.	
+		is a @@.lightgreen;one of a set of triplets; _twins[0].slaveName, and _twins[1].slaveName@@ complete the trio.
 	<<else>>
 		is @@.lightgreen;twins with _twins[0].slaveName.@@
 	<</if>>
@@ -880,4 +880,151 @@
 <</if>>
 <<set $children = []>>
 
-<</widget>>
\ No newline at end of file
+<</widget>>
+
+<<widget "parentName">>
+<<if $activeSlave[$args[0]] == $PC.ID>>You<</if>><<for _j = 0; _j < $slaves.length; _j++>><<if $slaves[_j].ID == $activeSlave[$args[0]]>><<print $slaves[_j].slaveName>><</if>><</for>>
+<</widget>>
+
+<<widget "listOfSlavesWithSameParent">>
+<<if $activeSlave[$args[0]] != 0>>
+<<set _printSeperator = false>>
+<<if $activeSlave[$args[0]] == $PC[$args[0]]>>You<<set _printSeperator = true>><</if>><<for _j = 0; _j < $slaves.length; _j++>><<if $slaves[_j][$args[0]] == $activeSlave[$args[0]]>><<if _printSeperator>> | <</if>><<set _printSeperator to true>><<print $slaves[_j].slaveName>><</if>><</for>>
+<</if>>
+<</widget>>
+
+<<widget "editFamily">>
+<br>''Mother:'' <span id="motherName"><<parentName "mother">></span>.
+<<link "Reset">>
+<<set $activeSlave.mother = 0>>
+<<replace '#motherName'>><</replace>>
+<<replace '#sameMotherNames'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+<<if $PC.vagina == 1>> | <<link "You">><<set $activeSlave.mother = $PC.ID>><<replace '#motherName'>>You<</replace>><<replace '#familySummary'>><<Family>><</replace>><</link>><</if>>
+<<for _i = 0; _i < $slaves.length; _i++>>
+<<if $slaves[_i].vagina > 0>>
+ |
+<<set _id = $slaves[_i].ID>>
+<<set _slaveName = $slaves[_i].slaveName>>
+<<print "
+<<link _slaveName>>
+<<set $activeSlave.mother = _id>>
+<<replace '#motherName'>>_slaveName<</replace>>
+<<replace '#sameMotherNames'>><<listOfSlavesWithSameParent 'mother'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+">>
+<</if>>
+<</for>>
+<br>''Father:'' <span id="fatherName"><<parentName "father">></span>.
+<<link "Reset">>
+<<set $activeSlave.father = 0>>
+<<replace '#fatherName'>><</replace>>
+<<replace '#sameFatherNames'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+<<if ($PC.dick == 1) and (($PC.actualAge - $activeSlave.actualAge) >= $fertilityAge) >> | <<link "You">><<set $activeSlave.father = $PC.ID>><<replace '#fatherName'>>You<</replace>><<replace '#familySummary'>><<Family>><</replace>><</link>><</if>>
+<<for _i = 0; _i < $slaves.length; _i++>>
+<<if ($slaves[_i].dick > 0) and ((($slaves[_i].actualAge - $activeSlave.actualAge) >= $fertilityAge))>>
+ |
+<<set _id = $slaves[_i].ID>>
+<<set _slaveName = $slaves[_i].slaveName>>
+<<print "
+<<link _slaveName>>
+<<set $activeSlave.father = _id>>
+<<replace '#fatherName'>>_slaveName<</replace>>
+<<replace '#sameFatherNames'>><<listOfSlavesWithSameParent 'father'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+">>
+<</if>>
+<</for>>
+
+<br>''Same mother as:'' <span id="sameMotherNames"><<listOfSlavesWithSameParent "mother">></span>.
+<<link "Reset">>
+<<set $activeSlave.mother = 0>>
+<<replace '#motherName'>><</replace>>
+<<replace '#sameMotherNames'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+ | <<link "You">>
+<<if $PC.mother != 0>>
+<<set $activeSlave.mother = $PC.mother>>
+<<elseif $activeSlave.mother != 0>>
+<<set $PC.mother = $activeSlave.mother>>
+<<else>>
+<<set $activeSlave.mother = -5 - 2*$activeSlave.ID >>
+<<set $PC.mother = $activeSlave.mother>>
+<</if>>
+<<replace '#motherName'>><<parentName "mother">><</replace>>
+<<replace '#sameMotherNames'>><<listOfSlavesWithSameParent "mother">><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+<<for _i = 0; _i < $slaves.length; _i++>>
+ |
+<<set _slaveName = $slaves[_i].slaveName>>
+<<set _slave = $slaves[_i]>>
+
+<<link _slaveName>>
+<<if _slave.mother != 0>>
+<<set $activeSlave.mother = _slave.mother>>
+<<elseif $activeSlave.mother != 0>>
+<<set _slave.mother = $activeSlave.mother>>
+<<else>>
+<<set $activeSlave.mother = -5 - 2*$activeSlave.ID >>
+<<set _slave.mother = $activeSlave.mother>>
+<</if>>
+<<replace '#motherName'>><<parentName "mother">><</replace>>
+<<replace '#sameMotherNames'>><<listOfSlavesWithSameParent 'mother'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+
+<</for>>
+
+<br>''Same father as:'' <span id="sameFatherNames"><<listOfSlavesWithSameParent "father">></span>.
+<<link "Reset">>
+<<set $activeSlave.father = 0>>
+<<replace '#fatherName'>><</replace>>
+<<replace '#sameFatherNames'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+| <<link "You">>
+<<if $PC.father != 0>>
+<<set $activeSlave.father = $PC.father>>
+<<elseif $activeSlave.father != 0>>
+<<set $PC.father = $activeSlave.father>>
+<<else>>
+<<set $activeSlave.father = -5 - 2*$activeSlave.ID -1>>
+<<set $PC.father = $activeSlave.father>>
+<</if>>
+<<replace '#fatherName'>><<parentName "father">><</replace>>
+<<replace '#sameFatherNames'>><<listOfSlavesWithSameParent "father">><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+
+<<for _i = 0; _i < $slaves.length; _i++>>
+ |
+<<set _slaveName = $slaves[_i].slaveName>>
+<<set _slave = $slaves[_i]>>
+
+<<link _slaveName>>
+<<if _slave.father != 0>>
+<<set $activeSlave.father = _slave.father>>
+<<elseif $activeSlave.father != 0>>
+<<set _slave.father = $activeSlave.father>>
+<<else>>
+<<set $activeSlave.father = -5 - 2*$activeSlave.ID -1 >>
+<<set _slave.father = $activeSlave.father>>
+<</if>>
+<<replace '#fatherName'>><<parentName "father">><</replace>>
+<<replace '#sameFatherNames'>><<listOfSlavesWithSameParent 'father'>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<</link>>
+
+<</for>>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<span id="familySummary"><<Family>></span>
+<br>
+
+<</widget>>
diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw
index dd47edb3421bab794a205d719b5de911d1b95e17..8cac446acf44b73f1fc5f2cc112ecaf73f05c0f1 100644
--- a/src/uncategorized/PESS.tw
+++ b/src/uncategorized/PESS.tw
@@ -40,7 +40,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
     <<SlaveArt $activeSlave 2 0>>
 </div>
 <</if>>
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index ea6f9acb9b2ef79cd9d50234bc9681032638ec7c..ea0c36fd07dd81b31c89bcdb494fb0df8a038f2a 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -20,7 +20,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
         <<SlaveArt $activeSlave 2 0>>
     </div>
 <</if>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 6e2d36a5ef99b3bcb3a0c027a08fd2344a25aadd..f6877fbe781854830fec8376d86ba3612f2a2824 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -20,7 +20,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
         <<SlaveArt $activeSlave 2 0>>
     </div>
 <</if>>
diff --git a/src/uncategorized/RESSTR.tw b/src/uncategorized/RESSTR.tw
index c324ca3f5493e1eec81e1ac71a97508ae77b8ebd..0bf9e2b902801a5079662f81e886e86c6e018c49 100644
--- a/src/uncategorized/RESSTR.tw
+++ b/src/uncategorized/RESSTR.tw
@@ -8,7 +8,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
         <<SlaveArt $activeSlave 2 0>>
     </div>
 <</if>>
@@ -27,7 +27,7 @@ You happen to come across <span id="name"><<print "[[$activeSlave.slaveName|Long
 
 <<case "ass fitting">>
 
-Your slaves get dressed in a large wardrobe area adjacent to the dormitory, rooms, and showers. There are always slaves working, so groups of slaves can be seen putting on their clothing here several times a day. Your naked sex slaves hurrying into the outfits you've selected for them is an undeniably erotic sight. Sometimes it's comical, especially when your transformations of your slaves' bodies produce amusing inconveniences. Today, it's <span id="name"><<print "[[$activeSlave.slaveName|Long Slave Description][$nextLink = passage(), $eventDescription = 1]]">></span> who is having trouble. Her <<if $activeSlave.buttImplant > 1>>fake<<elseif $activeSlave.butt > 8>>gigantic<<else>>plush<</if>> ass is 
+Your slaves get dressed in a large wardrobe area adjacent to the dormitory, rooms, and showers. There are always slaves working, so groups of slaves can be seen putting on their clothing here several times a day. Your naked sex slaves hurrying into the outfits you've selected for them is an undeniably erotic sight. Sometimes it's comical, especially when your transformations of your slaves' bodies produce amusing inconveniences. Today, it's <span id="name"><<print "[[$activeSlave.slaveName|Long Slave Description][$nextLink = passage(), $eventDescription = 1]]">></span> who is having trouble. Her <<if $activeSlave.buttImplant > 1>>fake<<elseif $activeSlave.butt > 8>>gigantic<<else>>plush<</if>> ass is
 <<if $activeSlave.drugs == "butt injections">>
 	growing explosively due to the expansion injections.
 <<elseif $activeSlave.diet == "fattening">>
@@ -53,7 +53,7 @@ She can't manage to
 <<case "Western clothing">>
 	get the upper part of her chaps pulled up and over her buttocks. She's got them
 <<case "a slutty qipao">>
-	the middle part of her step in qipao, the part which doesn't open from the top or the bottom, pulled up and over her buttocks. She's got it 
+	the middle part of her step in qipao, the part which doesn't open from the top or the bottom, pulled up and over her buttocks. She's got it
 <<case "uncomfortable straps">>
 	fit some of her straps around her buttocks. She's got them
 <<case "restrictive latex">>
@@ -121,7 +121,7 @@ up to the tops of her thighs, but that's all she can manage. The wardrobe includ
 
 <<case "arcade sadist">>
 
-<br><<link "Ask her about her fantasy">>
+<<link "Ask her about her fantasy">>
 	<<replace "#name">>$activeSlave.slaveName<</replace>>
 	<<replace "#result">>
 		<<set _pussy = false>>
@@ -250,4 +250,4 @@ up to the tops of her thighs, but that's all she can manage. The wardrobe includ
 	ERROR: bad event
 <</switch>>
 
-</span>
\ No newline at end of file
+</span>
diff --git a/src/uncategorized/dairy.tw b/src/uncategorized/dairy.tw
index 82b2fe9561a5e0ba3da017863ad367e45c3882bb..1fa7fc8876a10d2cfed39717b15e83474a2e2e1b 100644
--- a/src/uncategorized/dairy.tw
+++ b/src/uncategorized/dairy.tw
@@ -320,7 +320,7 @@ $dairyNameCaps
 <</if>>
 
 <<set _Tmult0 = Math.trunc($dairy*1000*$upgradeMultiplierArcology)>>
-<br>$dairyName can support $dairy milkers. [[Expand the dairy|Dairy][$cash -= _Tmult0, $dairy += 5]] //Costs ¤_Tmult0 and will increase upkeep costs//
+<br>$dairyNameCaps can support $dairy milkers. [[Expand the dairy|Dairy][$cash -= _Tmult0, $dairy += 5]] //Costs ¤_Tmult0 and will increase upkeep costs//
 
 <<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology)>>
 <br>
@@ -340,7 +340,7 @@ $dairyNameCaps
 
 <br>
 <<if $dairyPregUpgrade == 1>>
-	$dairyName can support cow pregnancies.
+	$dairyNameCaps can support cow pregnancies.
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fertile cows' wombs are
 	<<if $dairyPregSetting == 3>>
 		''worked to capacity.'' [[Industrial|Dairy][$dairyPregSetting = 2]]
@@ -368,16 +368,16 @@ $dairyNameCaps
 		''inactive.'' [[Activate|Dairy][$dairyStimulatorsSetting = 1]]
 	<</if>>
 <<else>>
-	$dairyName does not automatically sodomize. [[Upgrade the cockmilking machines with sodomizers|Dairy][$cash -= _Tmult1, $dairyStimulatorsUpgrade = 1]] //Costs ¤_Tmult1 and will increase upkeep costs//
+	$dairyNameCaps does not automatically sodomize. [[Upgrade the cockmilking machines with sodomizers|Dairy][$cash -= _Tmult1, $dairyStimulatorsUpgrade = 1]] //Costs ¤_Tmult1 and will increase upkeep costs//
 <</if>>
 
 <<set _Tmult2 = Math.trunc(5000*$upgradeMultiplierArcology)>>
 <<if ($dairyPregUpgrade == 2) || ($dairyStimulatorsSetting == 2)>>
 <br>
 <<if $dairyPrepUpgrade == 1>>
-	$dairyName features a preparatory raper designed to gape slaves for integration.
+	$dairyNameCaps features a preparatory raper designed to gape slaves for integration.
 <<else>>
-	$dairyName's industrial machines can only accept slaves with loose holes. [[Install a preparatory raper|Dairy][$cash -= _Tmult2, $dairyPrepUpgrade = 1]] //Costs ¤_Tmult2//
+	$dairyNameCaps's industrial machines can only accept slaves with loose holes. [[Install a preparatory raper|Dairy][$cash -= _Tmult2, $dairyPrepUpgrade = 1]] //Costs ¤_Tmult2//
 <</if>>
 <</if>>
 
diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw
index 8c9d8dd5fac12b23a9a3a7541a9e3389dc241caa..b026732d5087f2e895718157b66abde98e615c4f 100644
--- a/src/uncategorized/dairyReport.tw
+++ b/src/uncategorized/dairyReport.tw
@@ -407,11 +407,13 @@
 					<<set _balltacular++>>
 					<</if>>
 				<</if>>
-				<<if ($slaves[_i].dick < 10)>>
+				<<if $slaves[_i].dick > 0>>
+				<<if $slaves[_i].dick < 10>>
 					<<if (random(1,100) > (40+(10*$slaves[_i].dick)-(10*$dairyRestraintsSetting)-($injectionUpgrade*10)))>>
 					<<set $slaves[_i].dick++>>
 					<</if>>
 				<</if>>
+				<</if>>
 			<</if>>
 		<</if>>
 	<</if>>
diff --git a/src/uncategorized/economics.tw b/src/uncategorized/economics.tw
index 15c9332a701cdeadbf64be8d70add7ce1dd436a3..912e78bdaedb6bff9a640857da2c11dcfa1b714e 100644
--- a/src/uncategorized/economics.tw
+++ b/src/uncategorized/economics.tw
@@ -246,7 +246,7 @@ __Personal Business__
 			You are now a @@.green;master venture capitalist.@@
 		<</if>>
 	<</if>>
-	
+
 <<elseif ($personalAttention == "warfare")>>
 	<<set _oldSkill = $PC.warfare>>
 	<<set $PC.warfare += random(5,10)>>
@@ -290,7 +290,7 @@ __Personal Business__
 			You are now a @@.green;master slaver.@@
 		<</if>>
 	<</if>>
-	
+
 <<elseif ($personalAttention == "engineering")>>
 	<<set _oldSkill = $PC.engineering>>
 	<<set $PC.engineering += random(5,10)>>
@@ -312,7 +312,7 @@ __Personal Business__
 			You are now a @@.green;master arcology engineer.@@
 		<</if>>
 	<</if>>
-	
+
 <<elseif ($personalAttention == "medicine")>>
 	<<set _oldSkill = $PC.medicine>>
 	<<set $PC.medicine += random(5,10)>>
@@ -334,7 +334,7 @@ __Personal Business__
 			You are now a @@.green;master slave surgeon.@@
 		<</if>>
 	<</if>>
-	
+
 <</if>>
 
 <<if $cash > 1000>>
@@ -507,10 +507,10 @@ On formal occasions, you are announced as $PCTitle.
 			@@.green;strongly approve@@ of the large
 			<<FSChange "ChattelReligionist" 5>>
 		<<elseif $slaves.length > 20>>
-			@@.green;approve@@ of the good 
+			@@.green;approve@@ of the good
 			<<FSChange "ChattelReligionist" 2>>
 		<<elseif $slaves.length > 20>>
-			are not impressed by the 
+			are not impressed by the
 		<</if>>
 		number of people you're giving the honor of sexual servitude.
 	<<elseif $nicaeaAchievement == "devotion">>
diff --git a/src/uncategorized/hgApplication.tw b/src/uncategorized/hgApplication.tw
index 6a396012332ff39dc513402c6b124a1a5f56dabb..2aaa57386ac4bbf5c8aef9c9ad985dd607048c4a 100644
--- a/src/uncategorized/hgApplication.tw
+++ b/src/uncategorized/hgApplication.tw
@@ -159,7 +159,7 @@ She helps $activeSlave.slaveName however she can. The tender care has @@.green;i
 <<if $HGtraining == "obedience">>
 
 <<set _effectiveness -= $activeSlave.intelligence*15>>
-<<set $activeSlave.trust -= Math.trunc(_effectiveness/4)>>
+<<set $activeSlave.trust -= Math.ceil(_effectiveness/4)>>
 <<if $activeSlave.devotion < -50>>
 	She helps watch and restrain the rebellious $activeSlave.slaveName, helping wear her down, @@.gold;breaking $activeSlave.slaveName's rebelliousness.@@
 <<elseif $activeSlave.devotion < -20>>
@@ -270,7 +270,7 @@ She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet
 <<else>>
 	In spare moments she teaches $activeSlave.slaveName how to suck cocks, cunts, and assholes. $activeSlave.slaveName's oral skills have improved.
 <</if>>
-<<set $skillIncrease = Math.trunc(_effectiveness/10)>><<OralSkillIncrease $activeSlave>>
+<<set $skillIncrease = Math.ceil(_effectiveness/10)>><<OralSkillIncrease $activeSlave>>
 
 <<elseif $HGtraining == "anal skill">>
 
@@ -287,7 +287,7 @@ She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet
 <<else>>
 	In spare moments she teaches $activeSlave.slaveName how to take a dick up the butt. $activeSlave.slaveName's anal skills have improved.
 <</if>>
-<<set $skillIncrease = Math.trunc(_effectiveness/10)>><<AnalSkillIncrease $activeSlave>>
+<<set $skillIncrease = Math.ceil(_effectiveness/10)>><<AnalSkillIncrease $activeSlave>>
 
 <<elseif $HGtraining == "fuck skill">>
 
@@ -304,13 +304,13 @@ She punishes $activeSlave.slaveName whenever she sees her breaking the rules yet
 <<else>>
 	In spare moments she teaches $activeSlave.slaveName how to take a dick. $activeSlave.slaveName's vanilla sex skills have improved.
 <</if>>
-<<set $skillIncrease = Math.trunc(_effectiveness/10)>><<VaginalSkillIncrease $activeSlave>>
+<<set $skillIncrease = Math.ceil(_effectiveness/10)>><<VaginalSkillIncrease $activeSlave>>
 
 <<elseif $HGtraining == "whore skill">>
 
 <<set $activeSlave.training = 0>>
 In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $activeSlave.slaveName's whoring skills have improved.
-<<set $skillIncrease = Math.trunc(_effectiveness/10)>><<WhoreSkillIncrease $activeSlave>>
+<<set $skillIncrease = Math.ceil(_effectiveness/10)>><<WhoreSkillIncrease $activeSlave>>
 
 <<elseif $HGtraining == "entertain skill">>
 
@@ -321,7 +321,7 @@ In spare moments she teaches $activeSlave.slaveName how to prostitute herself. $
 <<else>>
 	In spare moments she teaches $activeSlave.slaveName how to entertain. $activeSlave.slaveName's entertainment skills have improved.
 <</if>>
-<<set $skillIncrease = Math.trunc(_effectiveness/10)>><<EntertainSkillIncrease $activeSlave>>
+<<set $skillIncrease = Math.ceil(_effectiveness/10)>><<EntertainSkillIncrease $activeSlave>>
 
 <</if>>
 <</if>>
diff --git a/src/uncategorized/jeSlaveDispute.tw b/src/uncategorized/jeSlaveDispute.tw
index 0bf3189ffe68cc439b338d3d24e8d11126b8fdfd..c3675d548cd3022ea9b5ca0f65c28be61daf3a8d 100644
--- a/src/uncategorized/jeSlaveDispute.tw
+++ b/src/uncategorized/jeSlaveDispute.tw
@@ -145,7 +145,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
     <<SlaveArt $activeSlave 2 0>>
 </div>
 <</if>>
diff --git a/src/uncategorized/labReport.tw b/src/uncategorized/labReport.tw
index 3bd3bacf2700cf04205ad434946f6f9a98892da9..41470d95063d7407b2d198c6cfbfdca0200d32db 100644
--- a/src/uncategorized/labReport.tw
+++ b/src/uncategorized/labReport.tw
@@ -2,7 +2,7 @@
 
 ''Lab Report''<hr style="margin:0">
 <br>
-<<if ($researchLab.hired += $researchLab.menials) != 0>>
+<<if ($researchLab.hired + $researchLab.menials) != 0>>
 	<<if $researchLab.research == "none" && $researchLab.manufacture == "none">>
 		Since lab is currently not working on any projects they take contract work and earn you @@.yellowgreen;¤<<print (($researchLab.hired * 3 + $researchLab.menials) * $researchLab.aiModule * 20)>>.@@
 		<<set $cash += (($researchLab.hired * 3 + $researchLab.menials) * $researchLab.aiModule * 20)>>
diff --git a/src/uncategorized/managePenthouse.tw b/src/uncategorized/managePenthouse.tw
index b3581aa6f4df3cc54978564742e1fa8218b5d544..b56f379f41e78dd8ef41bfd11c884813fac6a1b7 100644
--- a/src/uncategorized/managePenthouse.tw
+++ b/src/uncategorized/managePenthouse.tw
@@ -226,7 +226,6 @@ __Penthouse Improvements__
 
 <br>
 
-
 <<if $cyberMod == 0>>
 	<<switch $prostheticsUpgrade>>
 	<<case 1>>
@@ -255,4 +254,4 @@ __Penthouse Improvements__
 		//You lack the reputation to construct a prosthetics facility.//
 	<</if>>
 	<</switch>>
-<</if>>
+<</if>>
\ No newline at end of file
diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw
index d0947fc0c27f01e5d10ab7a336307902aeb6b7a5..af7157e2f230f94023ac3d19c2894382812be492 100644
--- a/src/uncategorized/pRivalryActions.tw
+++ b/src/uncategorized/pRivalryActions.tw
@@ -8,7 +8,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $hostage 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
     <<SlaveArt $hostage 2 0>>
 </div>
 <</if>>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index 533a578993d914c4cb66790bcf1767f11546393a..2ec86b16d7f2889b15ef5b1dd81b6e81f2c39af1 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -405,7 +405,7 @@
 		@@.gold;encourages her fear@@ of you.
 		<<set $activeSlave.trust -= 10>>
 	<</if>>
-	<<if ($PC.slaving >= 100)>>
+	<<if $PC.slaving >= 100>>
 		Your @@.springgreen;slave-breaking experience@@ allows you to apply @@.gold;exquisite agony@@ without any increase in damage.
 		<<set $activeSlave.trust -= 5>>
 	<</if>>
@@ -449,7 +449,7 @@
 		$activeSlave.slaveName remains devoted to an old world faith that serves her as a reservoir of mental resilience. You carefully select pressure points to break her of this by forcing her to violate her faith's purity codes, constantly. She is forced to eat, dress, and fuck in ways that convince her that she must either condemn herself as an irredeemable sinner, or abandon her beliefs.
 	<</if>>
 	<<set $activeSlave.training += 120-($activeSlave.intelligence*10)+(($activeSlave.devotion+$activeSlave.trust)/10)>>
-	<<if ($PC.slaving >= 100)>>
+	<<if $PC.slaving >= 100>>
 		<<set $activeSlave.training += 20>>
 	<</if>>
 	<<if $activeSlave.training < 100>>
diff --git a/src/uncategorized/reNoEvent.tw b/src/uncategorized/reNoEvent.tw
index 10d0b4782b46534bc245b67de543afd3edcf50ae..d8563f9870e1cb9a76e7b0a62abab2950831c61c 100644
--- a/src/uncategorized/reNoEvent.tw
+++ b/src/uncategorized/reNoEvent.tw
@@ -12,7 +12,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
         <<SlaveArt $activeSlave 2 0>>
     </div>
 <</if>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index 4352ae97b22a695bc29d5867cecb13f584e7aa1e..2e8365639e0071bdde49aa7aff676213f98ff7b3 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -7,7 +7,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $eventSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
         <<SlaveArt $eventSlave 2 0>>
     </div>
 <</if>>
diff --git a/src/uncategorized/reStandardPunishment.tw b/src/uncategorized/reStandardPunishment.tw
index 237af708fefc8058301c1d3d6084db6212e29b2a..656ab8bcd913ee386019e3246a08314a69299331 100644
--- a/src/uncategorized/reStandardPunishment.tw
+++ b/src/uncategorized/reStandardPunishment.tw
@@ -7,7 +7,7 @@
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $activeSlave 2 0>><</if>> */
 <<if $seeImages == 1>>
-    <div class="imageRef medImg">
+    <div class="imageRef lrgImg">
         <<SlaveArt $activeSlave 2 0>>
     </div>
 <</if>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index b417b56e62305657caa0d647c9c5aa36f71a4dd4..a90ccdd87eb042c670d70a50104ffe24ec2d3801 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -567,7 +567,7 @@ $pronounCap has
 		[[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "mtf"]] |
 	<</if>>
 	<<if $activeSlave.dick > 0>>
-	[[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "chop"]]
+	[[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "chop"]]
 	<</if>>
 <</if>>
 <<if ($activeSlave.dick != 0) && ($activeSlave.vagina == -1) && ($surgeryUpgrade == 1)>>
@@ -1923,13 +1923,13 @@ $pronounCap has doorway-jamming hips.
 		<</if>>
 	<<elseif ($activeSlave.amp == 1) && ($activeSlave.PLimb == 0)>>
 		<<if ($stockpile.basicPLimbInterface > 0)>> | 
-			[[Install basic prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 1,$activeSlave.assignment = "rest",$activeSlave.assignmentVisible = 1,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "PLimb interface1"]]
+			[[Install basic prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 1,$stockpile.basicPLimbInterface -= 1,$activeSlave.assignment = "rest",$activeSlave.assignmentVisible = 1,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "PLimb interface1"]]
 		<</if>>
 		<<if $stockpile.advPLimbInterface > 0>> | 
-			[[Install advanced prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 2,$activeSlave.assignment = "rest",$activeSlave.assignmentVisible = 1,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "PLimb interface2"]]
+			[[Install advanced prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 2,$stockpile.advPLimbInterface -= 1,$activeSlave.assignment = "rest",$activeSlave.assignmentVisible = 1,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "PLimb interface2"]]
 		<</if>>
 	<<elseif $activeSlave.amp == 1 && $activeSlave.PLimb == 1 && $stockpile.advPLimbInterface > 0>> | 
-		[[Upgrade = advanced prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 2,$activeSlave.assignment = "rest",$activeSlave.assignmentVisible = 1,$cash -= $surgeryCost, $activeSlave.health -= 5,$surgeryType = "PLimb interface3"]]
+		[[Upgrade = advanced prosthetic interface|Surgery Degradation][$activeSlave.PLimb = 2,$stockpile.advPLimbInterface -= 1,$activeSlave.assignment = "rest",$activeSlave.assignmentVisible = 1,$cash -= $surgeryCost, $activeSlave.health -= 5,$surgeryType = "PLimb interface3"]]
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/rulesAssistant.tw b/src/uncategorized/rulesAssistant.tw
index 7d8af346c8ebb4ab04a80031b826989ab54cc3c6..8cfe7d5b52b4a646e9183b529da7f347f910dab5 100644
--- a/src/uncategorized/rulesAssistant.tw
+++ b/src/uncategorized/rulesAssistant.tw
@@ -909,6 +909,7 @@ Corsetage: ''$currentRule.bellyAccessory.''
 <span id = "vaccessory">
 Vaginal accessories for virgins: ''$currentRule.virginAccessory.''
 </span>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <<link "No default setting">>
 	<<set $currentRule.virginAccessory = "no default setting">>
@@ -971,6 +972,7 @@ Vaginal accessories for virgins: ''$currentRule.virginAccessory.''
 <span id = "avaccessory">
 Vaginal accessories for anal virgins: ''$currentRule.aVirginAccessory.''
 </span>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <<link "No default setting">>
 	<<set $currentRule.aVirginAccessory = "no default setting">>
@@ -1033,6 +1035,7 @@ Vaginal accessories for anal virgins: ''$currentRule.aVirginAccessory.''
 <span id = "voaccessory">
 Vaginal accessories for other slaves: ''$currentRule.vaginalAccessory.''
 </span>
+<br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <<link "No default setting">>
 	<<set $currentRule.vaginalAccessory = "no default setting">>
diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw
index f212bb3924c0c2f0d4d79df1e08789d038a84df7..87457a8c526b992654ab02309783465ed52b8d4d 100644
--- a/src/uncategorized/saDrugs.tw
+++ b/src/uncategorized/saDrugs.tw
@@ -776,7 +776,7 @@
 		<<set $slaves[$i].devotion += 5>>
 	<</if>>
 	<</if>>
-	<<if ($arcologies[0].FSBodyPuristLaw == 0) || ($healthyDrugsUpgrade == 0)>>
+	<<if ($arcologies[0].FSBodyPuristLaw == 0) && ($healthyDrugsUpgrade == 0)>>
 		Such a high dosage @@.red;isn't healthy@@.
 		<<set $slaves[$i].health -= 5>>
 	<</if>>
diff --git a/src/uncategorized/seIndependenceDay.tw b/src/uncategorized/seIndependenceDay.tw
index b7c9a79f6daed683ffb9985f4c6f587172170b47..c7cb8457be8e9bbe37261781640e653c91541772 100644
--- a/src/uncategorized/seIndependenceDay.tw
+++ b/src/uncategorized/seIndependenceDay.tw
@@ -50,7 +50,7 @@ In the Free Cities, Independence Day falls on the day when the Free City achieve
 	<<elseif $arcologies[0].FSSupremacist >= $FSLockinLevel*0.9>>
 		the Grand Champion of the Blood can command complete attention from <<if $PC.title == 1>>his arcology the moment he<<else>>her arcology the moment she<</if>> wishes.
 	<<elseif $arcologies[0].FSSubjugationist >= $FSLockinLevel*0.9>>
-		the Grand Overseer of the Inferior Race
+		the Grand Overseer of the Inferior Race can command complete attention from <<if $PC.title == 1>>his arcology the moment he<<else>>her arcology the moment she<</if>> wishes.
 	<<elseif $arcologies[0].FSRepopulationFocus >= $FSLockinLevel*0.9>>
 		<<if $PC.title == 1>>
 		the Progenitor of the Future can command complete attention from her arcology the moment he wishes.
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index 625c48e0602102bcfa5b76f365e77b98bd2f022b..c907651bc8f4cf890fdafb5e29ddcf275d41c2e6 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -2062,7 +2062,7 @@ $pronounCap's got a
 	<<case "advertisements">>
 		$possessiveCap thighs are used as simple ad space, promoting $arcologies[0].name and your business pursuits.
 	<<case "rude words">>
-		$possessiveCap left thigh reads $desc and the right 'Slut.'
+		$possessiveCap left thigh reads '$desc' and the right 'slut.'
 	<<case "scenes">>
 		$pronounCap has symmetrical tattoos on each thigh depicting $possessive being spitroasted.
 	<<case "degradation">>
@@ -2591,7 +2591,7 @@ $pronounCap's got a
 		<<if $activeSlave.dick > 0>>
 			$activeSlave.slaveName's dick is buried in $possessive milking machine's cum receptacle.
 		<<else>>
-			The milking machine keeps a cup against $activeSlave.slaveName's tiny cumhole, since $pronoun has balls, but lacks a penis. This limits the machine to anal stimulation to milk $possessive's balls, and it's raping her ass forcefully.
+			The milking machine keeps a cup against $activeSlave.slaveName's tiny cumhole, since $pronoun has balls, but lacks a penis. This limits the machine to anal stimulation to milk $possessive balls, and it's raping her ass forcefully.
 		<</if>>
 	<<elseif ($activeSlave.vagina > -1)>>
 		$activeSlave.slaveName's pussy is being serviced by a drug-ejaculating dildo.
@@ -2709,7 +2709,7 @@ $pronounCap's got a
 	<<elseif $activeSlave.dick > 0>>
 		the base of $possessive dick, letting it pass through.
 	<<elseif $activeSlave.vagina == -1>>
-		over the little hole in $possessive's featureless groin.
+		over the little hole in $possessive featureless groin.
 	<<else>>
 		over $possessive pussy.
 	<</if>>
@@ -3106,7 +3106,7 @@ $pronounCap's got a
 		$activeSlave.slaveName's pussy is bare.
 	<<elseif ($activeSlave.dickAccessory == "chastity") || ($activeSlave.dickAccessory == "combined chastity") || ($activeSlave.dickAccessory == "anal chastity")>>
 	<<elseif $activeSlave.vagina == -1 && $activeSlave.dick == 0 && $activeSlave.balls == 0>>
-		featureless groin is quite bare.
+		$activeSlave.slaveName's featureless groin is quite bare.
 	<<else>>
 		$activeSlave.slaveName's
 		<<switch $activeSlave.dick>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index f18a8222209bbbf5e3bc4c5722b16aa78de7c761..d751687027ecc6df50b5769b1a59d6daa694ca0f 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -1499,117 +1499,117 @@ This experience
 
 <<switch $args[0]>>
 <<case "Supremacist">>
-	<<if $activeArcology.FSSupremacist != "unset">>
+	<<if $arcologies[0].FSSupremacist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSupremacist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSSupremacist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "Subjugationist">>
-	<<if $activeArcology.FSSSubjugationist != "unset">>
+	<<if $arcologies[0].FSSSubjugationist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSSubjugationist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSSSubjugationist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "GenderRadicalist">>
-	<<if $activeArcology.FSGenderRadicalist != "unset">>
+	<<if $arcologies[0].FSGenderRadicalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSGenderRadicalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "GenderFundamentalist">>
-	<<if $activeArcology.FSGenderFundamentalist != "unset">>
+	<<if $arcologies[0].FSGenderFundamentalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSGenderFundamentalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "Paternalist">>
-	<<if $activeArcology.FSPaternalist != "unset">>
+	<<if $arcologies[0].FSPaternalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSPaternalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "Degradationist">>
-	<<if $activeArcology.FSDegradationist != "unset">>
+	<<if $arcologies[0].FSDegradationist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSDegradationist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "AssetExpansionist">>
-	<<if $activeArcology.FSAssetExpansionist != "unset">>
+	<<if $arcologies[0].FSAssetExpansionist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSAssetExpansionist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSAssetExpansionist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "SlimnessEnthusiast">>
-	<<if $activeArcology.FSSlimnessEnthusiast != "unset">>
+	<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSlimnessEnthusiast/$FSLockinLevel)>>
 		<<set $arcologies[0].FSSlimnessEnthusiast += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "TransformationFetishist">>
-	<<if $activeArcology.FSTransformationFetishist != "unset">>
+	<<if $arcologies[0].FSTransformationFetishist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSTransformationFetishist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSTransformationFetishist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "BodyPurist">>
-	<<if $activeArcology.FSBodyPurist != "unset">>
+	<<if $arcologies[0].FSBodyPurist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSBodyPurist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSBodyPurist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "MaturityPreferentialist">>
-	<<if $activeArcology.FSMaturityPreferentialist != "unset">>
+	<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSMaturityPreferentialist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSMaturityPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "YouthPreferentialist">>
-	<<if $activeArcology.FSYouthPreferentialist != "unset">>
+	<<if $arcologies[0].FSYouthPreferentialist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSYouthPreferentialist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSYouthPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "Pastoralist">>
-	<<if $activeArcology.FSPastoralist != "unset">>
+	<<if $arcologies[0].FSPastoralist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPastoralist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSPastoralist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "PhysicalIdealist">>
-	<<if $activeArcology.FSPhysicalIdealist != "unset">>
+	<<if $arcologies[0].FSPhysicalIdealist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPhysicalIdealist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSPhysicalIdealist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "ChattelReligionist">>
-	<<if $activeArcology.FSChattelReligionist != "unset">>
+	<<if $arcologies[0].FSChattelReligionist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChattelReligionist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSChattelReligionist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "RomanRevivalist">>
-	<<if $activeArcology.FSRomanRevivalist != "unset">>
+	<<if $arcologies[0].FSRomanRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSRomanRevivalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "EgyptianRevivalist">>
-	<<if $activeArcology.FSEgyptianRevivalist != "unset">>
+	<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "EdoRevivalist">>
-	<<if $activeArcology.FSEdoRevivalist != "unset">>
+	<<if $arcologies[0].FSEdoRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEdoRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSEdoRevivalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "ArabianRevivalist">>
-	<<if $activeArcology.FSArabianRevivalist != "unset">>
+	<<if $arcologies[0].FSArabianRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSArabianRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSArabianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "ChineseRevivalist">>
-	<<if $activeArcology.FSChineseRevivalist != "unset">>
+	<<if $arcologies[0].FSChineseRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChineseRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSChineseRevivalist += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "Repopulationist">>
-	<<if $activeArcology.FSRepopulationFocus != "unset">>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel)>>
 		<<set $arcologies[0].FSRepopulationFocus += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<case "Eugenics">>
-	<<if $activeArcology.FSRestart != "unset">>
+	<<if $arcologies[0].FSRestart != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel)>>
 		<<set $arcologies[0].FSRestart += 0.05*$args[1]*$FSSingleSlaveRep>>
 	<</if>>
 <<default>>
-	@@.red;ERROR: bad FS reference@@
+	@@.red;ERROR: bad FS reference $args[0]@@
 <</switch>>
 
 <</widget>>
@@ -1623,117 +1623,117 @@ This experience
 
 <<switch $args[0]>>
 <<case "Supremacist">>
-	<<if $activeArcology.FSSupremacist != "unset">>
+	<<if $arcologies[0].FSSupremacist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSupremacist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSSupremacist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "Subjugationist">>
-	<<if $activeArcology.FSSSubjugationist != "unset">>
+	<<if $arcologies[0].FSSSubjugationist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSSubjugationist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSSSubjugationist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "GenderRadicalist">>
-	<<if $activeArcology.FSGenderRadicalist != "unset">>
+	<<if $arcologies[0].FSGenderRadicalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSGenderRadicalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "GenderFundamentalist">>
-	<<if $activeArcology.FSGenderFundamentalist != "unset">>
+	<<if $arcologies[0].FSGenderFundamentalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSGenderFundamentalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "Paternalist">>
-	<<if $activeArcology.FSPaternalist != "unset">>
+	<<if $arcologies[0].FSPaternalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSPaternalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "Degradationist">>
-	<<if $activeArcology.FSDegradationist != "unset">>
+	<<if $arcologies[0].FSDegradationist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSDegradationist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "AssetExpansionist">>
-	<<if $activeArcology.FSAssetExpansionist != "unset">>
+	<<if $arcologies[0].FSAssetExpansionist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSAssetExpansionist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSAssetExpansionist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "SlimnessEnthusiast">>
-	<<if $activeArcology.FSSlimnessEnthusiast != "unset">>
+	<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSlimnessEnthusiast/$FSLockinLevel)>>
 		<<set $arcologies[0].FSSlimnessEnthusiast += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "TransformationFetishist">>
-	<<if $activeArcology.FSTransformationFetishist != "unset">>
+	<<if $arcologies[0].FSTransformationFetishist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSTransformationFetishist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSTransformationFetishist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "BodyPurist">>
-	<<if $activeArcology.FSBodyPurist != "unset">>
+	<<if $arcologies[0].FSBodyPurist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSBodyPurist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSBodyPurist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "MaturityPreferentialist">>
-	<<if $activeArcology.FSMaturityPreferentialist != "unset">>
+	<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSMaturityPreferentialist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSMaturityPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "YouthPreferentialist">>
-	<<if $activeArcology.FSYouthPreferentialist != "unset">>
+	<<if $arcologies[0].FSYouthPreferentialist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSYouthPreferentialist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSYouthPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "Pastoralist">>
-	<<if $activeArcology.FSPastoralist != "unset">>
+	<<if $arcologies[0].FSPastoralist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPastoralist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSPastoralist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "PhysicalIdealist">>
-	<<if $activeArcology.FSPhysicalIdealist != "unset">>
+	<<if $arcologies[0].FSPhysicalIdealist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPhysicalIdealist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSPhysicalIdealist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "ChattelReligionist">>
-	<<if $activeArcology.FSChattelReligionist != "unset">>
+	<<if $arcologies[0].FSChattelReligionist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChattelReligionist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSChattelReligionist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "RomanRevivalist">>
-	<<if $activeArcology.FSRomanRevivalist != "unset">>
+	<<if $arcologies[0].FSRomanRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSRomanRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "EgyptianRevivalist">>
-	<<if $activeArcology.FSEgyptianRevivalist != "unset">>
+	<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "EdoRevivalist">>
-	<<if $activeArcology.FSEdoRevivalist != "unset">>
+	<<if $arcologies[0].FSEdoRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEdoRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSEdoRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "ArabianRevivalist">>
-	<<if $activeArcology.FSArabianRevivalist != "unset">>
+	<<if $arcologies[0].FSArabianRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSArabianRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSArabianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "ChineseRevivalist">>
-	<<if $activeArcology.FSChineseRevivalist != "unset">>
+	<<if $arcologies[0].FSChineseRevivalist != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChineseRevivalist/$FSLockinLevel)>>
 		<<set $arcologies[0].FSChineseRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "Repopulationist">>
-	<<if $activeArcology.FSRepopulationFocus != "unset">>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel)>>
 		<<set $arcologies[0].FSRepopulationFocus += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<case "Eugenics">>
-	<<if $activeArcology.FSRestart != "unset">>
+	<<if $arcologies[0].FSRestart != "unset">>
 		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel)>>
 		<<set $arcologies[0].FSRestart += 0.05*$args[1]*$FSSingleSlaveRep*$pornFameBonus>>
 	<</if>>
 <<default>>
-	@@.red;ERROR: bad FS reference@@
+	@@.red;ERROR: bad FS reference $args[0]@@
 <</switch>>
 
-<</widget>>
\ No newline at end of file
+<</widget>>
diff --git a/src/utility/raWidgets.tw b/src/utility/raWidgets.tw
index 5b694fc52ffc76b91b95ea513effc29fa26acd67..b573ecf389ed920bf547d253230cea3e3512c9e7 100644
--- a/src/utility/raWidgets.tw
+++ b/src/utility/raWidgets.tw
@@ -179,14 +179,14 @@ Apply to assignments:
 <</for>>
 
 <<if _rest || _fucktoy || _servant || _confined || _whore || _public || _milked || _subordinate || _gloryhole>>
-	<<link "None">>
+	<<link "All">>
 		<<set $currentRule.assignment = []>>
 		<<RAChangeApplyAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>> |
 <<else>>
-	''None'' |
+	''All'' |
 <</if>>
 
 <<if !_rest>>
@@ -606,14 +606,14 @@ Exclude assignments:
 Apply to facilities:
 <br>
 <<if (_facility.length > 0)>>
-	<<link "None">>
+	<<link "All">>
 		<<set _facility = []>>
 		<<RAChangeApplyFacility>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''None''
+	''All''
 <</if>>
 <<if ($HGSuite > 0)>>
 |
@@ -2984,7 +2984,7 @@ Your brand design is ''$brandDesign.''
 <<widget "DefaultRules">>
 <<for _r = 0; _r < $defaultRules.length; _r++>>
 <<set _currentRule = $defaultRules[_r]>>
-<<if (!ruleApplied($args[0], _currentRule.ID)) || ((def _currentRule.facility) && (_currentRule.facility.length > 1) && !ruleAppliedToSlaveFacility(_currentRule, $args[0]))>><<continue>><</if>>
+<<if !ruleApplied($args[0], _currentRule.ID) || (def _currentRule.facility && _currentRule.facility.length > 0 && !ruleAppliedToSlaveFacility(_currentRule, $args[0]))>><<continue>><</if>>
 
 <<if $args[0].fuckdoll == 0>>
 
@@ -3405,7 +3405,7 @@ Your brand design is ''$brandDesign.''
 	<</if>>
 <</if>>
 <</if>>
-<<if canGetPregant($args[0])>>
+<<if canGetPregnant($args[0])>>
 <<if (_currentRule.preg !== "no default setting")>>
 <<if (_currentRule.preg == -1)>>
 	<<if $args[0].preg !== -1>>
@@ -4618,56 +4618,42 @@ consequences.
 <<set _currentRule = $defaultRules[_r]>>
 <<set _rule = _r+1>>
 
-<<if (def _currentRule.excludedSlaves) && (_currentRule.excludedSlaves.length > 0)>>
-	<<if ruleSlaveExcluded($args[0], _currentRule)>>
-		<<if ruleApplied($args[0], _currentRule.ID)>>
-			<<RARemoveRule $args[0]>>
-		<</if>>
+<<if ruleApplied($args[0], _currentRule.ID)>>
+	<<if (def _currentRule.excludedSlaves) && (_currentRule.excludedSlaves.length > 0) && ruleSlaveExcluded($args[0], _currentRule)>>
+		<<RARemoveRule $args[0]>>
 		<<continue>>
 	<</if>>
-<</if>>
 
-<<if (def _currentRule.selectedSlaves) && (_currentRule.selectedSlaves.length > 0)>>
-	<<if !ruleSlaveSelected($args[0], _currentRule)>>
-		<<if ruleApplied($args[0], _currentRule.ID)>>
-			<<RARemoveRule $args[0]>>
-		<</if>>
+	<<if (def _currentRule.selectedSlaves) && (_currentRule.selectedSlaves.length > 0) && !ruleSlaveSelected($args[0], _currentRule)>>
+		<<RARemoveRule $args[0]>>
 		<<continue>>
 	<</if>>
-<</if>>
 
-<<if (def _currentRule.facility) && (_currentRule.facility.length > 0)>>
-	<<if !ruleAppliedToSlaveFacility(_currentRule, $args[0])>>
-		<<if ruleApplied($args[0], _currentRule.ID)>>
+	<<if $args[0].assignmentVisible == 0>>
+
+		<<if (def _currentRule.excludeFacility) && (_currentRule.excludeFacility.length > 0) && ruleExcludeSlaveFacility(_currentRule, $args[0])>>
 			<<RARemoveRule $args[0]>>
+			<<continue>>
 		<</if>>
-		<<continue>>
-	<</if>>
-<</if>>
-
-<<if (def _currentRule.excludeFacility) && (_currentRule.excludeFacility.length > 0)>>
-	<<if ruleExcludeSlaveFacility(_currentRule, $args[0])>>
-		<<if ruleApplied($args[0], _currentRule.ID)>>
+		
+		<<if (def _currentRule.facility) && (_currentRule.facility.length > 0) && !ruleAppliedToSlaveFacility(_currentRule, $args[0])>>
 			<<RARemoveRule $args[0]>>
+			<<continue>>
 		<</if>>
-		<<continue>>
-	<</if>>
-<</if>>
+		
+	<<else>>
 
-<<if (def _currentRule.assignment) && (_currentRule.assignment.length > 0)>>
-	<<if !ruleAssignment(_currentRule.assignment, $args[0].assignment)>>
-		<<if ruleApplied($args[0], _currentRule.ID)>>
+		<<if (def _currentRule.excludeAssignment) && (_currentRule.excludeAssignment.length > 0) && ruleAssignment(_currentRule.excludeAssignment, $args[0].assignment)>>
 			<<RARemoveRule $args[0]>>
+			<<continue>>
 		<</if>>
-		<<continue>>
-	<</if>>
-<</if>>
-<<if (def _currentRule.excludeAssignment) && (_currentRule.excludeAssignment.length > 0)>>
-	<<if ruleAssignment(_currentRule.excludeAssignment, $args[0].assignment)>>
-		<<if ruleApplied($args[0], _currentRule.ID)>>
+
+		<<if (def _currentRule.assignment) && (_currentRule.assignment.length > 0) && !ruleAssignment(_currentRule.assignment, $args[0].assignment)>>
 			<<RARemoveRule $args[0]>>
+			<<continue>>
 		<</if>>
-		<<continue>>
+
+		
 	<</if>>
 <</if>>
 
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index a6308d0f10eb1b29ef67d2d29ca425359cb37b56..60186fd15aeefd26155d886a429f79ae497bfa9a 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -66,6 +66,7 @@
 	<</replace>>
 
 	<<replace "#language">>
+		''$language:''
 		<<if $activeSlave.voice == 0>>
 		<<elseif $activeSlave.accent == 0>>Unaccented.
 		<<elseif $activeSlave.accent == 1>>Pretty $activeSlave.nationality accent.