diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 55136168766d6ec1f95eb9c95f176e4e65770dec..5b86ec4c1b64920fc74f8d80500e7fccedc40d95 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -1,4 +1,4 @@
-1. https://archive.is/QpPh8 01/30/16 9084 X
+1. https://archive.is/QpPh8 01/30/16 9084 X
 2. https://archive.is/hG7RE 03/30/16 11389 X
 3. https://archive.is/7xH48 05/12/16 13764 X
 4. https://archive.is/0e40h 06/28/16 16701 X
@@ -4595,4 +4595,8 @@ Pregmod 0.10.3.0
 	
 	124
 	-fixes
-	-dairy diet changes
\ No newline at end of file
+	-dairy diet changes
+
+	125
+	-fixes
+	-RESS work
\ No newline at end of file
diff --git a/src/SecExp/SecExpBackwardCompatibility.tw b/src/SecExp/SecExpBackwardCompatibility.tw
index 9797099c25bf27f26598934a0e76896a42e47d56..dd7e8471644e2bb3a2ea6f48758970df8d19536f 100644
--- a/src/SecExp/SecExpBackwardCompatibility.tw
+++ b/src/SecExp/SecExpBackwardCompatibility.tw
@@ -27,6 +27,10 @@
 <<if ndef $maxUnits>>
 <<set $maxUnits = 6>>
 <</if>>
+<<if ndef $trade>>
+<<set $trade = 0>>
+<<calcInitialTrade>>
+<</if>>
 <<if ndef $activeUnits>>
 <<set $activeUnits = 0>>
 <</if>>
@@ -45,6 +49,9 @@
 <<if ndef $hasFoughtMajorBattleOnce>>
 <<set $hasFoughtMajorBattleOnce = 0>>
 <</if>>
+<<if ndef $hasRebelledOnce>>
+<<set $hasRebelledOnce = 0>>
+<</if>>
 <<if ndef $majorBattle>>
 <<set $majorBattle = 0>>
 <</if>>
@@ -197,6 +204,12 @@
 <<if ndef $mercSoldierPrivilege>>
 <<set $mercSoldierPrivilege = 0>>
 <</if>>
+<<if ndef $tradeLegalAid>>
+<<set $tradeLegalAid = 0>>
+<</if>>
+<<if ndef $taxTrade>>
+<<set $taxTrade = 0>>
+<</if>>
 
 /* proclamations */
 <<if ndef $proclamationsCooldown>>
@@ -365,6 +378,18 @@
 <<if ndef $transportHub>>
 <<set $transportHub = 0>>
 <</if>>
+<<if ndef $airport>>
+<<set $airport = 1>>
+<</if>>
+<<if ndef $railway>>
+<<set $railway = 1>>
+<</if>>
+<<if ndef $docks>>
+<<set $docks = 1>>
+<</if>>
+<<if ndef $hubSecurity>>
+<<set $hubSecurity = 1>>
+<</if>>
 
 /* events */
 <<if ndef $smilingManProgress>>
diff --git a/src/SecExp/edicts.tw b/src/SecExp/edicts.tw
index d296f35d2ad560e0e0f7d1997e9cfffbbcaa50fb..14368867025dc6873ad599ebc9f72f1285f60892 100644
--- a/src/SecExp/edicts.tw
+++ b/src/SecExp/edicts.tw
@@ -25,6 +25,15 @@
 	[[Repeal|edicts][$propCampaignBoost = 0]]
 <</if>>
 
+<<if $tradeLegalAid == 1>>
+	<br>''Legal aid for new businesses:'' New businesses can rely on your help for legal expenses and issues.
+	[[Repeal|edicts][$tradeLegalAid = 0, $edictsUpkeep -= 1000]]
+<</if>>
+<<if $taxTrade == 1>>
+	<br>''Trade tariffs:'' all goods transitioning in your arcology have to pay a transition fee.
+	[[Repeal|edicts][$taxTrade = 0]]
+<</if>>
+
 <<if $slaveWatch == 1>>
 	<br>''@@.lime;Slave mistreatment watch:@@'' slaves are able access a special security service in case of mistreatment.
 	[[Repeal|edicts][$slaveWatch = 0, $edictsUpkeep -= 1000]]
@@ -81,12 +90,12 @@
 <<if $hasFoughtOnce == 1>>
 <br><br>__Defense Force:__
 	<<if $soldierWages == 0>>
-		<br>''Low wages for soldiers:'' wages for soldiers are set to a low amount compared to market standards.
+		<br>''Low wages for soldiers:'' wages for soldiers are set to a low level compared to market standards.
 		[[Repeal|edicts][$soldierWages = 1]]
 	<<elseif $soldierWages == 1>>
 		<br>''Average wages for soldiers:'' wages for soldiers are set to the market standards.
 	<<else>>
-		<br>''High wages for soldiers:'' wages for soldiers are set to a high amount compared to market standards.
+		<br>''High wages for soldiers:'' wages for soldiers are set to a high level compared to market standards.
 		[[Repeal|edicts][$soldierWages = 1]]
 	<</if>>
 	
@@ -247,6 +256,27 @@
 	<</if>>
 <</if>>
 
+<<if $transportHub == 1>>
+	<<if $tradeLegalAid == 0>>
+		<br>''Legal aid for new businesses:'' Support new businesses in the arcology by helping them cover legal costs and issues.
+		<<if $authority >= 1000>>
+			[[Implement|edicts][$tradeLegalAid = 1, $cash -=5000, $authority -= 1000, $edictsUpkeep += 1000]]
+		<<else>>
+			<br>//Not enough Authority.//
+		<</if>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase trade, but will incur in upkeep costs.//
+	<</if>>
+	<<if $taxTrade == 0>>
+		<br>''Trade tariffs:'' all goods transitioning in your arcology will have to pay a transition fee.
+		<<if $authority >= 1000>>
+			[[Implement|edicts][$taxTrade = 1, $cash -=5000, $authority -= 1000]]
+		<<else>>
+			<br>//Not enough Authority.//
+		<</if>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will provide income based on trade level, but will negatively affect trade trade.//
+	<</if>>
+<</if>>
+
 <<if $arcologies[0].FSPaternalist != "unset">>
 	<<if $slaveWatch == 0>>
 		<br>''@@.lime;Slave mistreatment watch:@@'' slaves will be able access a special security service in case of mistreatment.
@@ -392,7 +422,7 @@
 			<br>//Not enough Authority.//
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will lower all units upkeep and push loyalty to low levels.//
-		<br>''Average wages for soldiers:'' will set the wages paid to the soldiers of the arcology to a high amount.
+		<br>''High wages for soldiers:'' will set the wages paid to the soldiers of the arcology to a high amount.
 		<<if $authority >= 1000>>
 			[[Implement|edicts][$soldierWages += 1, $cash -=5000, $authority -= 1000]]
 		<<else>>
@@ -526,8 +556,8 @@
 		<</if>>
 	<</if>>
 	
-	<<if $militiaSoldierPrivilege == 0>>
-		<br>''Special militia privileges'' will give the privilege to citizens joining the militia of avoiding paying rent.
+	<<if $militiaSoldierPrivilege == 0 && $militiaFounded == 1>>
+		<br>''Special militia privileges'' will allow citizens joining the militia to avoid paying rent.
 		<<if $authority >= 1000>>
 			[[Implement|edicts][$militiaSoldierPrivilege = 1, $cash -=5000, $authority -= 1000]]
 		<<else>>
@@ -537,7 +567,7 @@
 	<</if>>
 	
 	<<if $slaveSoldierPrivilege == 0>>
-		<br>''Special slaves privileges'' will give the privilege to slaves drafted into the army of being able to have material possessions.
+		<br>''Special slaves privileges'' will allow slaves drafted into the army to be able to have material possessions.
 		<<if $authority >= 1000>>
 			[[Implement|edicts][$slaveSoldierPrivilege = 1, $cash -=5000, $authority -= 1000, $edictsAuthUpkeep += 10]]
 		<<else>>
@@ -546,8 +576,8 @@
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase the loyalty of slave units, but will cost authority each week.//
 	<</if>>
 	
-	<<if $mercSoldierPrivilege == 0>>
-		<br>''Special mercenary privileges'' will give th privilege to mercenaries under contract to claim part of the loot gained from battles.
+	<<if $mercSoldierPrivilege == 0 && $mercenaries > 0>>
+		<br>''Special mercenary privileges'' will allow mercenaries under contract to claim part of the loot gained from battles.
 		<<if $authority >= 1000>>
 			[[Implement|edicts][$mercSoldierPrivilege = 1, $cash -=5000, $authority -= 1000]]
 		<<else>>
diff --git a/src/SecExp/rebellionGenerator.tw b/src/SecExp/rebellionGenerator.tw
index 97040ede4c4b95572312c8ca2ebc7925174a4e38..b9b3035e0ed090dbc397d724299c9767198dca6f 100644
--- a/src/SecExp/rebellionGenerator.tw
+++ b/src/SecExp/rebellionGenerator.tw
@@ -134,7 +134,7 @@
 <<if $brainImplant == 106>>
 	<<set _slave = Math.trunc(_slave * 0.2), _citizen = Math.trunc(_citizen * 0.2)>>
 <<else>>
-	<<set _slave = Math.trunc(_slave * 0.6), _citizen = Math.trunc(_citizen * 0.6)>>
+	<<set _slave = Math.trunc(_slave * 0.75), _citizen = Math.trunc(_citizen * 0.75)>>
 <</if>>
 <<if _roll <= _slave>>
 	<<if random(1,100) < _slave>>
@@ -200,17 +200,17 @@
 	<<set $engageRule = 0>>
 	<<set $lastRebellionWeeks = 0>>
 	<<set $leadingTroops = "assistant">>
+	<<if $hasRebelledOnce == 0>>
+		<<set $hasRebelledOnce = 1>>
+	<</if>>
 	/* calc how many slaves and citizens participate */
 	<<set _authFactor = Math.clamp($authority / 20000,0.4,0.6)>>
 	<<set _repFactor  = Math.clamp($rep / 20000,0.4,0.6)>>
-	<<set $notInvolved = Math.round(($ASlaves * (1 - _repFactor)))>> 								/* a percentage of slave will not be involved in the rebellion, depending on reputation, the higher the more slaves stand aside */
-	<<set $notInvolved = Math.clamp($notInvolved - random(1,100),0,$ASlaves)>>
-	<<set $attackTroops = Math.round((($ASlaves - $notInvolved) * (1 - _authFactor)))>>				/* a percentage of slave will actively participate in the rebellion, depending on authority, the higher the fewer slaves join */
-	<<set $attackTroops = Math.clamp($attackTroops - random(1,100),0,$ASlaves)>>
-	<<set _citNonInvolved = $ACitizens * (1 - Math.clamp(_repFactor,0.5,0.7))>>
-	<<set $irregulars = Math.round((($ACitizens  - _citNonInvolved) * (1 - Math.clamp(_repFactor,0.4,0.6))) * 0.1)>>		/* citizens participating on the side of the player.
-	<<set $irregulars = Math.clamp($irregulars - random(1,100),0,$ACitizens)>>
-	/* calc if units participate */
+	<<set _rebelPercent = 0.5 * _authFactor>>
+	<<set _irregularPercent = 0.25 * _repFactor>>
+	<<set $attackTroops = Math.round($ASlaves * _rebelPercent + random(-100,100))>>
+	<<set $irregulars = Math.round($ACitizens * _irregularPercent + random(-100,100))>>
+	/* calc if units rebel */
 	<<for _i = 0; _i < $slaveUnits.length; _i++>>
 		<<if $slaveUnits[_i].loyalty < 10>>
 			<<if random(1,100) <= 90>>
@@ -245,17 +245,18 @@
 <<elseif $citizenRebellion == 1>>
 	<<set $engageRule = 0>>
 	<<set $lastRebellionWeeks = 0>>
+	<<if $hasRebelledOnce == 0>>
+		<<set $hasRebelledOnce = 1>>
+	<</if>>
 	<<set $leadingTroops = "assistant">>
 	/* calc how many citizens participate */
 	<<set _authFactor = $authority / 20000>>
 	<<set _repFactor  = $rep / 20000>>
-	<<set $notInvolved = Math.round($ACitizens * (1 - Math.clamp(_repFactor,0.5,0.7)))>> 							/* a percentage of citizens will not be involved in the rebellion, depending on reputation, the higher the more slaves stand aside */
-	<<set $notInvolved = Math.clamp($notInvolved - random(1,100),0,$ACitizens)>>
-	<<set $attackTroops = Math.round(($ACitizens - $notInvolved) * (1 - Math.clamp(_authFactor,0.4,0.6)))>>			/* a percentage of citizens will actively participate in the rebellion, depending on authority, the higher the fewer slaves join */
-	<<set $attackTroops = Math.clamp($attackTroops - random(1,100),0,$ACitizens)>>
-	<<set $irregulars = Math.round((($ACitizens - $notInvolved) * (1 - Math.clamp(_repFactor,0.4,0.6))) * 0.5)>>	/* citizens joining the player */
-	<<set $irregulars = Math.clamp($irregulars - random(1,100),0,$ACitizens)>>
-	/* calc if units participate */
+	<<set _rebelPercent = 0.5 * _authFactor>>
+	<<set _irregularPercent = 0.25 * _repFactor>>
+	<<set $attackTroops = Math.round($ACitizens * _rebelPercent + random(-100,100))>>
+	<<set $irregulars = Math.round($ACitizens * _irregularPercent + random(-100,100))>>
+	/* calc if units rebel */
 	<<for _i = 0; _i < $militiaUnits.length; _i++>>
 		<<if $militiaUnits[_i].loyalty < 10>>
 			<<if random(1,100) <= 90>>
diff --git a/src/SecExp/secExpOptions.tw b/src/SecExp/secExpOptions.tw
index 81e2abb2738d6efa2d10997dcbaa8b48572b7065..54ff4605688526d319901ad7a8d98e6d1f4df599 100644
--- a/src/SecExp/secExpOptions.tw
+++ b/src/SecExp/secExpOptions.tw
@@ -38,7 +38,7 @@
 	<</if>>
 	<br>
 	<br>
-	<<if $rebellionGameOver == 0 && $rebellionsEnabled == 1>>
+	<<if $rebellionGameOver == 0 && $rebellionsEnabled == 1 && $arcologyUpgrade.drones == 1>>
 		Rebellions can cause gameover is @@.red;FALSE@@.
 		<<link "Activate game loss in case of rebellions succeeding">>
 			<<set $rebellionGameOver = 1>>
@@ -300,8 +300,7 @@ __Debug/cheats:__
 		<<set $mercUnits[_i].loyalty = random(40,60)>>
 	<</for>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Set loyalty high">>
+<</link>>|<<link "Set loyalty high">>
 	<<for _i = 0; _i < $militiaUnits.length; _i++>>
 		<<set $militiaUnits[_i].loyalty = random(80,100)>>
 	<</for>>
@@ -314,8 +313,7 @@ __Debug/cheats:__
 		<<set $mercUnits[_i].loyalty = random(80,100)>>
 	<</for>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Set loyalty low">>
+<</link>>|<<link "Set loyalty low">>
 	<<for _i = 0; _i < $militiaUnits.length; _i++>>
 		<<set $militiaUnits[_i].loyalty = random(20)>>
 	<</for>>
@@ -332,32 +330,28 @@ __Debug/cheats:__
 <br><<link "Give Authority">>
 	<<set $authority = Math.clamp($authority + 1000, 0, 20000)>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Remove Authority">>
+<</link>>|<<link "Remove Authority">>
 	<<set $authority = Math.clamp($authority - 1000, 0, 20000)>>
 	<<goto "secExpOptions">>
 <</link>>
 <br><<link "Raise security">>
 	<<set $security = Math.clamp($security + 5, 0, 100)>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Lower security">>
+<</link>>|<<link "Lower security">>
 	<<set $security = Math.clamp($security - 5, 0, 100)>>
 	<<goto "secExpOptions">>
 <</link>>
 <br><<link "Raise crime">>
 	<<set $crime = Math.clamp($crime + 5, 0, 100)>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Lower crime">>
+<</link>>|<<link "Lower crime">>
 	<<set $crime = Math.clamp($crime - 5, 0, 100)>>
 	<<goto "secExpOptions">>
 <</link>>
 <br><<link "Give menial slaves">>
 	<<set $helots = Math.clamp($helots + 30, 0, $PopCap)>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Remove menial slaves">>
+<</link>>|<<link "Remove menial slaves">>
 	<<set $helots = Math.clamp($helots - 30, 0, $PopCap)>>
 	<<goto "secExpOptions">>
 <</link>>
@@ -365,8 +359,7 @@ __Debug/cheats:__
 	<<set $militiaFreeManpower += 30>>
 	<<recalcManpower>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Remove militia manpower">>
+<</link>>|<<link "Remove militia manpower">>
 	<<set $militiaFreeManpower = Math.clamp($militiaFreeManpower - 30, 0, $militiaFreeManpower)>>
 	<<recalcManpower>>
 	<<goto "secExpOptions">>
@@ -375,8 +368,7 @@ __Debug/cheats:__
 	<<set $mercFreeManpower = 30>>
 	<<recalcManpower>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Remove mercs manpower">>
+<</link>>|<<link "Remove mercs manpower">>
 	<<set $mercFreeManpower = Math.clamp($mercFreeManpower - 30, 0, $mercFreeManpower)>>
 	<<recalcManpower>>
 	<<goto "secExpOptions">>
@@ -384,16 +376,14 @@ __Debug/cheats:__
 <br><<link "Add citizens">>
 	<<set $ACitizens = Math.clamp($ACitizens + 200, 0, $ACitizenLimit)>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Remove citizens">>
+<</link>>|<<link "Remove citizens">>
 	<<set $ACitizens = Math.clamp($ACitizens - 200, 0, $ACitizenLimit)>>
 	<<goto "secExpOptions">>
 <</link>>
 <br><<link "Add slaves">>
 	<<set $ASlaves = Math.clamp($ASlaves + 200, 0, $ASlaveLimit)>>
 	<<goto "secExpOptions">>
-<</link>>
-<br><<link "Remove slaves">>
+<</link>>|<<link "Remove slaves">>
 	<<set $ASlaves = Math.clamp($ASlaves - 200, 0, $ASlaveLimit)>>
 	<<goto "secExpOptions">>
 <</link>>
\ No newline at end of file
diff --git a/src/SecExp/secInit.tw b/src/SecExp/secInit.tw
index 2e7f4f778b66a53ae6f37cdfee1760f267efcbce..86010d95412cdffe3ba690bf1bec4826bf2d2885 100644
--- a/src/SecExp/secInit.tw
+++ b/src/SecExp/secInit.tw
@@ -9,12 +9,15 @@
 <<set $readiness = 1>>
 <<set $recon = 0>>
 <<set $maxUnits = 6>>
+<<set $trade = 0>>
+<<calcInitialTrade>>
 <<set $activeUnits = 0>>
 <<set $attackType = "none">>
 <<set $attackThisWeek = 0>>
 <<set $lastAttackWeeks = 0>>
 <<set $hasFoughtOnce = 0>>
 <<set $hasFoughtMajorBattleOnce = 0>>
+<<set $hasRebelledOnce = 0>>
 <<set $majorBattle = 0>>
 <<set $PCvictoryStreak = 0>>
 <<set $PCvictories = 0>>
@@ -69,6 +72,8 @@
 <<set $militiaSoldierPrivilege = 0>>
 <<set $slaveSoldierPrivilege = 0>>
 <<set $mercSoldierPrivilege = 0>>
+<<set $tradeLegalAid = 0>>
+<<set $taxTrade = 0>>
 
 /* proclamations */
 <<set $proclamationsCooldown = 0>>
@@ -149,6 +154,10 @@
 	oldWorld: 1,
 	FC: 1}>>
 <<set $transportHub = 0>>
+<<set $airport = 0>>
+<<set $railway = 0>>
+<<set $docks = 0>>
+<<set $hubSecurity = 1>>
 
 /* events */
 <<set $smilingManProgress = 0>>
diff --git a/src/SecExp/securityReport.tw b/src/SecExp/securityReport.tw
index e9a2c643cf9a8223e57d00e7e33c369feeb95c66..c46afd6616e119f91eb2f66574173a4bd71d4e93 100644
--- a/src/SecExp/securityReport.tw
+++ b/src/SecExp/securityReport.tw
@@ -98,6 +98,20 @@
 <<elseif $hasFoughtOnce == 1>>
 	The arcology has not been attacked in a while, which has a positive effect on security.<<set _secGrowth += 0.5>>
 <</if>>
+
+<<if $transportHub == 1>>
+	<<if $terrain != "oceanic" || $terrain != "marine">>
+		<<set _secGrowth += ($airport + $railway - $hubSecurity * 3) / 2>>
+	<<else>>
+		<<set _secGrowth += ($airport + $docks - $hubSecurity * 3) / 2>>
+	<</if>>
+	<<if $airport + $docks > $hubSecurity * 3>>
+		The transport hub, for all its usefulness, is a hotspot of malicious activity and hub security forces are not sufficient to keep up with all threats.
+	<<else>>
+		The transport hub, for all its usefulness, is a hotspot of malicious activity, but the hub security forces are up to the task.
+	<</if>>
+<</if>>
+
 <<if $blackOps == 1>>
 	Your black ops team proves to be a formidable tool against anyone threatening the security of your arcology.
 	<<set _secGrowth += 0.5 * random(1,2)>>
@@ -379,7 +393,7 @@
 		<<if _newMercs > 0>>
 			<<set $mercTotalManpower += _newMercs>>
 			<<set $mercFreeManpower += _newMercs>>
-			This week <<print _newMercs>> citizens joined the militia.
+			This week <<print _newMercs>> mercenaries reached the arcology.
 		<<else>>
 			This week no new mercenaries reached the arcology.
 		<</if>>
diff --git a/src/SecExp/tradeReport.tw b/src/SecExp/tradeReport.tw
new file mode 100644
index 0000000000000000000000000000000000000000..a55bd0ceeec17925b358693faf1553bd3d025e0d
--- /dev/null
+++ b/src/SecExp/tradeReport.tw
@@ -0,0 +1,130 @@
+:: tradeReport [nobr]
+
+<<if $week < 30>>
+	The world economy is in good enough shape to sustain economic growth. Trade flows liberally in all the globe.<<set _tradeChange += 1>>
+<<elseif $week < 60>>
+	The world economy is deteriorating, but still in good enough shape to sustain economic growth.<<set _tradeChange += 0.5>>
+<<elseif $week < 90>>
+	The world economy is deteriorating, but still in decent enough shape to sustain economic growth.
+<<elseif $week < 120>>
+	The world economy is deteriorating and the slowing down of global growth is starting to have some effect on trade flow.<<set _tradeChange -= 1>>
+<<else>>
+	The world economy is heavily deteriorated. The slowing down of global growth has a great engative effect on trade flow.<<set _tradeChange -= 2>>
+<</if>>
+
+<<set _tradeChange = 0>>
+<<if $lastAttackWeeks < 2 && $hasFoughtOnce == 1>>
+	The recent attack has a negative effect on the trade of the arcology.<<set _tradeChange -= 1>>
+<<elseif $lastAttackWeeks < 4 && $hasFoughtOnce == 1>>
+	While some time has passed, the last attack still has a negative effect on the commercial activity of the arcology.<<set _tradeChange -= 0.5>>
+<<elseif $hasFoughtOnce == 1>>
+	The arcology has not been attacked in a while, which has a positive effect on the amount of commercial activities going through the free city.<<set _tradeChange += 1>>
+<</if>>
+<<if $lastRebellionWeeks < 2 && $hasRebelledOnce == 1>>
+	The recent rebellion has a negative effect on the trade of the arcology.<<set _tradeChange -= 1>>
+<<elseif $lastRebellionWeeks < 4 && $hasRebelledOnce == 1>>
+	While some time has passed, the last rebellion still has a negative effect on the commercial activity of the arcology.<<set _tradeChange -= 0.5>>
+<<elseif $hasFoughtOnce == 1>>
+	The arcology has not seen rebellions in a while, which has a positive effect on the amount of commercial activities going through the free city.<<set _tradeChange += 1>>
+<</if>>
+
+<<if $terrain == "urban">>
+	Since your arcology is located in the heart of an urban area, its commerce is naturally vibrant.
+	<<set _tradeChange++>>
+<</if>>
+<<if $terrain == "ravine">>
+	Since your arcology is located in the heart of a ravine, its commerce is hindered by a lack of accessability.
+	<<set _tradeChange -= 0.5>>
+<</if>>
+
+<<if $PC.career == "wealth" || $PC.career == "capitalist" || $PC.career == "celebrity">>
+	<<set _tradeChange += 1>>
+<<elseif $PC.career == "escort" || $PC.career == "servant" || $PC.career == "gang">>
+	<<set _tradeChange -= 0.5>>
+<</if>>
+
+<<if $rep > 18000>>
+	Your extremely high reputation attracts trade from all over the world.
+<<elseif $rep > 12000>>
+	Your high reputation attracts trade from all over the world.
+<</if>>
+	
+<<if $assistantPower == 1>>
+	Thanks to the computing power available to her, $assistantName is able to guide the commercial development of the arcology to greater levels. <<set _tradeChange++>>
+<<elseif $assistantPower == 2>>
+	Thanks to the incredible computing power available to her, $assistantName is able to guide the commercial development of the arcology to greater levels. <<set _tradeChange += 2>>
+<</if>>
+
+<<if $tradeLegalAid == 1>>
+	Your support in legal matters for new businesses helps improve the economic dynamicity of your arcology, boosting commercial activities.<<set _tradeChange += 1>>
+<</if>>
+
+<<if $taxTrade == 1>>
+	The fees imposed on transitioning goods do little to earn you the favor of the companies making use of your arcology.<<set _tradeChange -= 1>>
+<</if>>
+
+<<if $weapManu == 1>>
+	The weapons manufacturing facility of the arcology attracts a significant amount of trade.
+	<<set _tradeChange += 0.5 * ($weapProductivity + $weapLab)>>
+<</if>>
+<<if $transportHub == 1>>
+	<<if $airport == 1>>
+		The arcology's airport, while small, helps facilitate the commercial development of the arcology.<<set _tradeChange += 1>>
+	<<elseif $airport == 2>>
+		The arcology's airport, while fairly small, helps facilitate the commercial development of the arcology.<<set _tradeChange += 1.5>>
+	<<elseif $airport == 3>>
+		The arcology's airport helps facilitate the commercial development of the arcology.<<set _tradeChange += 2>>
+	<<elseif $airport == 4>>
+		The arcology's airport is a great boon to the commercial development of the arcology.<<set _tradeChange += 2.5>>
+	<<else>>
+		The arcology's airport is an incredible boon to the commercial development of the arcology.<<set _tradeChange += 3>>
+	<</if>>
+
+	<<if $terrain != "oceanic" || $terrain != "marine">>
+		<<if $railway == 1>>
+			The railway network's age and limited extension limit commercial activity.
+		<<elseif $railway == 2>>
+			The railway network is a great help to the commercial development of the arcology, but its limited extension hampers its potential.<<set _tradeChange += 1>>
+		<<elseif $railway == 3>>
+			The railway network is a great help to the commercial development of the arcology.<<set _tradeChange += 1.5>>
+		<<else>>
+			The railway network is a huge help to the commercial development of the arcology. Few in the world can boast such a modern and efficient transport system.<<set _tradeChange += 2>>
+		<</if>>
+	<<else>>
+		<<if $docks == 1>>
+			The docks' age and limited size limit commercial activity.
+		<<elseif $docks == 2>>
+			The docks are a great help to the commercial development of the arcology, but their limited size hampers its potential.<<set _tradeChange += 1>>
+		<<elseif $docks == 3>>
+			The docks are a great help to the commercial development of the arcology.<<set _tradeChange += 1.5>>
+		<<else>>
+			The docks are a huge help to the commercial development of the arcology. Few in the world can boast such a modern and efficient transport system.<<set _tradeChange += 2>>
+		<</if>>
+	<</if>>
+<</if>>
+	
+<<if _tradeChange > 0>>
+	This week @@.green;trade improved this week.@@
+<<elseif _tradeChange == 0>>
+	This week @@.yellow;trade did not change.@@
+<<else>>
+	This week @@.red;trade diminished.@@
+<</if>>
+
+<<if $trade <= 20>>
+	The almost non-existent trade crossing the arcology @@.yellow;does little to promote growth@@.
+<<elseif $trade <= 40>>
+	The low level of trade crossing the arcology promotes a @@.green;slow yet steady growth@@ of its economy.
+	<<set _AWeekGrowth += 1.5>>
+<<elseif $trade <= 60>>
+	With trade at positive levels, the @@.green;prosperity of the arcology grows more powerful@@.
+	<<set _AWeekGrowth += 2.5>>
+<<elseif $trade <= 80>>
+	With trade at high levels, the @@.green;prosperity of the arcology grows quickly and violently@@.
+	<<set _AWeekGrowth += 3.5>>
+<<else>>
+	With trade at extremely high levels, the @@.green;prosperity of the arcology grows with unprecedented speed@@.
+	<<set _AWeekGrowth += 4.5>>
+<</if>>
+
+<<set $trade = Math.clamp($trade + _tradeChange,0,100)>>
\ No newline at end of file
diff --git a/src/SecExp/transportHub.tw b/src/SecExp/transportHub.tw
index 9bd15a8f1ec58c96eaab1a0130a7d206bdb99c7a..a96aaa4d870da36d62d155bc7fc400488faedf00 100644
--- a/src/SecExp/transportHub.tw
+++ b/src/SecExp/transportHub.tw
@@ -4,9 +4,9 @@
 
 <strong>The transport hub</strong>
 <hr>
-
+You quickly reach the transport hub, here a continuos stream of vehicles, people and goods. Part of the structure is dedicated to air travel and the other is mainly occupied by <<if $terrain != "oceanic" || $terrain != "marine">>the rail station<<else>> the docks.<</if>>
 <<if $airport == 1>>
-	The arcology's airport is relatively small underequipped. It can handle some traffic, but nothing noteworthy.
+	The arcology's airport is relatively small and underequipped. It can handle some traffic, but nothing noteworthy.
 <<elseif $airport == 2>>
 	The arcology's airport is relatively small, but well equipped. It can handle some traffic, but nothing too serious.
 <<elseif $airport == 3>>
@@ -18,31 +18,165 @@
 <</if>>
 
 <<if $terrain != "oceanic" || $terrain != "marine">>
-	<br>
 	<<if $railway == 1>>
 		The railway network is old and limited. It can handle some traffic, but not sustain commercial activity.
 	<<elseif $railway == 2>>
 		The railway network is modern and efficient, but limited in reach. It can handle some traffic, but not sustain commercial activity of significant size.
-	<<elseif $railway == 2>>
+	<<elseif $railway == 3>>
 		The railway network is modern, efficient and expansive. It can handle a significant amount of traffic.
 	<<else>>
 		The railway network is high tech and very far reaching. It can handle an enormous amount of traffic.
 	<</if>>
 <<else>>
-	<br>
 	<<if $docks == 1>>
-
+		The docks are old and small. They can handle some traffic, but not sustain commercial activity.
 	<<elseif $docks == 2>>
+		The docks are modern and efficient, but limited in size. They can handle some traffic, but not sustain commercial activity of significant size.
+	<<elseif $docks == 3>>
+		The docks are modern, efficient and expansive. They can handle a significant amount of traffic.
+	<<else>>
+		The docks are huge in size and high tech. They can handle an enormous amount of traffic.
+	<</if>>
+<</if>>
 
-	<<elseif $docks == 2>>
+<<if $hubSecurity == 1>>
+	The security of the hub is limited to a few cameras and the occasional guard.
+<<elseif $hubSecurity == 2>>
+	The security of the hub is guaranteed by a powerful camera surveillance system.
+<<elseif $hubSecurity == 3>>
+	The security of the hub is guaranteed by a powerful camera surveillance system and a rapid response team constantly patrolling the structure.
+<<else>>
+	The security of the hub is guaranteed by a powerful camera surveillance system, a rapid response team constantly patrolling the building and additional security drones making the rounds around the exterior.
+<</if>>
 
-	<<else>>
+<br>
+<br>
 
-	<</if>>
+<<if $trade <= 20>>
+	Trade is almost non-existent. Outside the supplies for the arcology's domestic consumption little else crosses the territory of the free city.
+<<elseif $trade <= 40>>
+	Trade is low. There's some commercial activity outside the supplies for the arcology's domestic consumption that crosses the territory of the free city.
+<<elseif $trade <= 60>>
+	Trade is at positive levels. There's a good amount commercial activity outside the supplies for the arcology's domestic consumption.
+<<elseif $trade <= 80>>
+	Trade is at high levels. There's a lot of commercial activity outside the supplies for the arcology's domestic consumption.
+<<else>>
+	Trade is at extremely high levels. There's a constant stream of commercial activity crossing the arcology.
 <</if>>
 
+<br>
 /* airport */
-
+<<if $airport == 1>>
+	<br>
+	<<link "Modernize the airport">>
+		<<set $cash -= 5000>>
+		<<set $airport++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤5000 and will increase trade, but will affect security//
+<<elseif $airport == 2>>
+	<br>
+	<<link "Enlarge the airport">>
+		<<set $cash -= 15000>>
+		<<set $airport++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤15000 and will increase trade, but will affect security//
+<<elseif $airport == 3>>
+	<br>
+	<<link "Further modernize the airport">>
+		<<set $cash -= 45000>>
+		<<set $airport++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤45000 and will increase trade, but will affect security//
+<<elseif $airport == 4>>
+	<br>
+	<<link "Further enlarge the airport">>
+		<<set $cash -= 85000>>
+		<<set $airport++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤85000 and will increase trade, but will affect security//
+<<else>>
+	<br>
+	The airport is fully upgraded.
+<</if>>
+<br>
 /* trainyard/dockyard */
-
-/* security */
\ No newline at end of file
+<<if $terrain != "oceanic" || $terrain != "marine">>
+	<<if $railway == 1>>
+		<br>
+		<<link "Modernize the railway">>
+			<<set $cash -= 10000>>
+			<<set $railway++>>
+			<<goto "transportHub">>
+		<</link>> //Will cost ¤10000, will increase trade and slightly lower arcology's upkeep, but will affect security//
+	<<elseif $railway == 2>>
+		<br>
+		<<link "Enlarge the railway">>
+			<<set $cash -= 25000>>
+			<<set $railway++>>
+			<<goto "transportHub">>
+		<</link>> //Will cost ¤25000, will increase trade and slightly lower arcology's upkeep, but will affect security//
+	<<elseif $railway == 3>>
+		<br>
+		<<link "Further modernize and enlarge the railway">>
+			<<set $cash -= 65000>>
+			<<set $railway++>>
+			<<goto "transportHub">>
+		<</link>> //Will cost ¤65000, will increase trade and slightly lower arcology's upkeep, but will affect security//
+	<<else>>
+		<br>
+		The railway is fully upgraded.
+	<</if>>
+<<else>>
+	<<if $docks == 1>>
+		<br>
+		<<link "Modernize the docks">>
+			<<set $cash -= 10000>>
+			<<set $docks++>>
+			<<goto "transportHub">>
+		<</link>> //Will cost ¤10000, will increase trade and slightly lower arcology's upkeep, but will affect security//
+	<<elseif $docks == 2>>
+		<br>
+		<<link "Enlarge the docks">>
+			<<set $cash -= 25000>>
+			<<set $docks++>>
+			<<goto "transportHub">>
+		<</link>> //Will cost ¤25000, will increase trade and slightly lower arcology's upkeep, but will affect security//
+	<<elseif $docks == 3>>
+		<br>
+		<<link "Further modernize and enlarge the docks">>
+			<<set $cash -= 65000>>
+			<<set $docks++>>
+			<<goto "transportHub">>
+		<</link>> //Will cost ¤65000, will increase trade and slightly lower arcology's upkeep, but will affect security//
+	<<else>>
+		<br>
+		The docks are fully upgraded.
+	<</if>>
+<</if>>
+<br>
+/* security */
+<<if $hubSecurity == 1>>
+	<br>
+	<<link "Expand and modernize the surveillance system">>
+		<<set $cash -= 15000>>
+		<<set $hubSecurity++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤15000 and will increase trade, but will affect security//
+<<elseif $hubSecurity == 2>>
+	<br>
+	<<link "Establish a rapid response team">>
+		<<set $cash -= 35000>>
+		<<set $hubSecurity++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤35000 and will increase trade, but will affect security//
+<<elseif $hubSecurity == 3>>
+	<br>
+	<<link "Add additional security drones to the structure">>
+		<<set $cash -= 55000>>
+		<<set $hubSecurity++>>
+		<<goto "transportHub">>
+	<</link>> //Will cost ¤55000 and will increase trade, but will affect security//
+<<else>>
+	<br>
+	The hub security is fully upgraded
+<</if>>
\ No newline at end of file
diff --git a/src/SecExp/unitsRebellionReport.tw b/src/SecExp/unitsRebellionReport.tw
index 9a33ac7851b95b7cfde7b87afb47f1dfe846229a..3dd58999e194d1ea1a3bab5fc3b4185520812c1a 100644
--- a/src/SecExp/unitsRebellionReport.tw
+++ b/src/SecExp/unitsRebellionReport.tw
@@ -14,7 +14,7 @@
 		Your squadron of security drones participated in the battle, dominating the airspace and providing vital intelligence to the rest of the army.
 		During the battle they suffered no casualties.
 	<</if>>
-	<<if $SFIntervention == 1>>
+	<<if $securityForceCreate == 1>>
 		<<print $securityForcePersonnel>> soldiers from the $securityForceName joined the battle aboard their<<if $securityForceVehiclePower >= 4>>armored<</if>>vehicles<<if $securityForceAC130 > 0>>and their AC130<</if>>.
 		They brought their unmatched strength to crush those that would want you deposed.
 		During the battle they suffered no casualties.
diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw
index 56530eb95f7e0b955666db6ffa1dd2fc2e18584d..81980612f3faa8b41bc4856e68452dc0fd482e21 100644
--- a/src/SecExp/weaponsManufacturing.tw
+++ b/src/SecExp/weaponsManufacturing.tw
@@ -56,7 +56,7 @@ You own $helots free menial slaves. This manufacturing complex can house 500 at
 			<<goto "weaponsManufacturing">>
 		<</link>>
 	<</if>>
-	<<if $helots >= 10>>
+	<<if $helots >= 10 && $weapHelots <= 490>>
 		|
 		<<link "Transfer 10 menial slaves">>
 			<<set $helots -= 10>>
@@ -64,11 +64,16 @@ You own $helots free menial slaves. This manufacturing complex can house 500 at
 			<<goto "weaponsManufacturing">>
 		<</link>>
 	<</if>>
-	<<if $helots > 0 && $helots < 500>>
+	<<if $helots > 0>>
 		|
 		<<link "Transfer all free menial slaves">>
-			<<set $weapHelots += $helots>>
-			<<set $helots = 0>>
+			<<if $helots > 500 - $weapHelots>>
+				<<set $helots -= $weapHelots>>
+				<<set $weapHelots = 500>>
+			<<else>>
+				<<set $weapHelots += $helots>>
+				<<set $helots = 0>>
+			<</if>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
 	<</if>>
@@ -186,7 +191,7 @@ __Upgrades__:
 			<<set $cash -= 10000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤10000 and will increase the base "attack" value of the security drones.//
+		<br>//Will take _time weeks, cost ¤10000 and will increase the base attack value of the security drones.//
 	<<elseif $weapLab >= 2 && $secBotsBaseDefense == 3>>
 		<<link "Develop adaptive armored frames">>
 			<<set $currentUpgrade = {
@@ -198,7 +203,7 @@ __Upgrades__:
 			<<set $cash -= 10000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤10000 and will increase the base "defense" value of the security drones.//
+		<br>//Will take _time weeks, cost ¤10000 and will increase the base defense value of the security drones.//
 	<<elseif $weapLab >= 3 && $secBotsBaseHp <= 3>>
 		<br>
 		<<link "Develop advanced synthetic alloys">>
@@ -212,7 +217,7 @@ __Upgrades__:
 			<<set $cash -= 30000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤30000 and will increase the base "hp" value of the security drones.//
+		<br>//Will take _time weeks, cost ¤30000 and will increase the base hp value of the security drones.//
 	<<elseif $secBotsBaseDefense <= 3 || $secBotsBaseHp <= 3>>
 		Upgrade the research facility further to unlock more upgrades for the security drones.
 	<<else>>
@@ -231,7 +236,7 @@ __Upgrades__:
 			<<set $cash -= 30000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤30000 and will increase the base "attack" value of all human troops.//
+		<br>//Will take _time weeks, cost ¤30000 and will increase the base attack value of all human troops.//
 		<br>
 		<<link "Develop ceramo-metallic alloys">>
 			<<set $currentUpgrade = {
@@ -243,8 +248,8 @@ __Upgrades__:
 			<<set $cash -= 30000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤30000 and will increase the base "defense" value of all human troops.//
-	<<elseif $humanUpgrades <= 4 && $weapLab == 2>>
+		<br>//Will take _time weeks, cost ¤30000 and will increase the base defense value of all human troops.//
+	<<elseif $humanUpgrades <= 4 && $weapLab >= 2>>
 		<br>
 		<<link "Develop rapid action stimulants">>
 			<<set $currentUpgrade = {
@@ -256,7 +261,7 @@ __Upgrades__:
 			<<set $cash -= 60000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤60000 and will increase the base "hp" value of all human troops.//
+		<br>//Will take _time weeks, cost ¤60000 and will increase the base hp value of all human troops.//
 		<br>
 		<<link "Develop fast response neural stimulant">>
 			<<set $currentUpgrade = {
@@ -271,7 +276,7 @@ __Upgrades__:
 		<br>//Will take _time weeks, cost ¤60000 and will increase the base morale value of all human troops.//
 	<<elseif $humanUpgrades <= 4>>
 		Upgrade the research facility further to unlock more upgrades for human troops.
-	<<elseif $humanUpgrades <= 6 && $weapLab == 3>>
+	<<elseif $humanUpgrades <= 6 && $weapLab >= 3>>
 		<<link "Develop universal cyber enhancements">>
 			<<set $currentUpgrade = {
 				name: "universal cyber enhancements",
@@ -282,7 +287,7 @@ __Upgrades__:
 			<<set $cash -= 120000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤120000 and will increase the base "attack" and "defense" value of all human troops.//
+		<br>//Will take _time weeks, cost ¤120000 and will increase the base attack and "defense" value of all human troops.//
 		<br>
 		<<link "Develop remote neural links">>
 			<<set $currentUpgrade = {
@@ -294,7 +299,7 @@ __Upgrades__:
 			<<set $cash -= 120000>>
 			<<goto "weaponsManufacturing">>
 		<</link>>
-		<br>//Will take _time weeks, cost ¤120000 and will increase the base "hp" and morale value of all human troops.//
+		<br>//Will take _time weeks, cost ¤120000 and will increase the base hp and morale value of all human troops.//
 	<<elseif $humanUpgrades <= 6>>
 		Upgrade the research facility further to unlock more upgrades for human troops.
 	<<else>>
diff --git a/src/SecExp/widgets/miscSecExpWidgets.tw b/src/SecExp/widgets/miscSecExpWidgets.tw
index 81357180eaf8348a029ff29d4e8015821f452fe0..5f74da28f1194b585da1085939dd976cd966ad3a 100644
--- a/src/SecExp/widgets/miscSecExpWidgets.tw
+++ b/src/SecExp/widgets/miscSecExpWidgets.tw
@@ -1,5 +1,22 @@
 :: miscSecExpWidgets [widget nobr]
 
+
+<<widget "calcInitialTrade">>
+	<<set _initialTrade = random(30,50)>>
+	<<if $terrain == "urban">>
+		<<set _initialTrade += random(10)>>
+	<</if>>
+	<<if $terrain == "ravine">>
+		<<set _initialTrade -= random(5)>>
+	<</if>>
+	<<if $PC.career == "wealth" || $PC.career == "capitalist" || $PC.career == "celebrity">>
+		<<set _initialTrade += random(5)>>
+	<<elseif $PC.career == "escort" || $PC.career == "servant" || $PC.career == "gang">>
+		<<set _initialTrade -= random(5)>>
+	<</if>>
+	<<set $trade = _initialTrade>>
+<</widget>>
+
 <<widget "recalcManpower">>
 	<<if $wasToggledBefore == 0>>
 		<<if $mercenaries == 1>>
@@ -198,6 +215,10 @@
 		<<set _newUpkeep += 1000>>
 	<</if>>
 	
+	<<if $tradeLegalAid == 1>>
+		<<set _newUpkeep += 1000>>
+	<</if>>
+	
 	<<set $edictsUpkeep = _newUpkeep>>
 	<<set $edictsAuthUpkeep = _newAuthUpkeep>>
 <</widget>>
diff --git a/src/facilities/brothel/brothelAssignmentScene.tw b/src/facilities/brothel/brothelAssignmentScene.tw
index a1c11bee8315a48f8cc99df75c6eb44bce6cddad..e8819626d6195aa2d790b43e876a9ea88a4305d8 100644
--- a/src/facilities/brothel/brothelAssignmentScene.tw
+++ b/src/facilities/brothel/brothelAssignmentScene.tw
@@ -43,7 +43,7 @@ You tell her she's to report to <<if $Madam != 0>>$Madam.slaveName immediately,
 		<<if $activeSlave.attrXX > $activeSlave.attrXY>>
 			"there have to be ladie<<s>> who want to buttfuck a whore, right? At lea<<s>>t, I really hope there are."
 		<<else>>
-			"the other girl<<s>> tell me that whore<<s>> there get fucked up the a<<ss>> all day and all night. <<s>>ounds like fun to me."
+			"the other girl<<s>> tell me that whore<<s>> there get fucked up the a<<ss>> all day and all night. <<S>>ounds like fun to me."
 		<</if>>
 	<<case "boobs">>
 		I mean," and she sticks out her chest a little,
diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw
index e55ede62243e3b7c2f97f6e2690fd15c095a4541..034ff72a8bfa455fcb35e96a79cc1562a63630e3 100644
--- a/src/js/economyJS.tw
+++ b/src/js/economyJS.tw
@@ -284,6 +284,15 @@ window.getCost = function(array) {
 		}
 	}
 
+	if(State.variables.secExp == 1) {
+		if(State.variables.terrain === 'oceanic' || State.variables.terrain === 'marine') {
+			if(State.variables.docks > 0) {
+				costs *= (1 - State.variables.docks * 0.05);
+			}
+		} else if(State.variables.railway > 0) {
+			costs *= (1 - State.variables.railway * 0.05);
+		}
+	}
 	
 	// clean up
 	if(costs < 0) {
diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 0440eda8d8e22cd79d9fa8a1f3eeecc5a4860fbb..d02f0d9e964f9d22eaa673415b38ae85563d2808 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -155,6 +155,9 @@ Mousetrap.bind("shift+a", function () {
 Mousetrap.bind("shift+h", function () {
 	$("#story-caption #propHub a.macro-link").trigger("click");
 });
+Mousetrap.bind("shift+r", function () {
+	$("#story-caption #riotCenter a.macro-link").trigger("click");
+});
 /**
  * BoobGenerator namespace.
  */
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index b2db78f4c3b4878c8c54676f64c2ccc4f124c341..c65d4e93e7881427f91f6b64d5ecc8987addedc2 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -723,12 +723,6 @@
 <</if>>
 
 
-/* Sec Exp */
-<<if $secExp == 1>>
-<br><br>
-<<include "SecExpBackwardCompatibility">>
-<</if>>
-
 <<if ndef $arcologies[0].FSAztecRevivalist>>
 	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
 		<<set $arcologies[_bci].FSAztecRevivalist = "unset", $arcologies[_bci].FSAztecRevivalistDecoration = 0>>
@@ -2820,3 +2814,9 @@ Setting missing slave variables:
 <<HeroSlavesCleanup>>
 Done!
 
+
+/* Sec Exp */
+<<if $secExp == 1>>
+<br>
+<<include "SecExpBackwardCompatibility">>
+<</if>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 7ba60614955395a5e62f06fe14d3c6e0ab1a3c3c..f1c193f9a450fb44655f9bc350f2cf4dd27ac180 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -3430,7 +3430,7 @@ Eventually, her duties satisfactorily completed, she comes before your desk to b
 
 <<case "young PC age difference">>
 
-As another long week draws to a close, <<EventNameLink $activeSlave>> happens to walk past your office toward bed. There's nothing inherently abnormal about her actions, but you do notice as she steps past the doorway that an expression of worry and concern adorns her $activeSlave.skin face. When you call her into your office, her face visibly brightens up in an attempt to conceal her obvious distress as she comes before you. Notably, although she stands still and patiently awaits further orders, you notice she <<if canSee($activeSlave)>>never manages to meet your eyes<<else>>keeps her sightless eyes downcast<</if>>.  When you ask her what's troubling her, her face plainly falls.
+As another long week draws to a close, <<EventNameLink $activeSlave>> happens to <<if $activeSlave.belly >= 10000>>waddle<<else>>walk<</if>> past your office toward bed. There's nothing inherently abnormal about her actions, but you do notice as she steps past the doorway that an expression of worry and concern adorns her $activeSlave.skin face. When you call her into your office, her face visibly brightens up in an attempt to conceal her obvious distress as she comes before you. Notably, although she stands still and patiently awaits further orders, you notice she <<if canSee($activeSlave)>>never manages to meet your eyes<<else>>keeps her sightless eyes downcast<</if>>. When you ask her what's troubling her, her face plainly falls.
 <br><br>
 <<if $PC.mother != $activeSlave.ID && $PC.father != $activeSlave.ID>>
 	"<<Master>>, you're <<s>>o young," she <<say>>s penitently before smiling shyly in an attempt to insert some levity into her confession. "It'<<s>> ju<<s>>t that I'm old enough to be your mother, <<Master>>. It'<<s>> a little weird, i<<s>>n't it?"
@@ -17730,40 +17730,101 @@ You tell her kindly that you understand, and that she'll be trained to address t
 <<link "Gently acclimate her to the age difference with some lovemaking">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	As you cross the breadth of your office to reach $activeSlave.slaveName, she presents herself for your sexual usage out of habit. However, you take her by surprise by drawing her into you arms, running the tips of your fingers through her $activeSlave.hColor hair, and looking into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>She meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years your senior she is<<else>>She seems to feel the intensity of your gaze despite her sightless eyes and blushes girlishly, as if forgetting how many years your senior she is<</if>> . In lieu of words, you lift her chin with a single beckoning finger and steal her breath from her lips with a firm kiss. Once she's recovered her wits she clings to you with almost animalistic attachment. After a few moments she moves to get down on her knees, clearly defaulting to her role as a sex slave in response to your unexpected intimacy. Instead, you <<if $activeSlave.preg > 20>>carefully <</if>>lift her up from her low position beneath you and carry her to bed, laying the flushed older woman down on the sheets before gently positioning yourself on top of her. Together, the two of you make fiercely intimate love, while you whisper romantic reassurances into her ear, nip at her neck,<<if $activeSlave.preg > 20>>stroke her pregnant belly,<</if>> and bring her to climax again and again. After a final frantic orgasm together in her pussy she <<if canSee($activeSlave)>>looks<<else>>gazes sightlessly<</if>> up at you with @@.hotpink;adoration@@ and a new @@.mediumaquamarine;trust@@ in her young <<Master>>.
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.trust += 4>>
-	<<set $activeSlave.vaginalCount += 1>>
-	<<set $vaginalTotal += 1>>
+	As you cross the breadth of your office to reach $activeSlave.slaveName, she presents herself for your sexual usage out of habit. However, you take her by surprise by drawing her into you arms, running the tips of your fingers through her $activeSlave.hColor hair, and looking into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>She meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years your senior she is<<else>>She seems to feel the intensity of your gaze despite her sightless eyes and blushes girlishly, as if forgetting how many years your senior she is<</if>> . In lieu of words, you lift her chin with a single beckoning finger and steal her breath from her lips with a firm kiss. Once she's recovered her wits she clings to you with almost animalistic attachment. After a few moments she moves to get down on her knees, clearly defaulting to her role as a sex slave in response to your unexpected intimacy. Instead, you
+	<<if $activeSlave.belly >= 300000>>
+		help her to her feet and guide her to bed, aiding the <<if $activeSlave.bellyPreg >= 3000>>child-laden<<else>>tremendously swollen<</if>> older woman onto the sheets before gently mounting her.
+	<<else>>
+		<<if $activeSlave.belly >= 5000>>carefully <</if>>lift her up from her low position beneath you and carry her to bed, laying the flushed older woman down on the sheets before gently positioning yourself on top of her.
+	<</if>>
+	Together, the two of you make fiercely intimate love, while you whisper romantic reassurances into her ear, nip at her neck,
+	<<if $activeSlave.bellyPreg >= 300000>>
+		run your hands across her squirming brood,
+	<<elseif $activeSlave.preg > 20>>
+		stroke her pregnant belly,
+	<<elseif $activeSlave.belly >= 5000>>
+		carress the curve of her _belly belly,
+	<</if>>
+	and bring her to climax again and again. After a final frantic orgasm together in her
+	<<if canDoVaginal($activeSlave)>>
+		pussy
+	<<else>>
+		anus
+	<</if>>
+	she <<if canSee($activeSlave)>>looks<<else>>gazes sightlessly<</if>> up at you with @@.hotpink;adoration@@ and a new @@.mediumaquamarine;trust@@ in her young <<WrittenMaster>>.
+	<<set $activeSlave.devotion += 4, $activeSlave.trust += 4>>
+	<<if canDoVaginal($activeSlave)>>
+		<<VaginalVCheck>>
+	<<else>>
+		<<AnalVCheck>>
+	<</if>>
 	<</replace>>
-<</link>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 <br><<link "Cruelly torment her about the age difference">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	As you close in on $activeSlave.slaveName predatorily, her face blanches with visible regret at her prior candidness. By the time you have her bent over your desk and begun spanking her <<if $activeSlave.butt > 6>>massive behind<<elseif $activeSlave.butt > 3>>bountiful bottom<<else>>cute ass<</if>>, she seems almost resigned to accept any of the standard punishments you've been known to dole out. When your lips lightly brush one of her ears, she flinches harder at the gentle touch than any of your harsh, disciplinary spanks. When you start whispering wicked reminders about her sexual submission and subservience to so young a <<Master>>, she begins to sob quietly against the hard surface of your desk. 
+	As you close in on $activeSlave.slaveName predatorily, her face blanches with visible regret at her prior candidness. By the time you have her bent over
+	<<if $activeSlave.belly >= 300000>>
+		her _belly belly
+	<<else>>
+		your desk
+	<</if>>
+	and begun spanking her
+	<<if $activeSlave.butt > 12>>
+		absurd ass,
+	<<elseif $activeSlave.butt > 6>>
+		massive behind,
+	<<elseif $activeSlave.butt > 3>>
+		bountiful bottom,
+	<<else>>
+		cute ass,
+	<</if>>
+	she seems almost resigned to accept any of the standard punishments you've been known to dole out. When your lips lightly brush one of her ears, she flinches harder at the gentle touch than any of your harsh, disciplinary spanks. When you start whispering wicked reminders about her sexual submission and subservience to so young a <<WrittenMaster>>, she begins to sob quietly
+	<<if $activeSlave.belly >= 300000>>
+		<<if $activeSlave.boobs > 600>>
+			into her breasts.
+		<<else>>
+			into her hands.
+		<</if>>
+	<<else>>
+		against the hard surface of your desk.
+	<</if>>
 	<br><br>
-	By the time you deign to <<if $PC.dick == 0>>don a strap-on and <</if>>mount her ass, she seems catatonic at the revelation that her body is owned by a cruel <<Master>>, nearly half her age. Even when you accompany each brutal thrust with a harsh spank and a harsher jab at the dearth in years between the two of you, she merely winces at the anal pain of your coupling. Judging by the empty look in her eyes that persists past her dismissal from your office, she might @@.gold;not feel any better@@ about the age difference but you've definitely @@.hotpink;fucked her into compliance@@.
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.trust -= 4>>
-	<<set $activeSlave.analCount += 1>>
-	<<set $analTotal += 1>>
+	By the time you deign to <<if $PC.dick == 0>>don a strap-on and <</if>>mount her ass, she seems catatonic at the revelation that her body is owned by a cruel <<WrittenMaster>>, nearly half her age. Even when you accompany each brutal thrust with a harsh spank and a harsher jab at the dearth in years between the two of you, she merely winces at the
+	<<if canDoVaginal($activeSlave)>>
+		force
+	<<else>>
+		anal pain
+	<</if>>
+	of your coupling. Judging by the empty look in her eyes that persists past her dismissal from your office, she might @@.gold;not feel any better@@ about the age difference but you've definitely @@.hotpink;fucked her into compliance@@.
+	<<set $activeSlave.devotion += 4, $activeSlave.trust -= 4>>
+	<<if canDoVaginal($activeSlave)>>
+		<<VaginalVCheck>>
+	<<else>>
+		<<AnalVCheck>>
+	<</if>>
 	<</replace>>
-<</link>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 <<if isFertile($activeSlave)>>
 <br><<link "Give her an afternoon off for some quality time with a local Frat House">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You direct $assistantName to clear $activeSlave.slaveName's schedule and to find a local Frat House willing to 'host' a woman of her age and experience. Perhaps a group of virile college boys running a train on $activeSlave.slaveName might accustom her to younger sexual partners. When $activeSlave.slaveName leaves the penthouse, she's dressed up to look like a frumpy Old World MILF and is clearly skeptical about your age-play therapy.
 	<br><br>
-	$activeSlave.slaveName returns to the penthouse naked, disheveled, and absolutely covered in a thick coating of drying cum. Despite her appearance, however, she is practically beaming with happiness. It seems young cock agrees with her, and by the state of her messy pussy her youthful partners particularly enjoyed filling her with their potent seed. Unsurprisingly, at a routine check up later that week, $activeSlave.slaveName joyfully discovers that she was impregnated during her Frat House excursion. It seems that being bred by a bunch of horny college boys has eliminated her prior worries about the importance of age and also caused her to @@.lightcoral;fetishize impregnation.@@ @@.hotpink;She has become more submissive to you@@ for giving her the means to broaden her sexual horizons.
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.preg = 1>>
+	$activeSlave.slaveName returns to the penthouse naked, disheveled, and absolutely covered in a thick coating of drying cum. Despite her appearance, however, she is practically beaming with happiness. It seems young cock agrees with her, and by the state of her
+	<<if $activeSlave.mpreg == 1>>
+		cum-drenched asshole
+	<<else>>
+		messy pussy
+	<</if>>
+	her youthful partners particularly enjoyed filling her with their potent seed. Unsurprisingly, at a routine check up later that week, $activeSlave.slaveName joyfully discovers that she was impregnated during her Frat House excursion. It seems that being bred by a bunch of horny college boys has eliminated her prior worries about the importance of age and also caused her to @@.lightcoral;fetishize impregnation.@@ @@.hotpink;She has become more submissive to you@@ for giving her the means to broaden her sexual horizons.
+	<<set $activeSlave.devotion += 4, $activeSlave.preg = 1, $activeSlave.pregWeek = 1, $activeSlave.pregKnown = 1>>
 	<<SetPregType $activeSlave>>
-	<<set $activeSlave.fetish = "pregnancy">>
-	<<set $activeSlave.fetishKnown = 1>>
-	<<set $activeSlave.fetishStrength = 5>>
-	<<set $activeSlave.vaginalCount += 10>>
-	<<set $vaginalTotal += 10>>
+	<<set $activeSlave.fetish = "pregnancy", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 5>>
+	<<if $activeSlave.mpreg == 1>>
+		<<AnalVCheck 10>>
+	<<else>>
+		<<VaginalVCheck 10>>
+	<</if>>
 	<</replace>>
 <</link>> //This option will render $activeSlave.slaveName pregnant//
 <</if>>
@@ -17773,40 +17834,142 @@ You tell her kindly that you understand, and that she'll be trained to address t
 <<link "Gently acclimate her to the age difference with some lovemaking">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	As you cross the breadth of your office to reach $activeSlave.slaveName, she presents herself for your sexual usage out of habit. However, you take her by surprise by drawing her into you arms, running the tips of your fingers through her $activeSlave.hColor hair,  and looking into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>She meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years her senior you are<<else>>She seems to feel the intensity of your gaze despite her sightless eyes and blushes girlishly, as if forgetting how many years her senior you are<</if>> . In lieu of words, you lift her chin with a single beckoning finger and steal her breath from her lips with a firm kiss. Once she's recovered her wits she clings to you with almost animalistic attachment. After a few moments she moves to get down on her knees, clearly defaulting to her role as a sex slave in response to your unexpected intimacy. Instead, you <<if canSee($activeSlave)>>looks<<else>>gazes sightlessly<</if>> up at you with @@.hotpink;adoration@@ and a new @@.mediumaquamarine;trust@@ in her aged <<Master>>.
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.trust += 4>>
-	<<set $activeSlave.vaginalCount += 1>>
-	<<set $vaginalTotal += 1>>
+	As you cross the breadth of your office to reach $activeSlave.slaveName, she presents herself for your sexual usage out of habit. However, you take her by surprise by drawing her into you arms, running the tips of your fingers through her $activeSlave.hColor hair,  and looking into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>She meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years her senior you are<<else>>She seems to feel the intensity of your gaze despite her sightless eyes and blushes girlishly, as if forgetting how many years her senior you are<</if>> . In lieu of words, you lift her chin with a single beckoning finger and steal her breath from her lips with a firm kiss. Once she's recovered her wits she clings to you with almost animalistic attachment. After a few moments she moves to get down on her knees, clearly defaulting to her role as a sex slave in response to your unexpected intimacy. 
+	Instead, you
+	<<if $activeSlave.belly >= 300000>>
+		help her to her feet and guide her to bed, aiding the
+		<<if $activeSlave.physicalAge <= 3>>
+			<<if $activeSlave.bellyPreg >= 3000>>
+				bursting at the seams with life
+			<<else>>
+				nearly circular
+			<</if>>
+			little girl
+		<<elseif $activeSlave.physicalAge < 13>>
+			<<if $activeSlave.bellyPreg >= 3000>>
+				poor overfilled and ready to pop
+			<<else>>
+				tremendously swollen
+			<</if>>
+			girl
+		<<elseif $activeSlave.physicalAge < 18>>
+			<<if $activeSlave.bellyPreg >= 3000>>
+				child-filled
+			<<else>>
+				tremendously swollen
+			<</if>>
+			teen
+		<<else>>
+			<<if $activeSlave.bellyPreg >= 3000>>
+				child-laden
+			<<else>>
+				tremendously swollen
+			<</if>>
+			young lady
+		<</if>>
+		onto the sheets before gently mounting her.
+	<<else>>
+		<<if $activeSlave.belly >= 5000>>carefully <</if>>lift her up from her low position beneath you and carry her to bed, laying the flushed
+		<<if $activeSlave.physicalAge <= 3>>
+			little girl
+		<<elseif $activeSlave.physicalAge < 13>>
+			girl
+		<<elseif $activeSlave.physicalAge < 18>>
+			teen
+		<<else>>
+			young lady
+		<</if>>
+		down on the sheets before gently positioning yourself on top of her.
+	<</if>>
+	Together, the two of you make fiercely intimate love, while you whisper romantic reassurances into her ear, nip at her neck,
+	<<if $activeSlave.bellyPreg >= 300000>>
+		run your hands across her squirming brood,
+	<<elseif $activeSlave.preg > 20>>
+		stroke her pregnant belly,
+	<<elseif $activeSlave.belly >= 5000>>
+		carress the curve of her _belly belly,
+	<</if>>
+	and bring her to climax again and again. After a final frantic orgasm together in her
+	<<if canDoVaginal($activeSlave)>>
+		pussy
+	<<else>>
+		anus
+	<</if>>
+	she <<if canSee($activeSlave)>>looks<<else>>gazes sightlessly<</if>> up at you with @@.hotpink;adoration@@ and a new @@.mediumaquamarine;trust@@ in her aged <<WrittenMaster>>.
+	<<set $activeSlave.devotion += 4, $activeSlave.trust += 4>>
+	<<if canDoVaginal($activeSlave)>>
+		<<VaginalVCheck>>
+	<<else>>
+		<<AnalVCheck>>
+	<</if>>
 	<</replace>>
-<</link>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 <br><<link "Cruelly torment her about the age difference">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	As you close in on $activeSlave.slaveName predatorily, her face blanches with visible regret at her prior candidness. By the time you have her bent over your desk and begun spanking her <<if $activeSlave.butt > 6>>massive behind<<elseif $activeSlave.butt > 3>>bountiful bottom<<else>>cute ass<</if>>, she seems almost resigned to accept any of the standard punishments you've been known to dole out. When your lips lightly brush one of her ears, she flinches harder at the gentle touch than any of your harsh, disciplinary spanks. When you start whispering wicked reminders about her sexual submission and subservience to so old a <<Master>>, she begins to sob quietly against the hard surface of your desk. 
+	As you close in on $activeSlave.slaveName predatorily, her face blanches with visible regret at her prior candidness. By the time you have her bent over
+	<<if $activeSlave.belly >= 300000>>
+		her _belly belly
+	<<else>>
+		your desk
+	<</if>>
+	and begun spanking her
+	<<if $activeSlave.butt > 12>>
+		absurd ass,
+	<<elseif $activeSlave.butt > 6>>
+		massive behind,
+	<<elseif $activeSlave.butt > 3>>
+		bountiful bottom,
+	<<else>>
+		cute ass,
+	<</if>>
+	she seems almost resigned to accept any of the standard punishments you've been known to dole out. When your lips lightly brush one of her ears, she flinches harder at the gentle touch than any of your harsh, disciplinary spanks. When you start whispering wicked reminders about her sexual submission and subservience to so old a <<WrittenMaster>>, she begins to sob quietly
+	<<if $activeSlave.belly >= 300000>>
+		<<if $activeSlave.boobs > 600>>
+			into her breasts.
+		<<else>>
+			into her hands.
+		<</if>>
+	<<else>>
+		against the hard surface of your desk.
+	<</if>>
 	<br><br>
-	By the time you deign to <<if $PC.dick == 0>>don a strap-on and <</if>>mount her ass, she seems catatonic at the revelation that her body is owned by so cruel an old <<Master>>. Even when you accompany each brutal thrust with a harsh spank and a harsh jab at the dearth in years between the two of you, she merely winces at the anal pain of your coupling. Judging by the empty look in her eyes that persists past her dismissal from your office, she might @@.gold;not feel any better@@ about the age difference but you've definitely @@.hotpink;fucked her into compliance@@.
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.trust -= 4>>
-	<<set $activeSlave.analCount += 1>>
-	<<set $analTotal += 1>>
+	By the time you deign to <<if $PC.dick == 0>>don a strap-on and <</if>>mount her ass, she seems catatonic at the revelation that her body is owned by so cruel an old <<Master>>. Even when you accompany each brutal thrust with a harsh spank and a harsh jab at the dearth in years between the two of you, she merely winces at the
+	<<if canDoVaginal($activeSlave)>>
+		force
+	<<else>>
+		anal pain
+	<</if>>
+	of your coupling. Judging by the empty look in her eyes that persists past her dismissal from your office, she might @@.gold;not feel any better@@ about the age difference but you've definitely @@.hotpink;fucked her into compliance@@.
+	<<set $activeSlave.devotion += 4, $activeSlave.trust -= 4>>
+	<<if canDoVaginal($activeSlave)>>
+		<<VaginalVCheck>>
+	<<else>>
+		<<AnalVCheck>>
+	<</if>>
 	<</replace>>
-<</link>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 <<if isFertile($activeSlave)>>
 <br><<link "Give her an afternoon off for some quality time with a local retirement community">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You direct $assistantName to clear $activeSlave.slaveName's schedule and to find a local retirement community willing to 'host' a girl of her age. Perhaps a group of venerable graybeards running a train on $activeSlave.slaveName might accustom her to older sexual partners. When $activeSlave.slaveName leaves the penthouse, she's dressed up to look like an Old World schoolgirl and is clearly skeptical about your age-play therapy.
 	<br><br>
-	$activeSlave.slaveName returns to the penthouse naked, disheveled, and absolutely covered in a thick coating of drying cum. Despite her appearance, however, she is practically beaming with happiness. It seems a good fucking from experienced older men agrees with her, and by the state of her messy pussy her aged partners particularly enjoyed filling her with their still potent seed. Unsurprisingly, at a routine check up later that week, $activeSlave.slaveName joyfully discovers that she was impregnated during her excursion. It seems that being bred by a bunch of horny old men has eliminated her prior worries about the importance of age and also caused her to @@.lightcoral;fetishize impregnation.@@ @@.hotpink;She has become more submissive to you@@ for giving her the means to broaden her sexual horizons.
-	<<set $activeSlave.devotion += 4>>
-	<<set $activeSlave.preg = 1>>
+	$activeSlave.slaveName returns to the penthouse naked, disheveled, and absolutely covered in a thick coating of drying cum. Despite her appearance, however, she is practically beaming with happiness. It seems a good fucking from experienced older men agrees with her, and by the state of her
+	<<if $activeSlave.mpreg == 1>>
+		cum-drenched asshole
+	<<else>>
+		messy pussy
+	<</if>>
+	her aged partners particularly enjoyed filling her with their still potent seed. Unsurprisingly, at a routine check up later that week, $activeSlave.slaveName joyfully discovers that she was impregnated during her excursion. It seems that being bred by a bunch of horny old men has eliminated her prior worries about the importance of age and also caused her to @@.lightcoral;fetishize impregnation.@@ @@.hotpink;She has become more submissive to you@@ for giving her the means to broaden her sexual horizons.
+	<<set $activeSlave.devotion += 4, $activeSlave.preg = 1, $activeSlave.pregWeek = 1, $activeSlave.pregKnown = 1>>
 	<<SetPregType $activeSlave>>
-	<<set $activeSlave.fetish = "pregnancy">>
-	<<set $activeSlave.fetishKnown = 1>>
-	<<set $activeSlave.fetishStrength = 5>>
-	<<set $activeSlave.vaginalCount += 10>>
-	<<set $vaginalTotal += 10>>
+	<<set $activeSlave.fetish = "pregnancy", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 5>>
+	<<if $activeSlave.mpreg == 1>>
+		<<AnalVCheck 10>>
+	<<else>>
+		<<VaginalVCheck 10>>
+	<</if>>
 	<</replace>>
 <</link>> //This option will render $activeSlave.slaveName pregnant//
 <</if>>
@@ -17818,20 +17981,50 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<replace "#result">>
 	You linger in the hallway a while with $activeSlave.slaveName and enjoy a brief but verbose discussion. It's clear she hasn't had the chance to engage in any meaningful conversations in a while, so she relishes the opportunity energetically.
 	<br><br>
-	Though the two of you only touch upon a handful of sophisticated topics, by the time you leave her to tend to other matters $activeSlave.slaveName is beaming happily as she continues on to her duties for the day. She @@.mediumaquamarine;trusts you more@@ for taking the time to engage with her intellectually.
+	Though the two of you only touch upon a handful of sophisticated topics, by the time you leave her to tend to other matters, $activeSlave.slaveName is beaming happily as she continues on to her duties for the day. She @@.mediumaquamarine;trusts you more@@ for taking the time to engage with her intellectually.
 	<<set $activeSlave.trust += 4>>
 	<</replace>>
 <</link>>
-<br><<link "Stimulate her mind and her ass">>
+<<if canDoAnal($activeSlave) || canDoVaginal($activeSlave)>>
+<br><<link "Stimulate her mind and body">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You find a comfortable seat to sit on <<if $PC.dick == 0>>,don a strap-on,<</if>>as she seats her <<if $activeSlave.butt < 2>>narrow <<elseif $activeSlave.butt < 5>>average <<elseif $activeSlave.butt < 8>>plump <<else>>impressive <</if>>ass on your <<if $PC.dick == 0>>strap-on<<else>>dick<</if>> and rides you. While your cock plumbs the depths of her butt, the two of you engage in a casual debate over a number of topics of sophistry.
+	You find a comfortable seat to sit on <<if $PC.dick == 0>>,don a strap-on,<</if>>as she seats her
+	<<if $activeSlave.butt < 2>>
+		narrow
+	<<elseif $activeSlave.butt < 5>>
+		average
+	<<elseif $activeSlave.butt < 8>>
+		plump
+	<<elseif $activeSlave.butt < 12>>
+		impressive
+	<<else>>
+		mind-blowing
+	<</if>>
+	ass on your <<if $PC.dick == 0>>strap-on<<else>>dick<</if>> and rides you. While your cock plumbs the depths of her
+	<<if canDoVaginal($activeSlave)>>
+		pussy,
+	<<else>>
+		butt,
+	<</if>>
+	the two of you engage in a casual debate over a number of topics of sophistry.
 	<br><br>
-	At the crux of one of her concluding arguments, the intense pleasure from the prolonged buttfucking pushes her over the edge into orgasm, robbing the thrust of her defense of any gravitas it once had. She doesn't seem to mind however, choosing to instead wrap up her remarks by @@.hotpink;blowing you a kiss.@@
+	At the crux of one of her concluding arguments, the intense pleasure from the prolonged
+	<<if canDoVaginal($activeSlave)>>
+		fucking
+	<<else>>
+		buttfucking
+	<</if>>
+	pushes her over the edge into orgasm, robbing the thrust of her defense of any gravitas it once had. She doesn't seem to mind however, choosing to instead wrap up her remarks by @@.hotpink;blowing you a kiss.@@
 	<<set $activeSlave.devotion += 4>>
-	<<AnalVCheck>>
+	<<if canDoVaginal($activeSlave)>>
+		<<VaginalVCheck>>
+	<<else>>
+		<<AnalVCheck>>
+	<</if>>
 	<</replace>>
-	<</link>><<if ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
+<</if>>
 <<if $arcologies[0].FSDegradationist !== "unset">>
 <br><<link "A public blowbang will show her what a Degradationist arcology thinks about 'educated' slaves">>
 	<<EventNameDelink $activeSlave>>
@@ -17840,10 +18033,8 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<br><br>
 	When you return later in the evening, it becomes abundantly clear that your citizenry taught $activeSlave.slaveName a harsh lesson about a slave's place in $arcologies[0].name. $activeSlave.slaveName has certainly @@.green;learned to keep any pretentious thoughts about her education in her head@@. She did, however, @@.red;have quite a rough time@@ sucking all those dicks<<if $activeSlave.oralSkill <= 30>>, though she did learn about sucking dick, so she can't claim enslavement isn't educational.<<set $skillIncrease = 10>><<OralSkillIncrease $activeSlave>><<else>>.<</if>> And last of all, you and $activeSlave.slaveName did make @@.green;quite a good impression@@ today, though for widely differing reasons.
 	<<set $activeSlave.health -= 10>>
-	<<set $seed = random(65,80)>>
-	<<set $activeSlave.oralCount += $seed>>
-	<<set $activeSlave.publicCount += $seed>>
-	<<set $oralTotal += $seed>>
+	<<set _blowBang = random(65,80)>>
+	<<set $activeSlave.oralCount += _blowBang, $activeSlave.publicCount += _blowBang, $oralTotal += _blowBang>>
 	<<set $rep += 100>>
 	<</replace>>
 <</link>>
@@ -17854,8 +18045,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	You tell her to take the day off for a trip to audit classes at $arcologies[0].name's most renowned Paternalist slave schools. $activeSlave.slaveName is shocked into a reverie by your words before running to wrap her arms around you in a tight hug. When she eventually untangles herself from you, she races off to get ready for her day of intellectualism while you direct $assistantName to make the necessary arrangements.
 	<br><br>
 	When $activeSlave.slaveName returns, she looks exhausted but happier than you've ever seen her. It seems she benefited greatly from $arcologies[0].name's Paternalist institutions, and has grown to @@.mediumaquamarine;trust you more@@ while also @@.hotpink;deepening her acceptance of slavery.@@
-	<<set $activeSlave.trust += 4>>
-	<<set $activeSlave.devotion += 4>>
+	<<set $activeSlave.trust += 4, $activeSlave.devotion += 4>>
 	<</replace>>
 <</link>>
 <</if>>
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index 3e9b963fafc034c2e3a19307d0ba1734ad21a73f..93ccf0595ee4b556e84ab2cc51bedbb13d950a5e 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -385,10 +385,24 @@ earning you @@.yellowgreen;¤_earnings.@@
 		Your unimpressive reputation relative to $arcologies[0].name's prosperity @@.yellow;slows business growth.@@
 		<<set _AWeekGrowth-->>
 	<</if>>
-	<<if $smilingManFate == 0>>
-		The ex-criminal known to the world as The Smiling Man puts her impressive skills to work, improving the financial situation of the arcology with ease.
-		<<set _AWeekGrowth++>>
-	<</if>>		
+	<<if $secExp == 1>>
+		<<if $trade <= 20>>
+			<<set _AWeekGrowth += 1>>
+		<<elseif $trade <= 40>>
+			<<set _AWeekGrowth += 2>>
+		<<elseif $trade <= 60>>
+			<<set _AWeekGrowth += 3>>
+		<<elseif $trade <= 80>>
+			<<set _AWeekGrowth += 4>>
+		<<else>>
+			<<set _AWeekGrowth += 5>>
+		<</if>>
+
+		<<if $smilingManFate == 0>>
+			The ex-criminal known to the world as The Smiling Man puts her impressive skills to work, improving the financial situation of the arcology with ease.
+			<<set _AWeekGrowth++>>
+		<</if>>
+	<</if>>
 	<<if $personalAttention == "business">>
 		<<if ($PC.trading >= 100) || ($PC.career == "arcology owner")>>
 			Your @@.springgreen;business focus and your experience@@ allow you to greatly assist in advancing the arcology's prosperity.
@@ -473,18 +487,23 @@ earning you @@.yellowgreen;¤_earnings.@@
 		Your slave market regulations slow the flow of chattel through the arcology.
 		<<set _AWeekGrowth-->>
 	<</if>>
-	<<if $terrain == "urban">>
-		Since your arcology is located in the heart of an urban area, its commerce is naturally vibrant.
-		<<set _AWeekGrowth++>>
-	<</if>>
-	<<if $terrain == "ravine">>
-		Since your arcology is located in the heart of a ravine, its commerce is hindered by a lack of accessability.
-		<<set _AWeekGrowth-->>
+	
+	<<if $secExp == 0>>
+		<<if $terrain == "urban">>
+			Since your arcology is located in the heart of an urban area, its commerce is naturally vibrant.
+			<<set _AWeekGrowth++>>
+		<</if>>
+		<<if $terrain == "ravine">>
+			Since your arcology is located in the heart of a ravine, its commerce is hindered by a lack of accessability.
+			<<set _AWeekGrowth-->>
+		<</if>>
 	<</if>>
+	
 	<<if def $arcologies[0].embargoTarget && $arcologies[0].embargoTarget != -1>>
 		The local economy is hurt by the double edged sword of your economic warfare.
 		<<set _AWeekGrowth -= $arcologies[0].embargo*2>>
 	<</if>>
+	
 	<<set $desc = []>>
 	<<set $descNeg = []>>
 	<<for $i = 1; $i < $arcologies.length; $i++>>
@@ -587,6 +606,13 @@ earning you @@.yellowgreen;¤_earnings.@@
 	<<set $arcologies[0].prosperity += _AWeekGrowth>>
 <</if>>
 
+<<if $secExp == 1>>
+	<br>
+	<br>
+	<<include "tradeReport">>
+<</if>>
+
+
 <<if $TSS.schoolPresent+$GRI.schoolPresent+$SCP.schoolPresent+$LDE.schoolPresent+$TGA.schoolPresent+$TFS.schoolPresent+$TCR.schoolPresent > 0>>
 <br>
 
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index cafe9a01731e2e139e0a4d8e2260dd37eed74ce4..d4f699dfdc789eb4053879c2e0d456a64d907c62 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -468,3 +468,14 @@
 	<br>Using your prior experience, you managed to lower your home's upkeep by <<if $personalAttention == "upkeep">><<if $PC.belly >= 5000>>20%<<else>>25%<</if>><<else>>10%<</if>>.
 <</if>>
 
+<<if $secExp == 1>>
+	<<if $terrain == "oceanic" || $terrain == "marine">>
+		<<if $docks > 0>>
+			<br>The infrastructure you've built eases the transportation and safe handling of the supplies required by the arcology. Upkeep is lowered by <<print $docks * 5>>%
+		<</if>>
+	<<else>>
+		<<if $railway > 0>>
+			<br>The infrastructure you've built eases the transportation and safe handling of the supplies required by the arcology. Upkeep is lowered by <<print $railway * 5>>%
+		<</if>>
+	<</if>>
+<</if>>
\ No newline at end of file
diff --git a/src/uncategorized/markets.tw b/src/uncategorized/markets.tw
index 4c723e8386113fb877c16baed176ccb33a7c09de..86ce91ea4b2191f17219418cf23ef718ca256733 100644
--- a/src/uncategorized/markets.tw
+++ b/src/uncategorized/markets.tw
@@ -19,15 +19,8 @@ This is an area of the concourse occupied by large stores and markets, many of w
 <</if>>
 
 <<if $secExp == 1 && $transportHub == 0>>
-	<<if $terrain == "oceanic" || $terrain == "marine">>
-		<<set _name = "dockyard">>
-	<<elseif $terrain == "urban" || $terrain == "ravine">>
-		<<set _name = "airport">>
-	<<else>>
-		<<set _name = "trainyard">>
-	<</if>>
 	<br>
-	[[Centralize and modernize the transport hub|Main][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $transportHub = 1, $sectors[$AS].type = "transportHub"]]
+	[[Centralize and modernize the transport hub|Main][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $transportHub = 1, $sectors[$AS].type = "transportHub", $docks = 1, $railway = 1, $airport = 1]]
 	//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//
 <</if>>
 
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index fbce0217897426c4375df402fdb351386f7412de..517d64537db38a86b4d8388fd30dbde2d3e6ed76 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -688,49 +688,55 @@ Routine upkeep of your demesne costs @@.yellow;¤$costs.@@
 
 <br>
 <br>
-
-<<if $weapManu == 1>>
-	The weapons manufactoring complex produces armaments
-	<<if $weapProductivity <= 2>>
-		at a steady pace.
-	<<else>>
-		with great efficiency.
-	<</if>>
-	<<set _income = 0>>
-	<<set _price = Math.trunc(Math.clamp(random(1,2) + ($arcologies[0].prosperity / 15) - ($week / 30), 2, 8))>>
-	<<set _factoryMod = Math.round(1 + ($weapProductivity + $weapLab) / 2 + ($weapHelots / 100))>>
-	<<if $sellTo.citizen == 1>>
-		<<if $weaponsLaw == 3>>
-			Your lax regulations regarding weapons allows your citizens to buy much of what you are capable of producing.
-			<<set _income += Math.round(($ACitizens * 0.1) * _price * _factoryMod)>>
-		<<elseif $weaponsLaw >= 1>>
-			Your policies allow your citizen to buy your weaponry and they buy much of what you are capable of producing.
-			<<set _income += Math.round((($ACitizens * 0.1) * _price * _factoryMod) / (3 - $weaponsLaw))>>
+<<if $secExp == 1>>
+	<<if $weapManu == 1>>
+		The weapons manufactoring complex produces armaments
+		<<if $weapProductivity <= 2>>
+			at a steady pace.
 		<<else>>
-			Your policies do allow your citizen to buy weaponry, meaning all your income will come from exports.
+			with great efficiency.
+		<</if>>
+		<<set _income = 0>>
+		<<set _price = Math.trunc(Math.clamp(random(1,2) + ($arcologies[0].prosperity / 15) - ($week / 30), 2, 8))>>
+		<<set _factoryMod = Math.round(1 + ($weapProductivity + $weapLab) / 2 + ($weapHelots / 100))>>
+		<<if $sellTo.citizen == 1>>
+			<<if $weaponsLaw == 3>>
+				Your lax regulations regarding weapons allows your citizens to buy much of what you are capable of producing.
+				<<set _income += Math.round(($ACitizens * 0.1) * _price * _factoryMod)>>
+			<<elseif $weaponsLaw >= 1>>
+				Your policies allow your citizen to buy your weaponry and they buy much of what you are capable of producing.
+				<<set _income += Math.round((($ACitizens * 0.1) * _price * _factoryMod) / (3 - $weaponsLaw))>>
+			<<else>>
+				Your policies do allow your citizen to buy weaponry, meaning all your income will come from exports.
+			<</if>>
+		<</if>>
+		<<if $sellTo.raiders == 1>>
+			Some weapons are sold to the various raider gangs infesting the wastelands.
+			<<set _income += Math.round($week / 3 * (_price / 2) * 10 * _factoryMod)>>
+		<</if>>
+		<<if $sellTo.oldWorld == 1>>
+			Part of our production is sold to some old world nations.
+			<<set _income += Math.round($week / 3 * _price * 10 * _factoryMod)>>
+		<</if>>
+		<<if $sellTo.raiders == 1>>
+			A share of our weapons production is sold to other free cities.
+			<<set _income += Math.round($week / 3 * _price * 10 * _factoryMod)>>
+		<</if>>
+		<<if $peacekeepers.strength >= 50>>
+			The peacekeeping force is always in need of new armaments and is happy to be supplied by their ally.
+			<<set _income += Math.round($peacekeepers.strength * _price * 10 * _factoryMod)>>
+		<</if>>
+		This week we made @@.yellowgreen;¤<<print _income>>@@
+		<<if !isInt(_income)>>
+			<br>@@.red;Error failed to calculate income@@
+		<<else>>
+			<<set $cash += _income>>
 		<</if>>
 	<</if>>
-	<<if $sellTo.raiders == 1>>
-		Some weapons are sold to the various raider gangs infesting the wastelands.
-		<<set _income += Math.round($week / 3 * (_price / 2) * 10 * _factoryMod)>>
-	<</if>>
-	<<if $sellTo.oldWorld == 1>>
-		Part of our production is sold to some old world nations.
-		<<set _income += Math.round($week / 3 * _price * 10 * _factoryMod)>>
-	<</if>>
-	<<if $sellTo.raiders == 1>>
-		A share of our weapons production is sold to other free cities.
-		<<set _income += Math.round($week / 3 * _price * 10 * _factoryMod)>>
-	<</if>>
-	<<if $peacekeepers.strength >= 50>>
-		The peacekeeping force is always in need of new armaments and is happy to be supplied by their ally.
-		<<set _income += Math.round($peacekeepers.strength * _price * 10 * _factoryMod)>>
-	<</if>>
-	This week we made @@.yellowgreen;¤<<print _income>>@@
-	<<if !isInt(_income)>>
-		<br>@@.red;Error failed to calculate income@@
-	<<else>>
-		<<set $cash += _income>>
+	
+	<<if $taxTrade == 1>>
+		Fees on transitioning goods this week made <<print $trade * 100>>
+		<<set $cash += $trade * 100>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw
index 1f5ba7cba3e868f67075427fd47fc167c2291475..eb016c1d64ef85a0829a724f92868e5efe4a62c7 100644
--- a/src/uncategorized/randomIndividualEvent.tw
+++ b/src/uncategorized/randomIndividualEvent.tw
@@ -174,10 +174,12 @@
 <<if ($eventSlave.intelligence > 1)>>
 <<if ($eventSlave.devotion > 50)>>
 <<if ($eventSlave.intelligenceImplant > 0)>>
+<<if $eventSlave.accent < 4>>
 	<<set $RESSevent.push("devoted educated slave")>>
 <</if>>
 <</if>>
 <</if>>
+<</if>>
 
 <<if ($eventSlave.entertainSkill >= 60) || ["an exotic dancer", "a dancer", "a house DJ", "a party girl", "an aspiring pop star"].includes($eventSlave.career)>>
 <<if ($eventSlave.health > 40)>>
@@ -657,8 +659,7 @@
 <<if ($eventSlave.devotion > 20)>>
 <<if ($eventSlave.trust > 20)>>
 <<if ($eventSlave.actualAge > 35)>>
-<<if ($eventSlave.anus > 0)>>
-<<if ($eventSlave.vagina > 0)>>
+<<if canDoAnal($eventSlave) || canDoVaginal($eventSlave)>>
 <<if ($PC.actualAge < 25)>>
 	<<set $RESSevent.push("young PC age difference")>>
 <</if>>
@@ -666,13 +667,11 @@
 <</if>>
 <</if>>
 <</if>>
-<</if>>
 
 <<if ($eventSlave.devotion > 20)>>
 <<if ($eventSlave.trust > 20)>>
 <<if ($eventSlave.actualAge < 22)>>
-<<if ($eventSlave.anus > 0)>>
-<<if ($eventSlave.vagina > 0)>>
+<<if canDoAnal($eventSlave) || canDoVaginal($eventSlave)>>
 <<if ($PC.actualAge >= 50)>>
 	<<set $RESSevent.push("old PC age difference")>>
 <</if>>
@@ -680,7 +679,6 @@
 <</if>>
 <</if>>
 <</if>>
-<</if>>
 
 <<if ($eventSlave.fetish == "humiliation") || ($eventSlave.energy > 95)>>
 <<if ($eventSlave.devotion <= 50)>>
diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw
index c1a58954e2a0a8c48691e1c7ea99586aa58b4726..b1c18be54fc6463f28efb7814d4dee2778664dd8 100644
--- a/src/uncategorized/reputation.tw
+++ b/src/uncategorized/reputation.tw
@@ -527,9 +527,8 @@ On formal occasions, you are announced as $PCTitle.
 		<</if>>
 	<<elseif $arcologies[0].FSDegradationist != "unset">>
 		The public @@.red;disapproves@@ of the way you're providing for $citizenOrphanageTotal of your slaves' children to be raised as citizens.
-		/* <<set _Magnitude = -$citizenOrphanageTotal>>
-		<<FSChange "Degradationist" _Magnitude>> */
-		<<FSChange "Degradationist" -$citizenOrphanageTotal>>
+		<<set _care = -$citizenOrphanageTotal>>
+		<<FSChange "Degradationist" _care>>
 		<<if $privateOrphanageTotal > 0>>Fortunately your raising slaves' children privately is not publicly known.<</if>>
 	<</if>>
 <<elseif $privateOrphanageTotal > 0>>