diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 541910f5ca7556a30ad448d9c882ce6e826a3168..afae96f23937881aa4c9fa4d74d387855571b499 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,13 @@
 
 0.10.7.1-0.4.x
 
+7/08/2018
+
+	20
+	-fixes
+	-more widget to JS conversion
+	-fixed milk/cum pastoralist decoration cascade
+
 7/07/2018
 
 	20
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 12f9afae8df81cd76ee44bd4a61b84e76bae6c95..19430ede9e0cb45ec565cbde2f3685238a6c16b5 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -13707,7 +13707,7 @@ window.rulesAssistantOptions = (function() {
 				["Female", 1],
 				["None", 0],
 				["Male", -1],
-				["Intensive Male", "intensive male", -2]
+				["Intensive Male", -2]
 			];
 			super("Hormones for shemales", pairs);
 			this.setValue(current_rule.set.XY);
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index faa18786ee16523a8d671c5b7f76d127e62643db..82a6fdfcccd5033b9c00bce7de33d459ed7627bf 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -469,56 +469,56 @@ gets milked this week.
 
 <<if $slaves[$i].assignment == "work in the dairy">>
 <<if $dairyDecoration != "standard">>
-<<set $seed = 0.0001*$FSSingleSlaveRep*($milk+5*$cum)>>
+<<set $seed = Math.min(0.0001*$FSSingleSlaveRep*($milk+5*$cum), 1)>>
 <<switch $dairyDecoration>>
 <<case "Roman Revivalist">>
-	<<set $arcologies[0].FSRomanRevivalist += $seed>>
+	<<set $arcologies[0].FSRomanRevivalist = Math.clamp($arcologies[0].FSRomanRevivalist += $seed,0,100)>>
 <<case "Aztec Revivalist">>
-	<<set $arcologies[0].FSAztecRevivalist += $seed>>
+	<<set $arcologies[0].FSAztecRevivalist = Math.clamp($arcologies[0].FSAztecRevivalist += $seed,0,100)>>
 <<case "Egyptian Revivalist">>
-	<<set $arcologies[0].FSEgyptianRevivalist += $seed>>
+	<<set $arcologies[0].FSEgyptianRevivalist = Math.clamp($arcologies[0].FSEgyptianRevivalist += $seed,0,100)>>
 <<case "Edo Revivalist">>
-	<<set $arcologies[0].FSEdoRevivalist += $seed>>
+	<<set $arcologies[0].FSEdoRevivalist = Math.clamp($arcologies[0].FSEdoRevivalist += $seed,0,100)>>
 <<case "Arabian Revivalist">>
-	<<set $arcologies[0].FSArabianRevivalist += $seed>>
+	<<set $arcologies[0].FSArabianRevivalist = Math.clamp($arcologies[0].FSArabianRevivalist += $seed,0,100)>>
 <<case "Chinese Revivalist">>
-	<<set $arcologies[0].FSChineseRevivalist += $seed>>
+	<<set $arcologies[0].FSChineseRevivalist = Math.clamp($arcologies[0].FSChineseRevivalist += $seed,0,100)>>
 <<case "Chattel Religionist">>
-	<<set $arcologies[0].FSChattelReligionist += $seed>>
+	<<set $arcologies[0].FSChattelReligionist = Math.clamp($arcologies[0].FSChattelReligionist += $seed,0,100)>>
 <<case "Degradationist">>
-	<<set $arcologies[0].FSDegradationist += $seed>>
+	<<set $arcologies[0].FSDegradationist = Math.clamp($arcologies[0].FSDegradationist += $seed,0,100)>>
 <<case "Repopulation Focus">>
-	<<set $arcologies[0].FSRepopulationFocus += $seed>> 
+	<<set $arcologies[0].FSRepopulationFocus = Math.clamp($arcologies[0].FSRepopulationFocus += $seed,0,100)>>
 <<case "Eugenics">>
-	<<set $arcologies[0].FSRestart += $seed>>
+	<<set $arcologies[0].FSRestart = Math.clamp($arcologies[0].FSRestart += $seed,0,100)>>
 <<case "Asset Expansionist">>
-	<<set $arcologies[0].FSAssetExpansionist += $seed>>
+	<<set $arcologies[0].FSAssetExpansionist = Math.clamp($arcologies[0].FSAssetExpansionist += $seed,0,100)>>
 <<case "Transformation Fetishist">>
-	<<set $arcologies[0].FSTransformationFetishist += $seed>>
+	<<set $arcologies[0].FSTransformationFetishist = Math.clamp($arcologies[0].FSTransformationFetishist += $seed,0,100)>>
 <<case "Gender Radicalist">>
-	<<set $arcologies[0].FSGenderRadicalist += $seed>>
+	<<set $arcologies[0].FSGenderRadicalist = Math.clamp($arcologies[0].FSGenderRadicalist += $seed,0,100)>>
 <<case "Gender Fundamentalist">>
-	<<set $arcologies[0].FSGenderFundamentalist += $seed>>
+	<<set $arcologies[0].FSGenderFundamentalist = Math.clamp($arcologies[0].FSGenderFundamentalist += $seed,0,100)>>
 <<case "Physical Idealist">>
-	<<set $arcologies[0].FSPhysicalIdealist += $seed>>
+	<<set $arcologies[0].FSPhysicalIdealist = Math.clamp($arcologies[0].FSPhysicalIdealist += $seed,0,100)>>
 <<case "Hedonistic">>
-	<<set $arcologies[0].FSHedonisticDecadence += $seed>>
+	<<set $arcologies[0].FSHedonisticDecadence = Math.clamp($arcologies[0].FSHedonisticDecadence += $seed,0,100)>>
 <<case "Supremacist">>
-	<<set $arcologies[0].FSSupremacist += $seed>>
+	<<set $arcologies[0].FSSupremacist = Math.clamp($arcologies[0].FSSupremacist += $seed,0,100)>>
 <<case "Subjugationist">>
-	<<set $arcologies[0].FSSubjugationist += $seed>>
+	<<set $arcologies[0].FSSubjugationist = Math.clamp($arcologies[0].FSSubjugationist += $seed,0,100)>>
 <<case "Paternalist">>
-	<<set $arcologies[0].FSPaternalist += $seed>>
+	<<set $arcologies[0].FSPaternalist = Math.clamp($arcologies[0].FSPaternalist += $seed,0,100)>>
 <<case "Pastoralist">>
-	<<set $arcologies[0].FSPastoralist += $seed>>
+	<<set $arcologies[0].FSPastoralist = Math.clamp($arcologies[0].FSPastoralist += $seed,0,100)>>
 <<case "Maturity Preferentialist">>
-	<<set $arcologies[0].FSMaturityPreferentialist += $seed>>
+	<<set $arcologies[0].FSMaturityPreferentialist = Math.clamp($arcologies[0].FSMaturityPreferentialist += $seed,0,100)>>
 <<case "Youth Preferentialist">>
-	<<set $arcologies[0].FSYouthPreferentialist += $seed>>
+	<<set $arcologies[0].FSYouthPreferentialist = Math.clamp($arcologies[0].FSYouthPreferentialist += $seed,0,100)>>
 <<case "Body Purist">>
-	<<set $arcologies[0].FSBodyPurist += $seed>>
+	<<set $arcologies[0].FSBodyPurist = Math.clamp($arcologies[0].FSBodyPurist += $seed,0,100)>>
 <<case "Slimness Enthusiast">>
-	<<set $arcologies[0].FSSlimnessEnthusiast += $seed>>
+	<<set $arcologies[0].FSSlimnessEnthusiast = Math.clamp($arcologies[0].FSSlimnessEnthusiast += $seed,0,100)>>
 <</switch>>
 <</if>>
 <</if>>
diff --git a/src/uncategorized/securityForceNamingColonel.tw b/src/uncategorized/securityForceNamingColonel.tw
index cc83926d2f6c16921f43f47c7a163466c738b90f..69dbbe34b5864f1cd8b6078659543faf54e74361 100644
--- a/src/uncategorized/securityForceNamingColonel.tw
+++ b/src/uncategorized/securityForceNamingColonel.tw
@@ -30,8 +30,8 @@ You close the link to the communication system and read a message from your assi
 	The figure that enters is not what you were expecting, given your previous experiences with the mercenary groups that work with the arcology owners of the Free Cities. Most mercenaries you've worked with have been grizzled stout men, veterans of the Old World militaries that finally had too much and went private. This one's different, <<if $ColonelCore != "">> likely to be ''$ColonelCore'' <</if>>
 		<span id="result0">
 		<<if $ColonelCore == "">> you can guess from her face that at her core she is likely to be:
-		<<link "Kind">>
-			<<replace "#result0" "Security Force Naming-Colonel">>
+		<<link "Kind" "Security Force Naming-Colonel">>
+			<<replace "#result0">>
 			she strikes you as a kind person.
 			<<set $ColonelCore = "kind">>
 			<</replace>>
@@ -60,12 +60,12 @@ You close the link to the communication system and read a message from your assi
 			she strikes you as someone who just loves war.
 			<<set $ColonelCore = "warmonger">>
 			<</replace>>
-		<</link>> | <<link "Jaded">>
+		<</link>> | <<link "Jaded" "Security Force Naming-Colonel">>
 			she strikes you as someone who's seen too much to really care anymore.
 			<<replace "#result0">>
-			<<set $ColonelCore = "jaded" "Security Force Naming-Colonel">>
+			<<set $ColonelCore = "jaded">>
 			<</replace>>
-		<</link>> | <<link "Shell shocked">>
+		<</link>> | <<link "Shell shocked" "Security Force Naming-Colonel">>
 			<<replace "#result0">>
 			she strikes you as someone who's been through hell.
 			<<set $ColonelCore = "shell shocked">>