diff --git a/src/endWeek/economics/arcmgmt.js b/src/endWeek/economics/arcmgmt.js
index d6d3555e5bf6a55d1a8a68ad938847ecd3c24921..5b8f713dc221d0a1dd34107c65d3bd40d35aa20c 100644
--- a/src/endWeek/economics/arcmgmt.js
+++ b/src/endWeek/economics/arcmgmt.js
@@ -90,10 +90,10 @@ globalThis.arcmgmt = function() {
 		}
 	}
 
-	el.append(supplyPoliciesReport("lower"));
-	el.append(supplyPoliciesReport("middle"));
-	el.append(supplyPoliciesReport("upper"));
-	el.append(supplyPoliciesReport("top"));
+	$(el).append(supplyPoliciesReport("lower"));
+	$(el).append(supplyPoliciesReport("middle"));
+	$(el).append(supplyPoliciesReport("upper"));
+	$(el).append(supplyPoliciesReport("top"));
 	// <br>
 
 	/* New Population
@@ -118,635 +118,12 @@ globalThis.arcmgmt = function() {
 		_topClassP = 1,
 		_enslaveChance = 0.2;
 
-	if (V.arcologies[0].FSSupremacist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSSupremacist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.05;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -0.004;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 2;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.004;
-		r.push(`Your racial policies are concentrating power in the hands of ${V.arcologies[0].FSSupremacistRace} people. /*perhaps too obvious to bother with printing?*/`);
-	}
-	if (V.arcologies[0].FSSubjugationist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSSubjugationist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.05;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -0.004;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 2;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.004;
-		r.push(`Your racial policies are stripping all power from the ${V.arcologies[0].FSSubjugationistRace} people. /*perhaps too obvious to bother with printing?*/`);
-	}
-	if (V.arcologies[0].FSGenderRadicalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSGenderRadicalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * 0.025;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * -40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * -0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20);
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * 0.002;
-		r.push(`Your radical views on gender are scaring away the more traditionally minded.`);
-	}
-	if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSGenderFundamentalist, 100);
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * 40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * -1;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * -0.002;
-		r.push(`Your traditional views on gender are comforting to many, unimaginative to some.`);
-	}
-	if (V.arcologies[0].FSPaternalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSPaternalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.05;
-		_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.15;
-		_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 0.02;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 0.004;
-		_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.1;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -2;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.002;
-		r.push(`Poor citizens can rely on their better-off peers in ${V.arcologies[0].name}.`);
-	}
-	if (V.arcologies[0].FSDegradationist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSDegradationist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.05;
-		_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.2;
-		_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.01;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -0.004;
-		_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.1;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 2;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.004;
-		r.push(`The arcology is a cutthroat place in which falling into slavery is very easy.`);
-	}
-	if (V.arcologies[0].FSIntellectualDependency !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSIntellectualDependency, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.03;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.04;
-		_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.05;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 20;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.002;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 10;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.003;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * -3;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * -0.020;
-		r.push(`It's always a party in ${V.arcologies[0].name}, giving it a strong appeal to those unable to host such an event.`);
-	}
-	if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSSlaveProfessionalism, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -0.1;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -0.125;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -20;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 2.7;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 0.001;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 0.001;
-		r.push(`The intelligent atmosphere of ${V.arcologies[0].name} makes it an attractive place for those with the brains to define their place in the world.`);
-	}
-	if (V.arcologies[0].FSBodyPurist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSBodyPurist, 100);
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * 40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * 0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -2.7;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.001;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.001;
-		r.push(`Body purist fashion standards comfort the poor as they stand out less from their more fortunate neighbors.`);
-	}
-	if (V.arcologies[0].FSTransformationFetishist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSTransformationFetishist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.025;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * -40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 2.7;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.001;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.001;
-		r.push(`The lower class fear the kind of transformations could be forced on them if they ever end up enslaved, whereas the rich enjoy wielding such power.`);
-	}
-	if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSYouthPreferentialist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.025;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.002;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * -8;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * -0.002;
-		r.push(`Preference for youth makes the young poor in your arcology feel appreciated despite their lack of wealth.`);
-	}
-	if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSMaturityPreferentialist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.025;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * -40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * -0.002;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 8;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.002;
-		r.push(`Preference for maturity makes the middle class of your arcology feel like their experience is finally properly appreciated.`);
-	}
-	if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSPetiteAdmiration, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPetiteAdmiration, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPetiteAdmiration, 100) / 20) * 0.025;
-	}
-	if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSStatuesqueGlorification, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSStatuesqueGlorification, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSStatuesqueGlorification, 100) / 20) * 0.025;
-	}
-	if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSSlimnessEnthusiast, 100);
-	}
-	if (V.arcologies[0].FSAssetExpansionist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSAssetExpansionist, 100);
-		if (V.arcologies[0].FSBodyPurist !== "unset") {
-			_expirationFS *= 1 + (Math.trunc(Math.min(V.arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.1));
-		} else {
-			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05;
-		}
-	}
-	if (V.arcologies[0].FSPastoralist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSPastoralist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.05;
-		if (V.arcologies[0].FSPaternalist !== "unset") {
-			_expirationFS *= 1 + (Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.1));
-		} else {
-			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.05;
-		}
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * -80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * -0.004;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 2.7;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.001;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.001;
-		r.push(`The pastoralization of ${V.arcologies[0].name} spurs a whole industry around human produce.`);
-	}
-	if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSPhysicalIdealist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.025;
-		_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.01;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * -40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 2.7;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.001;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.001;
-		r.push(`Fit slaves and citizens are more productive! However, your arcology's poor do not look forward to even more toil and sweat.`);
-	}
-	if (V.arcologies[0].FSChattelReligionist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSChattelReligionist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.025;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * -40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 2.7;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.001;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.001;
-		r.push(`Chattel Religionism helps some poor citizens see slavery as a spiritually pure fate.`);
-	}
-	if (V.arcologies[0].FSRomanRevivalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSRomanRevivalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 0.025;
-		_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * -0.1;
-		_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * -0.05;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 0.00;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20);
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * -0.002;
-		r.push(`Your citizens take pride in looking after each other.`);
-	}
-	if (V.arcologies[0].FSNeoImperialist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSNeoImperialist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.05;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.030;
-		_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -0.06;
-		_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -0.025;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -20;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -0.002;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.004;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.5;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.002;
-		r.push(`Your new Imperium creates a staunchly hierchical society, and while your elites and soldiers enjoy social prestige and luxury, the lower classes are often unhappy about being made to grovel.`);
-	}
-	if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSEgyptianRevivalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.025;
-		_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * -0.05;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20);
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * -0.002;
-		r.push(`Egyptian Revivalism is benevolent in some ways, and charity is common here.`);
-	}
-	if (V.arcologies[0].FSEdoRevivalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSEdoRevivalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEdoRevivalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEdoRevivalist, 100) / 20) * 0.025;
-	}
-	if (V.arcologies[0].FSArabianRevivalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSArabianRevivalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSArabianRevivalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSArabianRevivalist, 100) / 20) * 0.025;
-	}
-	if (V.arcologies[0].FSChineseRevivalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSChineseRevivalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChineseRevivalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChineseRevivalist, 100) / 20) * 0.025;
-	}
-	if (V.arcologies[0].FSAztecRevivalist !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSAztecRevivalist, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAztecRevivalist, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAztecRevivalist, 100) / 20) * 0.025;
-	}
-	if (V.arcologies[0].FSNull !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSNull, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.1;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.125;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 400;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 0.016;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 64;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 0.008;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -21.6;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.008;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -8;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.016;
-		r.push(`Your arcology's vibrant, open culture helps everyone succeed, preventing many struggling citizens from falling into slavery.`);
-	}
-	if (V.arcologies[0].FSRepopulationFocus !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSRepopulationFocus, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05;
-		_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -0.01;
-		if (V.arcologies[0].FSPaternalist !== "unset") {
-			_expirationFS *= 1 + (Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.1));
-		} else {
-			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05;
-		}
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.004;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -2;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -0.004;
-		r.push(`You've made repopulation a priority and the less fortunate hope all these new children will make their lives easier in the future, but the wealthy are wary.`);
-	}
-	if (V.arcologies[0].FSRestart !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSRestart, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.04;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.05;
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -80;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -0.004;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 2;
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.004;
-		r.push(`Highly restricted breeding pleases the powerful, but the less fortunate may seek reproductive freedom elsewhere.`);
-	}
-	if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
-		_FSScore += Math.min(V.arcologies[0].FSHedonisticDecadence, 100);
-		_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.02;
-		_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.025;
-		_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.01;
-		_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.1; /* too high?*/
-		_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 40;
-		_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.002;
-		_middleClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -16;
-		_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.002;
-		_upperClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -5.4;
-		_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.002;
-		_topClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20);
-		_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.002;
-		r.push(`Your citizens enjoy the pleasures of life to their fullest, but some prefer to earn these pleasures.`);
-	}
+	el.append(fsImpact());
+	el.append(policiesImpact());
 
-	/* policies*/
-	if (V.policies.retirement.menial2Citizen === 1) {
-		_slaveDemandU *= 0.8;
-		_slaveDemandT *= 0.75;
-		_slaveProductivity += 0.05;
-		_expirationFS *= 0.8;
-		_lowerClass += 200;
-		_lowerClassP *= 1.01;
-		_middleClass += 80;
-		_middleClassP *= 1.01;
-		_upperClass += -27;
-		_upperClassP *= 0.99;
-		_topClass += -5;
-		_topClassP *= 0.99;
-	}
-	if (V.policies.proRefugees === 1) {
-		_slaveDemandU *= 1.1;
-		_slaveDemandT *= 1.125;
-		r.push(`Some desperate people filtered into the arcology during the week: as owner, you were able to enslave a handful of them.`);
-	}
-	if (V.policies.immigrationCash === 1) {
-		_lowerClass += 200;
-		_lowerClassP *= 1.01;
-		_middleClass += 40;
-		_middleClassP *= 1.005;
-		_upperClass += -13.5;
-		_upperClassP *= 0.995;
-		_topClass += -5;
-		_topClass *= 0.99;
-		r.push(`The rent promotion for new immigrants brings new citizens to the arcology.`);
-	}
-	if (V.policies.immigrationRep === 1) {
-		_lowerClass += 200;
-		_lowerClassP *= 1.01;
-		_middleClass += 40;
-		_middleClassP *= 1.005;
-		_upperClass += -13.5;
-		_upperClassP *= 0.995;
-		_topClass += -5;
-		_topClass *= 0.99;
-		r.push(`Your welcome program for new citizens helps encourage wealthy people from the old world to immigrate, but <span class="red">annoys some longstanding citizens.</span>`);
-		repX(forceNeg(100), "policies");
-	}
-	if (V.policies.immigrationCash === -1) {
-		_lowerClass += -200;
-		_lowerClassP *= 0.99;
-		_middleClass += -40;
-		_middleClassP *= 0.995;
-		_upperClass += 13.5;
-		_upperClassP *= 1.005;
-		_topClass += 5;
-		_topClass *= 1.01;
-		r.push(`You covertly <span class="yellowgreen">sell</span> the private information of potential arcology immigrants on the old world black market.`);
-		cashX(random(500, 1500), "policies");
-	}
-	if (V.policies.immigrationRep === -1) {
-		_lowerClass += -200;
-		_lowerClassP *= 0.99;
-		_middleClass += -40;
-		_middleClassP *= 0.995;
-		_upperClass += 13.5;
-		_upperClassP *= 1.005;
-		_topClass += 5;
-		_topClass *= 1.01;
-		r.push(`You allow citizens input on potential immigrants, a <span class="green">popular</span> program.`);
-		repX(100, "policies");
-	}
-	if (V.policies.enslavementCash === 1) {
-		_slaveDemandU *= 1.1;
-		_slaveDemandT *= 1.125;
-		_lowerClass += -200;
-		_lowerClassP *= .99;
-		_topClass += 5;
-		_topClass *= 1.01;
-		r.push(`You <span class="yellowgreen">take kickbacks</span> for ignoring enslavement of citizens.`);
-		cashX(random(500, 1500), "policies");
-	}
-	if (V.policies.enslavementRep === 1) {
-		_slaveDemandU *= 1.1;
-		_slaveDemandT *= 1.125;
-		_lowerClass += -200;
-		_lowerClassP *= 0.99;
-		_topClass += 5;
-		_topClass *= 1.01;
-		r.push(`You <span class="green">make friends</span> by tacitly supporting enslavement of upstart citizens.`);
-		repX(100, "policies");
-	}
-	if (V.policies.enslavementCash === -1) {
-		_slaveDemandU *= 0.9;
-		_slaveDemandT *= 0.875;
-		_lowerClass += 200;
-		_lowerClassP *= 1.02;
-		_topClass += -5;
-		_topClass *= 0.98;
-		r.push(`Your charity purse prevents a few citizens from falling into slavery.`);
-	}
-	if (V.policies.enslavementRep === -1) {
-		_slaveDemandU *= 0.9;
-		_slaveDemandT *= 0.875;
-		_lowerClass += 200;
-		_lowerClassP *= 1.01;
-		_topClass += -5;
-		_topClass *= 0.99;
-		r.push(`You use your personal influence to help struggling citizens.`);
-		repX(forceNeg(100), "policies");
-	}
-	if (V.arcologies[0].FSSupremacistLawME === 1) {
-		_slaveDemandU *= 2.2;
-		_slaveDemandT *= 2.5;
-		_lowerClass += -400;
-		_lowerClassP *= 0.98;
-		_middleClass += -80;
-		_middleClassP *= 0.99;
-		_upperClass += 27;
-		_upperClassP *= 1.01;
-		_topClass += 10;
-		_topClassP *= 1.02;
-		if (V.FSSupLawTrigger === 1) {
-			_slavesSupLaw = 0;
-			_slavesSupLaw += Math.trunc((V.lowerClass + V.middleClass + V.upperClass) * 0.65);
-			V.NPCSlaves += Math.trunc(_slavesSupLaw * 0.7);
-			V.menials += Math.trunc(_slavesSupLaw * 0.2);
-			V.lowerClass = Math.trunc(V.lowerClass * 0.35);
-			V.middleClass = Math.trunc(V.middleClass * 0.35);
-			V.upperClass = Math.trunc(V.upperClass * 0.35);
-			V.FSSupLawTrigger = 2;
-		}
-	}
-	if (V.arcologies[0].FSSubjugationistLawME === 1) {
-		_slaveDemandU *= 1.24;
-		_slaveDemandT *= 1.3;
-		_lowerClass += -200;
-		_lowerClassP *= 0.99;
-		_middleClass += -40;
-		_middleClassP *= 0.995;
-		_upperClass += 13.5;
-		_upperClassP *= 1.005;
-		_topClass += 5;
-		_topClassP *= 1.01;
-		if (V.FSSubLawTrigger === 1) {
-			_slavesSubLaw = Math.trunc((V.lowerClass + V.middleClass + V.upperClass) * 0.2);
-			V.NPCSlaves += Math.trunc(_slavesSubLaw * 0.7);
-			V.menials += Math.trunc(_slavesSubLaw * 0.2);
-			V.lowerClass = Math.trunc(V.lowerClass * 0.8);
-			V.middleClass = Math.trunc(V.middleClass * 0.8);
-			V.upperClass = Math.trunc(V.upperClass * 0.8);
-			V.FSSubLawTrigger = 2;
-		}
-	}
-	if (V.arcologies[0].FSRepopulationFocusLaw === 1) {
-		_lowerClass += 100;
-		_lowerClassP *= 1.005;
-		_topClass += -2.5;
-		_topClassP *= 0.995;
-		r.push(`The rent promotion for pregnant women attracts several gravid ladies and a few girls eager to become mothers to enroll as citizens in your arcology.`);
-	}
-	if (V.arcologies[0].FSRestartLaw === 1) {
-		_lowerClass += -100;
-		_lowerClassP *= 0.99;
-		_topClass += 2.5;
-		_topClassP *= 1.01;
-		r.push(`Your sterilization program drives several disloyal citizens out of the arcology.`);
-	}
-	if (V.arcologies[0].FSHedonisticDecadenceLaw === 1) {
-		_middleClass += 80;
-		_middleClassP *= 1.01;
-	}
-	if (V.arcologies[0].FSDegradationistLaw === 1) {
-		_slaveProductivity += -0.05;
-	}
-	if (V.arcologies[0].FSPaternalistLaw === 1) {
-		_slaveDemandU *= 0.9;
-		_slaveDemandT *= 0.875;
-		_upperClass += -13.5;
-		_upperClassP *= 1.005;
-		_topClass += -2.5;
-		_topClassP *= 1.005;
-	}
-	if (V.arcologies[0].FSYouthPreferentialistLaw === 1) {
-		_lowerClass += 200;
-		_lowerClassP *= 1.01;
-		_middleClass += -80;
-		_middleClassP *= 0.99;
-	}
-	if (V.arcologies[0].FSMaturityPreferentialistLaw === 1) {
-		_lowerClass += -200;
-		_lowerClassP *= 0.99;
-		_middleClass += 80;
-		_middleClassP *= 1.01;
-	}
-	if (V.arcologies[0].FSPetiteAdmirationLaw === 1) {
-		_lowerClass += -200;
-		_lowerClassP *= 0.99;
-		_middleClass += 80;
-		_middleClassP *= 1.01;
-	}
-	if (V.arcologies[0].FSStatuesqueGlorificationLaw === 1) {
-		_lowerClass += -400;
-		_lowerClassP *= 0.95;
-		_middleClass += 40;
-		_middleClassP *= 1.01;
-		_upperClass += -10;
-		_upperClassP *= .99;
-	}
-	if (V.arcologies[0].FSIntellectualDependencyLaw === 1) {
-		_slaveDemandU *= 1.24;
-		_slaveDemandT *= 1.3;
-		_lowerClass += -50;
-		_lowerClassP *= 0.90;
-		_middleClass += -40;
-		_middleClassP *= 0.90;
-		_upperClass += -1;
-		_upperClassP *= .99;
-	}
-	if (V.arcologies[0].FSSlaveProfessionalismLaw === 1) {
-		_slaveDemandU *= 1.4;
-		_slaveDemandT *= 1.5;
-		_lowerClass += -300;
-		_lowerClassP *= 0.95;
-		_middleClass += -40;
-		_middleClassP *= 0.995;
-		_upperClass += -5;
-		_upperClassP *= .99;
-		_topClass += 7;
-		_topClassP *= 1.05;
-		if (V.FSSlaveProfLawTrigger === 1) {
-			V.lowerClass = Math.trunc(V.lowerClass * 0.8);
-			V.middleClass = Math.trunc(V.middleClass * 0.8);
-			V.upperClass = Math.trunc(V.upperClass * 0.8);
-			V.FSSlaveProfLawTrigger = 2;
-		}
-	}
-	if (V.arcologies[0].FSChattelReligionistCreed === 1) {
-		if (V.nicaea.focus === "slaves") {
-			_slaveDemandU *= 1 + V.nicaea.power * -0.05;
-			_slaveDemandT *= 1 + V.nicaea.power * -0.0625;
-			_slaveProductivity += V.nicaea.power * 0.025;
-			_expirationFS *= 1 + V.nicaea.power * -0.125;
-			_lowerClass += V.nicaea.power * 100;
-			_lowerClassP *= 1 + V.nicaea.power * 0.005;
-			_topClass += V.nicaea.power * -2.5;
-			_topClassP *= 1 + V.nicaea.power * -0.005;
-		} else if (V.nicaea.focus === "owners") {
-			_slaveDemandU *= 1 + V.nicaea.power * 0.05;
-			_slaveDemandT *= 1 + V.nicaea.power * 0.0625;
-			_lowerClass += V.nicaea.power * -100;
-			_lowerClassP *= 1 + V.nicaea.power * -0.005;
-			_middleClass += V.nicaea.power * -20;
-			_middleClassP *= 1 + V.nicaea.power * -0.0025;
-			_upperClass += V.nicaea.power * 6.75;
-			_upperClassP *= 1 + V.nicaea.power * 0.0025;
-			_topClass += V.nicaea.power * 2.5;
-			_topClassP *= 1 + V.nicaea.power * 0.005;
-		}
-		if (V.nicaea.assignment === "whore") {
-			_upperClass += V.nicaea.power * 6.75;
-			_upperClassP *= 1 + V.nicaea.power * 0.0025;
-			_topClass += V.nicaea.power * 1.25;
-			_topClassP *= 1 + V.nicaea.power * 0.0025;
-		} else if (V.nicaea.assignment === "serve the public") {
-			_lowerClass += V.nicaea.power * 50;
-			_lowerClassP *= 1 + V.nicaea.power * 0.0025;
-			_middleClass += V.nicaea.power * 20;
-			_middleClassP *= 1 + V.nicaea.power * 0.0025;
-		} else {
-			_slaveDemandU *= 1 + V.nicaea.power * 0.05;
-			_slaveDemandT *= 1 + V.nicaea.power * 0.0625;
-			_lowerClass += V.nicaea.power * -50;
-			_lowerClassP *= 1 + V.nicaea.power * -0.0025;
-			_middleClass += V.nicaea.power * -20;
-			_middleClassP *= 1 + V.nicaea.power * -0.0025;
-			_upperClass += V.nicaea.power * 13.5;
-			_upperClassP *= 1 + V.nicaea.power * 0.005;
-			_topClass += V.nicaea.power * 2.5;
-			_topClassP *= 1 + V.nicaea.power * 0.005;
-		}
-		if (V.nicaea.achievement === "slaves") {
-			_slaveDemandU *= 1 + V.nicaea.power * 0.2;
-			_slaveDemandT *= 1 + V.nicaea.power * 0.25;
-			_lowerClass += V.nicaea.power * -200;
-			_lowerClassP *= 1 + V.nicaea.power * -0.01;
-		}
-	}
-	if (V.arcologies[0].FSAztecRevivalistLaw === 1) {
-		_lowerClass += 200;
-		_lowerClassP *= 1.01;
-		_middleClass += -40;
-		_middleClassP *= 0.995;
-		_upperClass += -13.5;
-		_upperClassP *= 0.995;
-	}
-	_middleClass += (V.TSS.subsidize + V.GRI.subsidize + V.SCP.subsidize + V.LDE.subsidize + V.TGA.subsidize + V.TCR.subsidize + V.TFS.subsidize + V.HA.subsidize + V.NUL.subsidize) * 40;
-	_middleClass *= 1 + (V.TSS.subsidize + V.GRI.subsidize + V.SCP.subsidize + V.LDE.subsidize + V.TGA.subsidize + V.TCR.subsidize + V.TFS.subsidize + V.HA.subsidize + V.NUL.subsidize) * 0.005;
+	const schoolSubsidy = App.Data.misc.schools.reduce((acc, current) => acc + V[current].subsidize, 0);
+	_middleClass += (schoolSubsidy) * 40;
+	_middleClass *= 1 + (schoolSubsidy) * 0.005;
 
 	/* Slave retirement trigger pulled (one time only)*/
 	if (V.citizenRetirementTrigger === 1) {
@@ -805,6 +182,9 @@ globalThis.arcmgmt = function() {
 		}
 	}
 
+	App.Events.addNode(el, r);
+	r = [];
+
 	/* Citizens turning into slaves*/
 	if (V.policies.retirement.menial2Citizen === 1) {
 		if (V.customMenialRetirementAge >= 65) {
@@ -833,14 +213,14 @@ globalThis.arcmgmt = function() {
 				_weatherFreeze = 1;
 				V.weatherAwareness = 1;
 				// <br>
-				// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//
+				r.push(`// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//`);
 			} else {
 				_weatherFreeze = 0;
 			}
 		} else if (V.antiWeatherFreeze < 2) {
 			_weatherFreeze = 1;
 			// <br>
-			// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//
+			r.push(`// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//`);
 		} else {
 			_weatherFreeze = 0;
 		}
@@ -849,7 +229,7 @@ globalThis.arcmgmt = function() {
 			if (V.SecExp.buildings.transportHub.surfaceTransport < 3) {
 				_weatherFreeze = 1;
 				// <br>
-				// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//
+				r.push(`// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//`);
 			} else {
 				_weatherFreeze = 0;
 			}
@@ -857,7 +237,7 @@ globalThis.arcmgmt = function() {
 			_weatherFreeze = 1;
 			V.weatherAwareness = 1;
 			// <br
-			// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//
+			r.push(`// The terrible weather is <span class="red">preventing people from entering or leaving</span> your arcology. Improving your transport infrastructure will prevent this from happening.//`);
 		} else {
 			_weatherFreeze = 0;
 		}
@@ -880,12 +260,8 @@ globalThis.arcmgmt = function() {
 		}
 		if (_enslaved > 1) {
 			// <br>
-
-
 			r.push(`In total <span class="green"> ${_enslaved} lower class citizens</span> were enslaved for failing to pay their debts.`);
 			// <br>
-
-
 			r.push(`<span class="green">You enslaved ${_enslavedPC}</span> of them while other debtholders in the arcology enslaved the remaining ${_enslavedNPC}.`);
 		} else if (_enslaved > 0) {
 			// <br>
@@ -927,7 +303,7 @@ globalThis.arcmgmt = function() {
 			V.visitors = _oldVisitors;
 		}
 		// <br>
-		r.push(`<span class="green"> V.visitors traders and tourists</span> visited your arcology this week.`);
+		r.push(`<span class="green"> ${V.visitors} traders and tourists</span> visited your arcology this week.`);
 
 		/* slaves*/
 		/* Slaves getting retired*/
@@ -1373,15 +749,15 @@ globalThis.arcmgmt = function() {
 	V.arcologies[0].name;
 	r.push(` is home to the following:`);
 	// <br>
-	r.push(`Lower Class Citizens | V.lowerClass  |  _percLowerClass %`);
+	r.push(`Lower Class Citizens | ${V.lowerClass}  |  ${_percLowerClass}%`);
 	// <br>
-	r.push(`Middle Class Citizens | V.middleClass  |  _percMiddleClass % `);
+	r.push(`Middle Class Citizens | ${V.middleClass}  |  ${_percMiddleClass}% `);
 	// <br>
-	r.push(`Upper Class Citizens | V.upperClass  |  _percUpperClass % `);
+	r.push(`Upper Class Citizens | ${V.upperClass}  |  ${_percUpperClass}% `);
 	// <br>
-	r.push(`Millionaires |  V.topClass | _percTopClass %`);
+	r.push(`Millionaires |  ${V.topClass} | ${_percTopClass}%`);
 	// <br>
-	r.push(`Slaves | V.ASlaves  |  _percASlaves%`);
+	r.push(`Slaves | ${V.ASlaves}  |  ${_percASlaves}%`);
 	// <br>
 	// <br>
 	if (V.arcologies[0].FSSupremacistLawME === 1) {
@@ -1555,7 +931,7 @@ globalThis.arcmgmt = function() {
 	}
 
 
-	r.push(`This week, rents from V.arcologies[0].name came to <span class="yellowgreen"> ${cashFormat(_rents)}.</span>`);
+	r.push(`This week, rents from ${V.arcologies[0].name} came to <span class="yellowgreen"> ${cashFormat(_rents)}.</span>`);
 	if (V.difficultySwitch === 0) {
 		if (V.localEcon < 100) {
 			_bribes = (V.week * 100) + random(-100, 100);
@@ -2314,4 +1690,650 @@ globalThis.arcmgmt = function() {
 	}
 	App.Events.addNode(el, r);
 	return el;
+
+	function fsImpact() {
+		const el = new DocumentFragment();
+		const r =[];
+
+		if (V.arcologies[0].FSSupremacist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSSupremacist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.05;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -0.004;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 2;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSupremacist, 100) / 20) * 0.004;
+			r.push(`Your racial policies are concentrating power in the hands of ${V.arcologies[0].FSSupremacistRace} people. /*perhaps too obvious to bother with printing?*/`);
+		}
+		if (V.arcologies[0].FSSubjugationist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSSubjugationist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.05;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -0.004;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 2;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSubjugationist, 100) / 20) * 0.004;
+			r.push(`Your racial policies are stripping all power from the ${V.arcologies[0].FSSubjugationistRace} people.`); /* perhaps too obvious to bother with printing?*/
+		}
+		if (V.arcologies[0].FSGenderRadicalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSGenderRadicalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * 0.025;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * -40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * -0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20);
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderRadicalist, 100) / 20) * 0.002;
+			r.push(`Your radical views on gender are scaring away the more traditionally minded.`);
+		}
+		if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSGenderFundamentalist, 100);
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * 40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * -1;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSGenderFundamentalist, 100) / 20) * -0.002;
+			r.push(`Your traditional views on gender are comforting to many, unimaginative to some.`);
+		}
+		if (V.arcologies[0].FSPaternalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSPaternalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.05;
+			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.15;
+			_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 0.02;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 0.004;
+			_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.1;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * 0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -2;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.002;
+			r.push(`Poor citizens can rely on their better-off peers in ${V.arcologies[0].name}.`);
+		}
+		if (V.arcologies[0].FSDegradationist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSDegradationist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.05;
+			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.2;
+			_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.01;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -0.004;
+			_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.1;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 2;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSDegradationist, 100) / 20) * 0.004;
+			r.push(`The arcology is a cutthroat place in which falling into slavery is very easy.`);
+		}
+		if (V.arcologies[0].FSIntellectualDependency !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSIntellectualDependency, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.03;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.04;
+			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.05;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 20;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.002;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 10;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * 0.003;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * -3;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSIntellectualDependency, 100) / 20) * -0.020;
+			r.push(`It's always a party in ${V.arcologies[0].name}, giving it a strong appeal to those unable to host such an event.`);
+		}
+		if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSSlaveProfessionalism, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -0.1;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -0.125;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -20;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 2.7;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 0.001;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSSlaveProfessionalism, 100) / 20) * 0.001;
+			r.push(`The intelligent atmosphere of ${V.arcologies[0].name} makes it an attractive place for those with the brains to define their place in the world.`);
+		}
+		if (V.arcologies[0].FSBodyPurist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSBodyPurist, 100);
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * 40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * 0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -2.7;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.001;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.001;
+			r.push(`Body purist fashion standards comfort the poor as they stand out less from their more fortunate neighbors.`);
+		}
+		if (V.arcologies[0].FSTransformationFetishist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSTransformationFetishist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.025;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * -40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 2.7;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.001;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSTransformationFetishist, 100) / 20) * 0.001;
+			r.push(`The lower class fear the kind of transformations could be forced on them if they ever end up enslaved, whereas the rich enjoy wielding such power.`);
+		}
+		if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSYouthPreferentialist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.025;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * 0.002;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * -8;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSYouthPreferentialist, 100) / 20) * -0.002;
+			r.push(`Preference for youth makes the young poor in your arcology feel appreciated despite their lack of wealth.`);
+		}
+		if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSMaturityPreferentialist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.025;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * -40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * -0.002;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 8;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSMaturityPreferentialist, 100) / 20) * 0.002;
+			r.push(`Preference for maturity makes the middle class of your arcology feel like their experience is finally properly appreciated.`);
+		}
+		if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSPetiteAdmiration, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPetiteAdmiration, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPetiteAdmiration, 100) / 20) * 0.025;
+		}
+		if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSStatuesqueGlorification, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSStatuesqueGlorification, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSStatuesqueGlorification, 100) / 20) * 0.025;
+		}
+		if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSSlimnessEnthusiast, 100);
+		}
+		if (V.arcologies[0].FSAssetExpansionist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSAssetExpansionist, 100);
+			if (V.arcologies[0].FSBodyPurist !== "unset") {
+				_expirationFS *= 1 + (Math.trunc(Math.min(V.arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min(V.arcologies[0].FSBodyPurist, 100) / 20) * -0.1));
+			} else {
+				_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05;
+			}
+		}
+		if (V.arcologies[0].FSPastoralist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSPastoralist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.05;
+			if (V.arcologies[0].FSPaternalist !== "unset") {
+				_expirationFS *= 1 + (Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.1));
+			} else {
+				_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.05;
+			}
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * -80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * -0.004;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 2.7;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.001;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPastoralist, 100) / 20) * 0.001;
+			r.push(`The pastoralization of ${V.arcologies[0].name} spurs a whole industry around human produce.`);
+		}
+		if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSPhysicalIdealist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.025;
+			_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.01;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * -40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 2.7;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.001;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSPhysicalIdealist, 100) / 20) * 0.001;
+			r.push(`Fit slaves and citizens are more productive! However, your arcology's poor do not look forward to even more toil and sweat.`);
+		}
+		if (V.arcologies[0].FSChattelReligionist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSChattelReligionist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.025;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * -40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 2.7;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.001;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChattelReligionist, 100) / 20) * 0.001;
+			r.push(`Chattel Religionism helps some poor citizens see slavery as a spiritually pure fate.`);
+		}
+		if (V.arcologies[0].FSRomanRevivalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSRomanRevivalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 0.025;
+			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * -0.1;
+			_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * -0.05;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * 0.00;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20);
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRomanRevivalist, 100) / 20) * -0.002;
+			r.push(`Your citizens take pride in looking after each other.`);
+		}
+		if (V.arcologies[0].FSNeoImperialist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSNeoImperialist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.05;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.030;
+			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -0.06;
+			_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -0.025;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -20;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * -0.002;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.004;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.5;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNeoImperialist, 100) / 20) * 0.002;
+			r.push(`Your new Imperium creates a staunchly hierchical society, and while your elites and soldiers enjoy social prestige and luxury, the lower classes are often unhappy about being made to grovel.`);
+		}
+		if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSEgyptianRevivalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.025;
+			_welfareFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * -0.05;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20);
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEgyptianRevivalist, 100) / 20) * -0.002;
+			r.push(`Egyptian Revivalism is benevolent in some ways, and charity is common here.`);
+		}
+		if (V.arcologies[0].FSEdoRevivalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSEdoRevivalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEdoRevivalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSEdoRevivalist, 100) / 20) * 0.025;
+		}
+		if (V.arcologies[0].FSArabianRevivalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSArabianRevivalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSArabianRevivalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSArabianRevivalist, 100) / 20) * 0.025;
+		}
+		if (V.arcologies[0].FSChineseRevivalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSChineseRevivalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChineseRevivalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSChineseRevivalist, 100) / 20) * 0.025;
+		}
+		if (V.arcologies[0].FSAztecRevivalist !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSAztecRevivalist, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAztecRevivalist, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSAztecRevivalist, 100) / 20) * 0.025;
+		}
+		if (V.arcologies[0].FSNull !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSNull, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.1;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.125;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 400;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 0.016;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 64;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * 0.008;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -21.6;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.008;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -8;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSNull, 100) / 20) * -0.016;
+			r.push(`Your arcology's vibrant, open culture helps everyone succeed, preventing many struggling citizens from falling into slavery.`);
+		}
+		if (V.arcologies[0].FSRepopulationFocus !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSRepopulationFocus, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05;
+			_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -0.01;
+			if (V.arcologies[0].FSPaternalist !== "unset") {
+				_expirationFS *= 1 + (Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min(V.arcologies[0].FSPaternalist, 100) / 20) * -0.1));
+			} else {
+				_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.05;
+			}
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.004;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * 0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -2;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRepopulationFocus, 100) / 20) * -0.004;
+			r.push(`You've made repopulation a priority and the less fortunate hope all these new children will make their lives easier in the future, but the wealthy are wary.`);
+		}
+		if (V.arcologies[0].FSRestart !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSRestart, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.04;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.05;
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -80;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -0.004;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 2;
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSRestart, 100) / 20) * 0.004;
+			r.push(`Highly restricted breeding pleases the powerful, but the less fortunate may seek reproductive freedom elsewhere.`);
+		}
+		if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+			_FSScore += Math.min(V.arcologies[0].FSHedonisticDecadence, 100);
+			_slaveDemandU *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.02;
+			_slaveDemandT *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.025;
+			_slaveProductivity += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.01;
+			_expirationFS *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.1; /* too high?*/
+			_lowerClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 40;
+			_lowerClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.002;
+			_middleClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -16;
+			_middleClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.002;
+			_upperClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -5.4;
+			_upperClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * -0.002;
+			_topClass += Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20);
+			_topClassP *= 1 + Math.trunc(Math.min(V.arcologies[0].FSHedonisticDecadence, 100) / 20) * 0.002;
+			r.push(`Your citizens enjoy the pleasures of life to their fullest, but some prefer to earn these pleasures.`);
+		}
+		if (r.length > 0) {
+			App.UI.DOM.appendNewElement("h3", el, "Future Societies");
+		}
+		App.Events.addNode(el, r);
+		return el;
+	}
+
+	function policiesImpact() {
+		const el = new DocumentFragment();
+		const r =[];
+		if (V.policies.retirement.menial2Citizen === 1) {
+			_slaveDemandU *= 0.8;
+			_slaveDemandT *= 0.75;
+			_slaveProductivity += 0.05;
+			_expirationFS *= 0.8;
+			_lowerClass += 200;
+			_lowerClassP *= 1.01;
+			_middleClass += 80;
+			_middleClassP *= 1.01;
+			_upperClass += -27;
+			_upperClassP *= 0.99;
+			_topClass += -5;
+			_topClassP *= 0.99;
+		}
+		if (V.policies.proRefugees === 1) {
+			_slaveDemandU *= 1.1;
+			_slaveDemandT *= 1.125;
+			r.push(`Some desperate people filtered into the arcology during the week: as owner, you were able to enslave a handful of them.`);
+		}
+		if (V.policies.immigrationCash === 1) {
+			_lowerClass += 200;
+			_lowerClassP *= 1.01;
+			_middleClass += 40;
+			_middleClassP *= 1.005;
+			_upperClass += -13.5;
+			_upperClassP *= 0.995;
+			_topClass += -5;
+			_topClass *= 0.99;
+			r.push(`The rent promotion for new immigrants brings new citizens to the arcology.`);
+		}
+		if (V.policies.immigrationRep === 1) {
+			_lowerClass += 200;
+			_lowerClassP *= 1.01;
+			_middleClass += 40;
+			_middleClassP *= 1.005;
+			_upperClass += -13.5;
+			_upperClassP *= 0.995;
+			_topClass += -5;
+			_topClass *= 0.99;
+			r.push(`Your welcome program for new citizens helps encourage wealthy people from the old world to immigrate, but <span class="red">annoys some longstanding citizens.</span>`);
+			repX(forceNeg(100), "policies");
+		}
+		if (V.policies.immigrationCash === -1) {
+			_lowerClass += -200;
+			_lowerClassP *= 0.99;
+			_middleClass += -40;
+			_middleClassP *= 0.995;
+			_upperClass += 13.5;
+			_upperClassP *= 1.005;
+			_topClass += 5;
+			_topClass *= 1.01;
+			r.push(`You covertly <span class="yellowgreen">sell</span> the private information of potential arcology immigrants on the old world black market.`);
+			cashX(random(500, 1500), "policies");
+		}
+		if (V.policies.immigrationRep === -1) {
+			_lowerClass += -200;
+			_lowerClassP *= 0.99;
+			_middleClass += -40;
+			_middleClassP *= 0.995;
+			_upperClass += 13.5;
+			_upperClassP *= 1.005;
+			_topClass += 5;
+			_topClass *= 1.01;
+			r.push(`You allow citizens input on potential immigrants, a <span class="green">popular</span> program.`);
+			repX(100, "policies");
+		}
+		if (V.policies.enslavementCash === 1) {
+			_slaveDemandU *= 1.1;
+			_slaveDemandT *= 1.125;
+			_lowerClass += -200;
+			_lowerClassP *= .99;
+			_topClass += 5;
+			_topClass *= 1.01;
+			r.push(`You <span class="yellowgreen">take kickbacks</span> for ignoring enslavement of citizens.`);
+			cashX(random(500, 1500), "policies");
+		}
+		if (V.policies.enslavementRep === 1) {
+			_slaveDemandU *= 1.1;
+			_slaveDemandT *= 1.125;
+			_lowerClass += -200;
+			_lowerClassP *= 0.99;
+			_topClass += 5;
+			_topClass *= 1.01;
+			r.push(`You <span class="green">make friends</span> by tacitly supporting enslavement of upstart citizens.`);
+			repX(100, "policies");
+		}
+		if (V.policies.enslavementCash === -1) {
+			_slaveDemandU *= 0.9;
+			_slaveDemandT *= 0.875;
+			_lowerClass += 200;
+			_lowerClassP *= 1.02;
+			_topClass += -5;
+			_topClass *= 0.98;
+			r.push(`Your charity purse prevents a few citizens from falling into slavery.`);
+		}
+		if (V.policies.enslavementRep === -1) {
+			_slaveDemandU *= 0.9;
+			_slaveDemandT *= 0.875;
+			_lowerClass += 200;
+			_lowerClassP *= 1.01;
+			_topClass += -5;
+			_topClass *= 0.99;
+			r.push(`You use your personal influence to help struggling citizens.`);
+			repX(forceNeg(100), "policies");
+		}
+		if (V.arcologies[0].FSSupremacistLawME === 1) {
+			_slaveDemandU *= 2.2;
+			_slaveDemandT *= 2.5;
+			_lowerClass += -400;
+			_lowerClassP *= 0.98;
+			_middleClass += -80;
+			_middleClassP *= 0.99;
+			_upperClass += 27;
+			_upperClassP *= 1.01;
+			_topClass += 10;
+			_topClassP *= 1.02;
+			if (V.FSSupLawTrigger === 1) {
+				_slavesSupLaw = 0;
+				_slavesSupLaw += Math.trunc((V.lowerClass + V.middleClass + V.upperClass) * 0.65);
+				V.NPCSlaves += Math.trunc(_slavesSupLaw * 0.7);
+				V.menials += Math.trunc(_slavesSupLaw * 0.2);
+				V.lowerClass = Math.trunc(V.lowerClass * 0.35);
+				V.middleClass = Math.trunc(V.middleClass * 0.35);
+				V.upperClass = Math.trunc(V.upperClass * 0.35);
+				V.FSSupLawTrigger = 2;
+			}
+		}
+		if (V.arcologies[0].FSSubjugationistLawME === 1) {
+			_slaveDemandU *= 1.24;
+			_slaveDemandT *= 1.3;
+			_lowerClass += -200;
+			_lowerClassP *= 0.99;
+			_middleClass += -40;
+			_middleClassP *= 0.995;
+			_upperClass += 13.5;
+			_upperClassP *= 1.005;
+			_topClass += 5;
+			_topClassP *= 1.01;
+			if (V.FSSubLawTrigger === 1) {
+				_slavesSubLaw = Math.trunc((V.lowerClass + V.middleClass + V.upperClass) * 0.2);
+				V.NPCSlaves += Math.trunc(_slavesSubLaw * 0.7);
+				V.menials += Math.trunc(_slavesSubLaw * 0.2);
+				V.lowerClass = Math.trunc(V.lowerClass * 0.8);
+				V.middleClass = Math.trunc(V.middleClass * 0.8);
+				V.upperClass = Math.trunc(V.upperClass * 0.8);
+				V.FSSubLawTrigger = 2;
+			}
+		}
+		if (V.arcologies[0].FSRepopulationFocusLaw === 1) {
+			_lowerClass += 100;
+			_lowerClassP *= 1.005;
+			_topClass += -2.5;
+			_topClassP *= 0.995;
+			r.push(`The rent promotion for pregnant women attracts several gravid ladies and a few girls eager to become mothers to enroll as citizens in your arcology.`);
+		}
+		if (V.arcologies[0].FSRestartLaw === 1) {
+			_lowerClass += -100;
+			_lowerClassP *= 0.99;
+			_topClass += 2.5;
+			_topClassP *= 1.01;
+			r.push(`Your sterilization program drives several disloyal citizens out of the arcology.`);
+		}
+		if (V.arcologies[0].FSHedonisticDecadenceLaw === 1) {
+			_middleClass += 80;
+			_middleClassP *= 1.01;
+		}
+		if (V.arcologies[0].FSDegradationistLaw === 1) {
+			_slaveProductivity += -0.05;
+		}
+		if (V.arcologies[0].FSPaternalistLaw === 1) {
+			_slaveDemandU *= 0.9;
+			_slaveDemandT *= 0.875;
+			_upperClass += -13.5;
+			_upperClassP *= 1.005;
+			_topClass += -2.5;
+			_topClassP *= 1.005;
+		}
+		if (V.arcologies[0].FSYouthPreferentialistLaw === 1) {
+			_lowerClass += 200;
+			_lowerClassP *= 1.01;
+			_middleClass += -80;
+			_middleClassP *= 0.99;
+		}
+		if (V.arcologies[0].FSMaturityPreferentialistLaw === 1) {
+			_lowerClass += -200;
+			_lowerClassP *= 0.99;
+			_middleClass += 80;
+			_middleClassP *= 1.01;
+		}
+		if (V.arcologies[0].FSPetiteAdmirationLaw === 1) {
+			_lowerClass += -200;
+			_lowerClassP *= 0.99;
+			_middleClass += 80;
+			_middleClassP *= 1.01;
+		}
+		if (V.arcologies[0].FSStatuesqueGlorificationLaw === 1) {
+			_lowerClass += -400;
+			_lowerClassP *= 0.95;
+			_middleClass += 40;
+			_middleClassP *= 1.01;
+			_upperClass += -10;
+			_upperClassP *= .99;
+		}
+		if (V.arcologies[0].FSIntellectualDependencyLaw === 1) {
+			_slaveDemandU *= 1.24;
+			_slaveDemandT *= 1.3;
+			_lowerClass += -50;
+			_lowerClassP *= 0.90;
+			_middleClass += -40;
+			_middleClassP *= 0.90;
+			_upperClass += -1;
+			_upperClassP *= .99;
+		}
+		if (V.arcologies[0].FSSlaveProfessionalismLaw === 1) {
+			_slaveDemandU *= 1.4;
+			_slaveDemandT *= 1.5;
+			_lowerClass += -300;
+			_lowerClassP *= 0.95;
+			_middleClass += -40;
+			_middleClassP *= 0.995;
+			_upperClass += -5;
+			_upperClassP *= .99;
+			_topClass += 7;
+			_topClassP *= 1.05;
+			if (V.FSSlaveProfLawTrigger === 1) {
+				V.lowerClass = Math.trunc(V.lowerClass * 0.8);
+				V.middleClass = Math.trunc(V.middleClass * 0.8);
+				V.upperClass = Math.trunc(V.upperClass * 0.8);
+				V.FSSlaveProfLawTrigger = 2;
+			}
+		}
+		if (V.arcologies[0].FSChattelReligionistCreed === 1) {
+			if (V.nicaea.focus === "slaves") {
+				_slaveDemandU *= 1 + V.nicaea.power * -0.05;
+				_slaveDemandT *= 1 + V.nicaea.power * -0.0625;
+				_slaveProductivity += V.nicaea.power * 0.025;
+				_expirationFS *= 1 + V.nicaea.power * -0.125;
+				_lowerClass += V.nicaea.power * 100;
+				_lowerClassP *= 1 + V.nicaea.power * 0.005;
+				_topClass += V.nicaea.power * -2.5;
+				_topClassP *= 1 + V.nicaea.power * -0.005;
+			} else if (V.nicaea.focus === "owners") {
+				_slaveDemandU *= 1 + V.nicaea.power * 0.05;
+				_slaveDemandT *= 1 + V.nicaea.power * 0.0625;
+				_lowerClass += V.nicaea.power * -100;
+				_lowerClassP *= 1 + V.nicaea.power * -0.005;
+				_middleClass += V.nicaea.power * -20;
+				_middleClassP *= 1 + V.nicaea.power * -0.0025;
+				_upperClass += V.nicaea.power * 6.75;
+				_upperClassP *= 1 + V.nicaea.power * 0.0025;
+				_topClass += V.nicaea.power * 2.5;
+				_topClassP *= 1 + V.nicaea.power * 0.005;
+			}
+			if (V.nicaea.assignment === "whore") {
+				_upperClass += V.nicaea.power * 6.75;
+				_upperClassP *= 1 + V.nicaea.power * 0.0025;
+				_topClass += V.nicaea.power * 1.25;
+				_topClassP *= 1 + V.nicaea.power * 0.0025;
+			} else if (V.nicaea.assignment === "serve the public") {
+				_lowerClass += V.nicaea.power * 50;
+				_lowerClassP *= 1 + V.nicaea.power * 0.0025;
+				_middleClass += V.nicaea.power * 20;
+				_middleClassP *= 1 + V.nicaea.power * 0.0025;
+			} else {
+				_slaveDemandU *= 1 + V.nicaea.power * 0.05;
+				_slaveDemandT *= 1 + V.nicaea.power * 0.0625;
+				_lowerClass += V.nicaea.power * -50;
+				_lowerClassP *= 1 + V.nicaea.power * -0.0025;
+				_middleClass += V.nicaea.power * -20;
+				_middleClassP *= 1 + V.nicaea.power * -0.0025;
+				_upperClass += V.nicaea.power * 13.5;
+				_upperClassP *= 1 + V.nicaea.power * 0.005;
+				_topClass += V.nicaea.power * 2.5;
+				_topClassP *= 1 + V.nicaea.power * 0.005;
+			}
+			if (V.nicaea.achievement === "slaves") {
+				_slaveDemandU *= 1 + V.nicaea.power * 0.2;
+				_slaveDemandT *= 1 + V.nicaea.power * 0.25;
+				_lowerClass += V.nicaea.power * -200;
+				_lowerClassP *= 1 + V.nicaea.power * -0.01;
+			}
+		}
+		if (V.arcologies[0].FSAztecRevivalistLaw === 1) {
+			_lowerClass += 200;
+			_lowerClassP *= 1.01;
+			_middleClass += -40;
+			_middleClassP *= 0.995;
+			_upperClass += -13.5;
+			_upperClassP *= 0.995;
+		}
+		if (r.length > 0) {
+			App.UI.DOM.appendNewElement("h3", el, "Policies");
+		}
+		App.Events.addNode(el, r);
+		return el;
+	}
 };
diff --git a/src/uncategorized/economics.tw b/src/uncategorized/economics.tw
index 4a93c66ac5dfe5ec3f3b57ea1b8f53418760bd38..ea6bbff754a76de376bf1194f0933ad43bb4a394 100644
--- a/src/uncategorized/economics.tw
+++ b/src/uncategorized/economics.tw
@@ -19,7 +19,7 @@
 <<include "Neighbors Development">>
 
 <br>
-<<include "Arcology Management">>
+<<includeDOM arcmgmt()>>
 
 <<if $FSAnnounced > 0>>
 	<br><br>
@@ -76,7 +76,7 @@
 
 <div id="Management" class="tab-content">
 	<div class="content">
-		<<include "Arcology Management">>
+		<<includeDOM arcmgmt()>>
 	</div>
 </div>