diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index ff9a3d4f0de0156575b06ecbb6a01e9b92a1be66..e751b197ed2d6c9ab47a12b0d14535575f39a80d 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -4,6 +4,7 @@
 <br>
 
 /* Sexual Satisfaction */
+<<set _overSupply = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>>
 
 <<if $arcologies[0].FSDegradationist !== "unset">>
 	<<if $arcadeDemandDegResult == 1>>
@@ -46,7 +47,11 @@
 <<elseif $sexDemandResult.lowerClass >= 950>>
 	Your lower class citizens are @@.green;delighted with the abundance of sexual services@@ inside your arcology.<br>
 <</if>>
-Lower class satisfaction is at <<print $sexDemandResult.lowerClass/10>>%, <<print $NPCMarketShare.lowerClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
+<<if $sexDemandResult.lowerClass > 1000>>
+	<<set _overSupply.lowerClass = $sexDemandResult.lowerClass - 1000,
+	$sexDemandResult.lowerClass = 1000>>
+<</if>>
+Lower class satisfaction is at <<print $sexDemandResult.lowerClass/10>>%<<if _overSupply.lowerClass > 0>> and the arcology provides <<print _overSupply.lowerClass/10>>% more sexual services than required which @@.red;drives prices down@@<</if>>, <<print $NPCMarketShare.lowerClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
 
 <<if $sexSupplyBarriers.lowerClass == 1>>
 	<<run cashX(1000, "policies")>>
@@ -89,7 +94,11 @@ Lower class satisfaction is at <<print $sexDemandResult.lowerClass/10>>%, <<prin
 <<elseif $sexDemandResult.middleClass >= 950>>
 	Your middle class citizens are @@.green;delighted with the abundance of sexual services@@ inside your arcology.<br>
 <</if>>
-Middle class satisfaction is at <<print $sexDemandResult.middleClass/10>>%, <<print $NPCMarketShare.middleClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
+<<if $sexDemandResult.middleClass > 1000>>
+	<<set _overSupply.middleClass = $sexDemandResult.middleClass - 1000,
+	$sexDemandResult.middleClass = 1000>>
+<</if>>
+Middle class satisfaction is at <<print $sexDemandResult.middleClass/10>>%<<if _overSupply.middleClass > 0>> and the arcology provides <<print _overSupply.middleClass/10>>% more sexual services than required which @@.red;drives prices down@@<</if>>, <<print $NPCMarketShare.middleClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
 
 <<if $sexSupplyBarriers.middleClass == 1>>
 	<<run cashX(1000, "policies")>>
@@ -132,7 +141,11 @@ Middle class satisfaction is at <<print $sexDemandResult.middleClass/10>>%, <<pr
 <<elseif $sexDemandResult.upperClass >= 950>>
 	Your upper class citizens are @@.green;delighted with the abundance of sexual services@@ inside your arcology.<br>
 <</if>>
-Upper class satisfaction is at <<print $sexDemandResult.upperClass/10>>%, <<print $NPCMarketShare.upperClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
+<<if $sexDemandResult.upperClass > 1000>>
+	<<set _overSupply.upperClass = $sexDemandResult.upperClass - 1000,
+	$sexDemandResult.upperClass = 1000>>
+<</if>>
+Upper class satisfaction is at <<print $sexDemandResult.upperClass/10>>%<<if _overSupply.upperClass > 0>> and the arcology provides <<print _overSupply.upperClass/10>>% more sexual services than required which @@.red;drives prices down@@<</if>>, <<print $NPCMarketShare.upperClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
 
 <<if $sexSupplyBarriers.upperClass == 1>>
 	<<run cashX(1000, "policies")>>
@@ -175,7 +188,11 @@ Upper class satisfaction is at <<print $sexDemandResult.upperClass/10>>%, <<prin
 <<elseif $sexDemandResult.topClass >= 950>>
 	Your arcology's millionaires are @@.green;delighted with the abundance of sexual services@@ inside your arcology.<br>
 <</if>>
-Millionaire satisfaction is at <<print $sexDemandResult.topClass/10>>%, <<print $NPCMarketShare.topClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
+<<if $sexDemandResult.topClass > 1000>>
+	<<set _overSupply.topClass = $sexDemandResult.topClass - 1000,
+	$sexDemandResult.topClass = 1000>>
+<</if>>
+Millionaire satisfaction is at <<print $sexDemandResult.topClass/10>>%<<if _overSupply.topClass > 0>> and the arcology provides <<print _overSupply.topClass/10>>% more sexual services than required which @@.red;drives prices down@@<</if>>, <<print $NPCMarketShare.topClass/10>>% of the market is serviced by other suppliers operating inside your arcology.<br>
 
 <<if $sexSupplyBarriers.topClass == 1>>
 	<<run cashX(1000, "policies")>>
@@ -198,8 +215,8 @@ More elite citizens require their own slaves and will cause the population of sl
 
 <<set $oldACitizens = $ACitizens,
 _FSScore = 0, /*FS progress for tourism*/
-_slaveDemandU = 1, /*Changes to upperclass slave demand*/
-_slaveDemandT = 1, /*Changes to topclass slave demand*/
+_slaveDemandU = 1, /*Changes to upperClass slave demand*/
+_slaveDemandT = 1, /*Changes to topClass slave demand*/
 _expirationFS = 0.005, /*changes to likelihood of slave death*/
 _slaveProductivity = 0.8, /*changes to slave productivity*/
 _lowerClass = 0, /*fixed amount of changes to lowerClass interest to move in*/
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 613c679aa22bcfd7ec6476496635c0f91ae0b41b..46728bde823ba58cae45a73650abc655ae2cb4e3 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -28,6 +28,7 @@ _upperClassSexDemand = Math.trunc($upperClass * $whoreBudget.upperClass),
 _upperClassSexDemandRef = Math.max(_upperClassSexDemand + Math.trunc(_visitorsSexDemand * 0.5), 1),
 _topClassSexDemand = Math.trunc($topClass * $whoreBudget.topClass),
 _topClassSexDemandRef = Math.max(_topClassSexDemand, 1),
+_arcadeSupply = {lowerClass: 0, middleClass: 0, upperClass: 0},
 $whorePriceAdjustment = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0},
 $NPCMarketShare = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0},
 $sexDemandResult = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0},
@@ -67,10 +68,12 @@ $slaveJobValues = slaveJobValues(_lowerClassSexDemandRef, _middleClassSexDemandR
 		<<else>>
 			<<set $arcadeDemandDegResult = 3>>
 		<</if>>
-		<<set _lowerClassSexDemand -= Math.trunc(1.15 * $slaveJobValues.arcade * (_lowerClassArcadeSexDemand / _arcadeDemandDeg)),
-		_middleClassSexDemand -= Math.trunc(1.15 * $slaveJobValues.arcade * (_middleClassArcadeSexDemand / _arcadeDemandDeg)),
-		_upperClassSexDemand -= Math.trunc(1.15 *$slaveJobValues.arcade * (_upperClassArcadeSexDemand / _arcadeDemandDeg)),
-		_visitorsSexDemand -= Math.trunc(1.15 * $slaveJobValues.arcade * (_visitorsArcadeSexDemand / _arcadeDemandDeg))>> /*There's a 15% satisfaction bonus from getting release in a societally approved way*/
+		<<set _arcadeSupply.lowerClass += Math.trunc(1.15 * $slaveJobValues.arcade * (_lowerClassArcadeSexDemand / _arcadeDemandDeg)),
+		_lowerClassSexDemand -= _arcadeSupply.lowerClass,
+		_arcadeSupply.middleClass += Math.trunc(1.15 * $slaveJobValues.arcade * ((_middleClassArcadeSexDemand + _visitorsArcadeSexDemand * 0.5) / _arcadeDemandDeg)),
+		_middleClassSexDemand -= _arcadeSupply.middleClass,
+		_upperClassSexDemand _arcadeSupply.upperClass += Math.trunc(1.15 * $slaveJobValues.arcade * ((_upperClassArcadeSexDemand + _visitorsArcadeSexDemand * 0.5) / _arcadeDemandDeg)),
+		_upperClassSexDemand -= _arcadeSupply.upperClass>> /*There's a 15% satisfaction bonus from getting release in a societally approved way*/
 	<<else>>
 		<<if $slaveJobValues.arcade >= _arcadeDemandDeg * 1.5>>
 			<<set $arcologies[0].FSDegradationist += 2,
@@ -79,10 +82,12 @@ $slaveJobValues = slaveJobValues(_lowerClassSexDemandRef, _middleClassSexDemandR
 		<<else>>
 			<<set $arcadeDemandDegResult = 5>>
 		<</if>>
-		<<set _lowerClassSexDemand -= Math.trunc(1.15 * _lowerClassArcadeSexDemand),
-		_middleClassSexDemand -= Math.trunc(1.15 * _middleClassArcadeSexDemand),
-		_upperClassSexDemand -= Math.trunc(1.15 * _upperClassArcadeSexDemand),
-		_visitorsSexDemand -= Math.trunc(1.15 * _visitorsArcadeSexDemand)>>
+		<<set _arcadeSupply.lowerClass += Math.trunc(1.15 * _lowerClassArcadeSexDemand),
+		_lowerClassSexDemand -= _arcadeSupply.lowerClass,
+		_arcadeSupply.middleClass += Math.trunc(1.15 * (_middleClassArcadeSexDemand + _visitorsArcadeSexDemand * 0.5)),
+		_middleClassSexDemand -= _arcadeSupply,
+		_arcadeSupply.upperClass += Math.trunc(1.15 * (_upperClassArcadeSexDemand + _visitorsArcadeSexDemand * 0.5)),
+		_upperClassSexDemand -= _arcadeSupply.upperClass>>
 	<</if>>
 <<else>>
 	<<set _arcadeDemandDeg = 0>>
@@ -215,10 +220,10 @@ $NPCMarketShare.topClass = Math.trunc(($NPCSexSupply.topClass * 1000) / _topClas
 <</if>>
 
 /*Sexual satisfaction effects*/
-<<set $sexDemandResult.lowerClass = Math.trunc(((_lowerClassSexDemandRef - _lowerClassSexDemand) * 1000) / _lowerClassSexDemandRef),
-$sexDemandResult.middleClass = Math.trunc(((_middleClassSexDemandRef - _middleClassSexDemand) * 1000) / _middleClassSexDemandRef),
-$sexDemandResult.upperClass = Math.trunc(((_upperClassSexDemandRef - _upperClassSexDemand) * 1000) / _upperClassSexDemandRef),
-$sexDemandResult.topClass = Math.trunc(((_topClassSexDemandRef - _topClassSexDemand) * 1000) / _topClassSexDemandRef)>>
+<<set $sexDemandResult.lowerClass = Math.trunc((($NPCSexSupply.lowerClass + $slaveJobValues.brothel.lowerClass + $slaveJobValues.club * $slaveJobValues.clubSP * _lowerClassClubRatio + $slaveJobValues.arcade + _arcadeSupply.lowerClass) * 1000) / _lowerClassSexDemandRef),
+$sexDemandResult.middleClass = Math.trunc((($NPCSexSupply.middleClass + $slaveJobValues.brothel.middleClass + $slaveJobValues.club * $slaveJobValues.clubSP * _middleClassClubRatio + _arcadeSupply.middleClass) * 1000) / _middleClassSexDemandRef),
+$sexDemandResult.upperClass = Math.trunc((($NPCSexSupply.upperClass + $slaveJobValues.brothel.upperClass + _arcadeSupply.upperClass) * 1000) / _upperClassSexDemandRef),
+$sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValues.brothel.topClass) * 1000) / _topClassSexDemandRef)>>
 <<if $sexDemandResult.lowerClass < 400>> /*You are providing < 40% of their desired amount of sex*/
 	<<if $week <= 30>>
 		<<set $classSatisfied.lowerClass = 0>>