diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt
index db3ada5e282b592249d9a2b0d26d3e7240bc68c3..5860fa2665f6511ef396d3e2e10c65969df37271 100644
--- a/devNotes/Useful JS Function Documentation.txt	
+++ b/devNotes/Useful JS Function Documentation.txt	
@@ -284,21 +284,21 @@ Sex Functions:
 
 knockMeUp(actor, chance, hole, fatherID, displayOverride) - Attempts to impregnate actor.
 
-AnalVCheck(count) - Increments $activeSlave's anal count by count and attempts to take virginity. Defaults to 1.
+VCheck.Anal(count) - Increments $activeSlave's anal count by count and attempts to take virginity. Defaults to 1.
 
-VaginalVCheck(count) - Increments $activeSlave's vaginal count by count and attempts to take virginity. Defaults to 1.
+VCheck.Vaginal(count) - Increments $activeSlave's vaginal count by count and attempts to take virginity. Defaults to 1.
 
-VaginalVCheck(countAnal, countBoth) - Attempts to increment $activeSlave's anal count by countAnal and attempts to increment vaginal by countBoth. Defaults to 1. Attempts to take virginities.
+VCheck.Both(countAnal, countBoth) - Attempts to increment $activeSlave's anal count by countAnal and attempts to increment vaginal by countBoth. Defaults to 1. Attempts to take virginities.
 
-SimpleVCheck(count) - Calls either VaginalVCheck or AnalVCheck count times.
+VCheck.Simple(count) - Calls either VaginalVCheck or VCheck.Anal() count times.
 
-PartnerVCheck(countAnal, countBoth) - Attempts to increment $partner's anal count by countAnal and attempts to increment vaginal by countBoth. Defaults to 1. Attempts to take virginities.
+VCheck.Partner(countAnal, countBoth) - Attempts to increment $partner's anal count by countAnal and attempts to increment vaginal by countBoth. Defaults to 1. Attempts to take virginities.
 
-SimpleSexAct(slave, count) - Runs a player on slave sex act count times. (randomly chooses hole based off availability.)
+SimpleSexAct.Player(slave, count) - Runs a player on slave sex act count times. (randomly chooses hole based off availability.)
 
-SimpleSlaveFucking(slave, count) - Runs a slave on slave sex act count times. (randomly chooses hole based off availability.)
+SimpleSexAct.Slave(slave, count) - Runs a slave on slave sex act count times. (randomly chooses hole based off availability.)
 
-SimpleSlaveSlaveFucking(slave1, slave2, count) - Runs a slave2 on slave1 sex act count times. (randomly chooses hole based off availability.)
+SimpleSexAct.Slaves(slave1, slave2, count) - Runs a slave2 on slave1 sex act count times. (randomly chooses hole based off availability.)
 
 UtilJS [script]
 
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 9af6d8a194d313be52245b0a4f1989fd92cca246..5bfe0cadd22bc574a195fc94f56c1bab3cca07d7 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -2862,6 +2862,9 @@ LORE: INTERVIEWS
 <<case "Artificial Insemination">>
 	A simple surgical procedure involving the injection of harvested sperm into a fertile womb. Useful for assuring the conception of a child of the desired union, impregnation without sexual intercourse, circumventing physical and mental quirks in copulation, or just finding the perfect Virgin Mary for the holidays.
 
+<<case "Cloning">>
+	A surgical procedure requiring the gene lab that the injects the DNA of an individual into an viable egg cell which is then carried to term in a fertile womb. Will create a child with the basic physical traits of the person they are cloned from. While clones will likely be indentical to each other, they are unlikely to bear more than a passing resemblance to the person their DNA was harvested from; for that to occur, they would need to be raised in almost the same way. They will, however, be a genetic match with their "parent".
+
 <<case "The Black Market">>
 	<h4>The Black Market</h4>
 	You may be the ruler of your arcology, but you don't exist in a vacuum. You can do all kinds of thing and get lots of things that regular citizens can't. So the Black Market, is a chance for less prominent citizens to do or get stuff like an arcology leader might experience. But for a ruler like yourself, it's a chance to avoid the severe scrutiny you're subject to on a regular basis, and to get a hold of bleeding edge or illegal research and technologies. The market itself is always moving from place to place, but if you're reputable enough, you can find it when you need it.
@@ -2886,6 +2889,9 @@ LORE: INTERVIEWS
 <<case "Wetware CPUs">>
 	Slaves stripped of all unneeded parts, attached to a VR world, and honed to near perfection. Their minds are peerless, but their bodies are broken; if one is able to overcome such an obstacle, a valuable slave awaits.
 
+<<case "Contraband and Illegal Goods">>
+	While there is little to no issue with possessing nearly anything, getting your hands on it may not always be feasible. Be it local policy or overreaching business deals, certain goods may not be found for sale in the Free City. This does not stop some of the shadier dealers from risking the sale of them, of course; this is where smugglers come in. There is always a market for contraband and illicit goods and never a shortage of people looking to buy them. Not all smugglers are successful, and those that aren't soon find themselves up for sale in the slave markets.
+
 <<case "Security Expansion">>
 	<<include "encyclopediaSecExpMain">>
 
@@ -3242,39 +3248,41 @@ LORE: INTERVIEWS
 <</if>>
 
 <br>Pregmod:
-	<<link "Repopulationism">><<set $encyclopedia = "Repopulationism">><<goto "Encyclopedia">><</link>>
-	| <<link "Eugenics Focus">><<set $encyclopedia = "Eugenics Focus">><<goto "Encyclopedia">><</link>>
-	| <<link "Hedonistic Decadence">><<set $encyclopedia = "Hedonistic Decadence">><<goto "Encyclopedia">><</link>>
-	| <<link "Gender Radicalism research">><<set $encyclopedia = "Gender Radicalism research">><<goto "Encyclopedia">><</link>>
-	| <<link "Transformation Fetishism research">><<set $encyclopedia = "Transformation Fetishism research">><<goto "Encyclopedia">><</link>>
-	| <<link "Asset Expansionist research">><<set $encyclopedia = "Asset Expansionist research">><<goto "Encyclopedia">><</link>>
-	| <<link "Slimness Enthusiast research">><<set $encyclopedia = "Slimness Enthusiast research">><<goto "Encyclopedia">><</link>>
-	| <<link "Youth Preferentialism Research">><<set $encyclopedia = "Youth Preferentialism Research">><<goto "Encyclopedia">><</link>>
-	| <<link "Hedonistic Decadence Research">><<set $encyclopedia = "Hedonistic Decadence Research">><<goto "Encyclopedia">><</link>>
-	| <<link "Eugenics Breeding Proposal">><<set $encyclopedia = "Eugenics Breeding Proposal">><<goto "Encyclopedia">><</link>>
-	| <<link "Repopulationist Breeding School">><<set $encyclopedia = "Repopulationist Breeding School">><<goto "Encyclopedia">><</link>>
-	| <<link "Slave Fertility">><<set $encyclopedia = "Slave Fertility">><<goto "Encyclopedia">><</link>>
-	| <<link "Player Pregnancy">><<set $encyclopedia = "Player Pregnancy">><<goto "Encyclopedia">><</link>>
-	| <<link "Hyper-pregnancy">><<set $encyclopedia = "Hyper-pregnancy">><<goto "Encyclopedia">><</link>>
-	| <<link "Super Fertility Drugs">><<set $encyclopedia = "Super Fertility Drugs">><<goto "Encyclopedia">><</link>>
-	| <<link "Fertility Mix">><<set $encyclopedia = "Fertility Mix">><<goto "Encyclopedia">><</link>>
-	| <<link "Breeders Dietary Blend">><<set $encyclopedia = "Breeders Dietary Blend">><<goto "Encyclopedia">><</link>>
-	| <<link "Pregnancy Generator">><<set $encyclopedia = "Pregnancy Generator">><<goto "Encyclopedia">><</link>>
-	| <<link "Childbirth and C-Secs">><<set $encyclopedia = "Childbirth and C-Secs">><<goto "Encyclopedia">><</link>>
-	| <<link "Gestation Drugs and Labor Suppressants">><<set $encyclopedia = "Gestation Drugs and Labor Suppressants">><<goto "Encyclopedia">><</link>>
-	| <<link "Artificial Insemination">><<set $encyclopedia = "Artificial Insemination">><<goto "Encyclopedia">><</link>>
-	| <<link "Surrogacy">><<set $encyclopedia = "Surrogacy">><<goto "Encyclopedia">><</link>>
-	| <<link "Ova Transplantation">><<set $encyclopedia = "Ova Transplantation">><<goto "Encyclopedia">><</link>>
-	| <<link "Enemas and Force-Feeding">><<set $encyclopedia = "Enemas and Force-Feeding">><<goto "Encyclopedia">><</link>>
-	| <<link "Belly Implants">><<set $encyclopedia = "Belly Implants">><<goto "Encyclopedia">><</link>>
-	| <<link "Cervix Micropump Filter">><<set $encyclopedia = "Cervix Micropump Filter">><<goto "Encyclopedia">><</link>>
-	| <<link "Organic Mesh Breast Implant">><<set $encyclopedia = "Organic Mesh Breast Implant">><<goto "Encyclopedia">><</link>>
-	| <<link "Nipple Conversion — Penetratable">><<set $encyclopedia = "Nipple Conversion — Penetratable">><<goto "Encyclopedia">><</link>>
-	| <<link "Ejaculation Boosting Prostate Implant">><<set $encyclopedia = "Ejaculation Boosting Prostate Implant">><<goto "Encyclopedia">><</link>>
-	| <<link "The Flesh Heap">><<set $encyclopedia = "The Flesh Heap">><<goto "Encyclopedia">><</link>>
-	| <<link "Wetware CPUs">><<set $encyclopedia = "Wetware CPUs">><<goto "Encyclopedia">><</link>>
-	| <<link "The Job Fulfillment Center">><<set $encyclopedia = "The Job Fulfillment Center">><<goto "Encyclopedia">><</link>>
-	| <<link "The Black Market">><<set $encyclopedia = "The Black Market">><<goto "Encyclopedia">><</link>>
+	<<link "Repopulationism" "Encyclopedia">><<set $encyclopedia = "Repopulationism">><</link>>
+	| <<link "Eugenics Focus" "Encyclopedia">><<set $encyclopedia = "Eugenics Focus">><</link>>
+	| <<link "Hedonistic Decadence" "Encyclopedia">><<set $encyclopedia = "Hedonistic Decadence">><</link>>
+	| <<link "Gender Radicalism research" "Encyclopedia">><<set $encyclopedia = "Gender Radicalism research">><</link>>
+	| <<link "Transformation Fetishism research" "Encyclopedia">><<set $encyclopedia = "Transformation Fetishism research">><</link>>
+	| <<link "Asset Expansionist research" "Encyclopedia">><<set $encyclopedia = "Asset Expansionist research">><</link>>
+	| <<link "Slimness Enthusiast research" "Encyclopedia">><<set $encyclopedia = "Slimness Enthusiast research">><</link>>
+	| <<link "Youth Preferentialism Research" "Encyclopedia">><<set $encyclopedia = "Youth Preferentialism Research">><</link>>
+	| <<link "Hedonistic Decadence Research" "Encyclopedia">><<set $encyclopedia = "Hedonistic Decadence Research">><</link>>
+	| <<link "Eugenics Breeding Proposal" "Encyclopedia">><<set $encyclopedia = "Eugenics Breeding Proposal">><</link>>
+	| <<link "Repopulationist Breeding School" "Encyclopedia">><<set $encyclopedia = "Repopulationist Breeding School">><</link>>
+	| <<link "Slave Fertility" "Encyclopedia">><<set $encyclopedia = "Slave Fertility">><</link>>
+	| <<link "Player Pregnancy" "Encyclopedia">><<set $encyclopedia = "Player Pregnancy">><</link>>
+	| <<link "Hyper-pregnancy" "Encyclopedia">><<set $encyclopedia = "Hyper-pregnancy">><</link>>
+	| <<link "Super Fertility Drugs" "Encyclopedia">><<set $encyclopedia = "Super Fertility Drugs">><</link>>
+	| <<link "Fertility Mix" "Encyclopedia">><<set $encyclopedia = "Fertility Mix">><</link>>
+	| <<link "Breeders Dietary Blend" "Encyclopedia">><<set $encyclopedia = "Breeders Dietary Blend">><</link>>
+	| <<link "Pregnancy Generator" "Encyclopedia">><<set $encyclopedia = "Pregnancy Generator">><</link>>
+	| <<link "Childbirth and C-Secs" "Encyclopedia">><<set $encyclopedia = "Childbirth and C-Secs">><</link>>
+	| <<link "Gestation Drugs and Labor Suppressants" "Encyclopedia">><<set $encyclopedia = "Gestation Drugs and Labor Suppressants">><</link>>
+	| <<link "Artificial Insemination" "Encyclopedia">><<set $encyclopedia = "Artificial Insemination">><</link>>
+	| <<link "Surrogacy" "Encyclopedia">><<set $encyclopedia = "Surrogacy">><</link>>
+	| <<link "Cloning" "Encyclopedia">><<set $encyclopedia = "Cloning">><</link>>
+	| <<link "Ova Transplantation" "Encyclopedia">><<set $encyclopedia = "Ova Transplantation">><</link>>
+	| <<link "Enemas and Force-Feeding" "Encyclopedia">><<set $encyclopedia = "Enemas and Force-Feeding">><</link>>
+	| <<link "Belly Implants" "Encyclopedia">><<set $encyclopedia = "Belly Implants">><</link>>
+	| <<link "Cervix Micropump Filter" "Encyclopedia">><<set $encyclopedia = "Cervix Micropump Filter">><</link>>
+	| <<link "Organic Mesh Breast Implant" "Encyclopedia">><<set $encyclopedia = "Organic Mesh Breast Implant">><</link>>
+	| <<link "Nipple Conversion — Penetratable" "Encyclopedia">><<set $encyclopedia = "Nipple Conversion — Penetratable">><</link>>
+	| <<link "Ejaculation Boosting Prostate Implant" "Encyclopedia">><<set $encyclopedia = "Ejaculation Boosting Prostate Implant">><</link>>
+	| <<link "The Flesh Heap" "Encyclopedia">><<set $encyclopedia = "The Flesh Heap">><</link>>
+	| <<link "Wetware CPUs" "Encyclopedia">><<set $encyclopedia = "Wetware CPUs">><</link>>
+	| <<link "The Job Fulfillment Center" "Encyclopedia">><<set $encyclopedia = "The Job Fulfillment Center">><</link>>
+	| <<link "Contraband and Illegal Goods" "Encyclopedia">><<set $encyclopedia = "Contraband and Illegal Goods">><</link>>
+	| <<link "The Black Market" "Encyclopedia">><<set $encyclopedia = "The Black Market">><</link>>
 
 <br>Lolimod:
 	<<link "Lolis and the Free Cities">><<set $encyclopedia = "Lolis and the Free Cities">><<goto "Encyclopedia">><</link>>
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 43ead43cd73d59ddc0466ac98107e649d45b653b..26fc203c8b9359711d15e25580028c60b1f0fd3f 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -1531,7 +1531,7 @@ window.rulesAssistantOptions = (function() {
 			if (V.enema === 1) {
 				this.appendChild(new EnemaList());
 			}
-			this.appendChild(new WeightEditor())
+			this.appendChild(new WeightEditor());
 			this.appendChild(new DietList());
 			this.appendChild(new DietGrowthList());
 			this.appendChild(new DietBaseList());
diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js
index 79f31c38772d6e908354732ac6e99379394f66c2..75f76bfd3f9ecc147ec584d1f4e82062547affac 100644
--- a/src/js/sexActsJS.js
+++ b/src/js/sexActsJS.js
@@ -313,162 +313,172 @@ window.VCheck = (function() {
 	}
 })();
 
-/**
- * fuckCount is how many times to increment either the Vaginal, Anal, or Oral counts, depending on availability of slave.
- * If count is left undefined it will assume it to be 1.
- * Intended to be a simple "I want to fuck x and not have to code a bunch of logic for it".
- * @param {App.Entity.SlaveState} slave
- * @param {number} [fuckCount=1]
- * @returns {string}
- */
-window.SimpleSexAct = function SimpleSexAct(slave, fuckCount = 1) {
-	const V = State.variables;
-	let fuckTarget = 0;
-	let r = "";
+window.SimpleSexAct = (function() {
+	"use strict";
 
-	for (let i = 0; i < fuckCount; i++) {
-		fuckTarget = jsRandom(1, 100);
-		if (slave.nipples === "fuckable" && V.PC.dick === 1 && fuckTarget > 80) {
-			V.mammaryTotal += 1;
-			slave.counter.mammary += 1;
-		} else if (canDoVaginal(slave) && slave.vagina > 0 && fuckTarget > 33) {
-			V.vaginalTotal += 1;
-			slave.counter.vaginal += 1;
-			if (canImpreg(slave, V.PC)) {
-				r += knockMeUp(slave, 10, 0, -1, 1);
-			}
-		} else if (canDoAnal(slave) && slave.anus > 0 && fuckTarget > 10) {
-			V.analTotal += 1;
-			slave.counter.anal += 1;
-			if (canImpreg(slave, V.PC)) {
-				r += knockMeUp(slave, 10, 1, -1, 1);
+	return {
+		Player: SimpleSexActPlayer,
+		Slave: SimpleSlaveFucking,
+		Slaves: SimpleSlaveSlaveFucking,
+	};
+
+	/**
+	 * fuckCount is how many times to increment either the Vaginal, Anal, or Oral counts, depending on availability of slave.
+	 * If count is left undefined it will assume it to be 1.
+	 * Intended to be a simple "I want to fuck x and not have to code a bunch of logic for it".
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {number} [fuckCount=1]
+	 * @returns {string}
+	 */
+	function SimpleSexActPlayer(slave, fuckCount = 1) {
+		const V = State.variables;
+		let fuckTarget = 0;
+		let r = "";
+
+		for (let i = 0; i < fuckCount; i++) {
+			fuckTarget = jsRandom(1, 100);
+			if (slave.nipples === "fuckable" && V.PC.dick === 1 && fuckTarget > 80) {
+				V.mammaryTotal += 1;
+				slave.counter.mammary += 1;
+			} else if (canDoVaginal(slave) && slave.vagina > 0 && fuckTarget > 33) {
+				V.vaginalTotal += 1;
+				slave.counter.vaginal += 1;
+				if (canImpreg(slave, V.PC)) {
+					r += knockMeUp(slave, 10, 0, -1, 1);
+				}
+			} else if (canDoAnal(slave) && slave.anus > 0 && fuckTarget > 10) {
+				V.analTotal += 1;
+				slave.counter.anal += 1;
+				if (canImpreg(slave, V.PC)) {
+					r += knockMeUp(slave, 10, 1, -1, 1);
+				}
+			} else {
+				V.oralTotal += 1;
+				slave.counter.oral += 1;
 			}
-		} else {
-			V.oralTotal += 1;
-			slave.counter.oral += 1;
 		}
+		return r;
 	}
-	return r;
-};
 
-/**
- * count is how many times to increment either the Vaginal, Anal, or Oral counts, depending on availability of slave.
- * If count is left undefined it will assume it to be 1.
- * Intended to be a simple "x got fucked y times and I don't want to keep coding it".
- * Pregnancy chance is handled in saLongTermEffects.tw.
- * @param {App.Entity.SlaveState} slave
- * @param {number} fuckCount
- */
-window.SimpleSlaveFucking = function SimpleSlaveFucking(slave, fuckCount = 1) {
-	const V = State.variables;
-	let fuckTarget = 0;
+	/**
+	 * count is how many times to increment either the Vaginal, Anal, or Oral counts, depending on availability of slave.
+	 * If count is left undefined it will assume it to be 1.
+	 * Intended to be a simple "x got fucked y times and I don't want to keep coding it".
+	 * Pregnancy chance is handled in saLongTermEffects.tw.
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {number} fuckCount
+	 */
+	function SimpleSlaveFucking(slave, fuckCount = 1) {
+		const V = State.variables;
+		let fuckTarget = 0;
 
-	for (let i = 0; i < fuckCount; i++) {
-		fuckTarget = jsRandom(1, 100);
-		if (slave.nipples === "fuckable" && fuckTarget > 80) {
-			V.mammaryTotal += 1;
-			slave.counter.mammary += 1;
-		} else if (canDoVaginal(slave) && slave.vagina > 0 && fuckTarget > 33) {
-			V.vaginalTotal += 1;
-			slave.counter.vaginal += 1;
-		} else if (canDoAnal(slave) && slave.anus > 0 && fuckTarget > 10) {
-			V.analTotal += 1;
-			slave.counter.anal += 1;
-		} else {
-			V.oralTotal += 1;
-			slave.counter.oral += 1;
+		for (let i = 0; i < fuckCount; i++) {
+			fuckTarget = jsRandom(1, 100);
+			if (slave.nipples === "fuckable" && fuckTarget > 80) {
+				V.mammaryTotal += 1;
+				slave.counter.mammary += 1;
+			} else if (canDoVaginal(slave) && slave.vagina > 0 && fuckTarget > 33) {
+				V.vaginalTotal += 1;
+				slave.counter.vaginal += 1;
+			} else if (canDoAnal(slave) && slave.anus > 0 && fuckTarget > 10) {
+				V.analTotal += 1;
+				slave.counter.anal += 1;
+			} else {
+				V.oralTotal += 1;
+				slave.counter.oral += 1;
+			}
 		}
 	}
-};
 
-/**
- * count is how many times to increment either the Vaginal, Anal, or Oral counts, depending on availability of slave.
- * If count is left undefined it will assume it to be 1.
- * Intended to be a simple "x got fucked y times by z and I don't want to keep coding it".
- * @param {App.Entity.SlaveState} subslave
- * @param {App.Entity.SlaveState} domslave
- * @param {number} fuckCount
- * @returns {string}
- */
-window.SimpleSlaveSlaveFucking = function SimpleSlaveSlaveFucking(subslave, domslave, fuckCount = 1) {
-	const V = State.variables;
-	let fuckTarget = 0;
-	let r = "";
+	/**
+	 * count is how many times to increment either the Vaginal, Anal, or Oral counts, depending on availability of slave.
+	 * If count is left undefined it will assume it to be 1.
+	 * Intended to be a simple "x got fucked y times by z and I don't want to keep coding it".
+	 * @param {App.Entity.SlaveState} subslave
+	 * @param {App.Entity.SlaveState} domslave
+	 * @param {number} fuckCount
+	 * @returns {string}
+	 */
+	function SimpleSlaveSlaveFucking(subslave, domslave, fuckCount = 1) {
+		const V = State.variables;
+		let fuckTarget = 0;
+		let r = "";
 
-	for (let j = 0; j < fuckCount; j++) {
+		for (let j = 0; j < fuckCount; j++) {
 		// there is a reason randomization happens inside cycle - to spread fuck around, otherwise cycle isn't even needed
-		fuckTarget = jsRandom(1, 100);
-		if (subslave.nipples === "fuckable" && canPenetrate(domslave) && fuckTarget > 80) {
-			if (passage() === "SA serve your other slaves") {
-				if (subslave.ID === V.slaves[V.i].ID) {
-					V.slaves[V.i].counter.mammary++;
-					V.mammaryTotal++;
-					domslave.counter.penetrative++;
-					V.penetrativeTotal++;
+			fuckTarget = jsRandom(1, 100);
+			if (subslave.nipples === "fuckable" && canPenetrate(domslave) && fuckTarget > 80) {
+				if (passage() === "SA serve your other slaves") {
+					if (subslave.ID === V.slaves[V.i].ID) {
+						V.slaves[V.i].counter.mammary++;
+						V.mammaryTotal++;
+						domslave.counter.penetrative++;
+						V.penetrativeTotal++;
+					} else {
+						subslave.counter.mammary++;
+						V.mammaryTotal++;
+						V.slaves[V.i].counter.penetrative++;
+						V.penetrativeTotal++;
+					}
 				} else {
-					subslave.counter.mammary++;
 					V.mammaryTotal++;
-					V.slaves[V.i].counter.penetrative++;
 					V.penetrativeTotal++;
+					subslave.counter.mammary++;
+					domslave.counter.penetrative++;
 				}
-			} else {
-				V.mammaryTotal++;
-				V.penetrativeTotal++;
-				subslave.counter.mammary++;
-				domslave.counter.penetrative++;
-			}
-		} else if (canDoVaginal(subslave) && subslave.vagina > 0 && canPenetrate(domslave) && fuckTarget > 33) {
-			if (passage() === "SA serve your other slaves") {
-				if (subslave.ID === V.slaves[V.i].ID) {
-					V.slaves[V.i].counter.vaginal++;
+			} else if (canDoVaginal(subslave) && subslave.vagina > 0 && canPenetrate(domslave) && fuckTarget > 33) {
+				if (passage() === "SA serve your other slaves") {
+					if (subslave.ID === V.slaves[V.i].ID) {
+						V.slaves[V.i].counter.vaginal++;
+						V.vaginalTotal++;
+						V.penetrativeTotal++;
+						domslave.counter.penetrative++;
+					} else {
+						V.slaves[V.i].counter.penetrative++;
+						V.penetrativeTotal++;
+						subslave.counter.vaginal++;
+						V.vaginalTotal++;
+					}
+				} else {
 					V.vaginalTotal++;
+					subslave.counter.vaginal++;
 					V.penetrativeTotal++;
 					domslave.counter.penetrative++;
-				} else {
-					V.slaves[V.i].counter.penetrative++;
-					V.penetrativeTotal++;
-					subslave.counter.vaginal++;
-					V.vaginalTotal++;
 				}
-			} else {
-				V.vaginalTotal++;
-				subslave.counter.vaginal++;
-				V.penetrativeTotal++;
-				domslave.counter.penetrative++;
-			}
-			if (canImpreg(subslave, domslave)) {
-				r += knockMeUp(subslave, 3, 0, domslave.ID, 1);
-			}
-		} else if (canDoAnal(subslave) && subslave.anus > 0 && canPenetrate(domslave) && fuckTarget > 10) {
+				if (canImpreg(subslave, domslave)) {
+					r += knockMeUp(subslave, 3, 0, domslave.ID, 1);
+				}
+			} else if (canDoAnal(subslave) && subslave.anus > 0 && canPenetrate(domslave) && fuckTarget > 10) {
 			// i think would impregnate from anal here even without .mpreg? same in original widget too
-			if (canImpreg(subslave, domslave) && subslave.mpreg === 1) {
-				r += knockMeUp(subslave, 3, 1, domslave.ID, 1);
-			}
-			if (passage() === "SA serve your other slaves") {
-				if (subslave.ID === V.slaves[V.i].ID) {
-					V.slaves[V.i].counter.anal++;
-					V.analTotal++;
-					V.penetrativeTotal++;
-					domslave.counter.penetrative++;
+				if (canImpreg(subslave, domslave) && subslave.mpreg === 1) {
+					r += knockMeUp(subslave, 3, 1, domslave.ID, 1);
+				}
+				if (passage() === "SA serve your other slaves") {
+					if (subslave.ID === V.slaves[V.i].ID) {
+						V.slaves[V.i].counter.anal++;
+						V.analTotal++;
+						V.penetrativeTotal++;
+						domslave.counter.penetrative++;
+					} else {
+						V.slaves[V.i].counter.penetrative++;
+						V.penetrativeTotal++;
+						V.analTotal++;
+						subslave.counter.anal++;
+					}
 				} else {
-					V.slaves[V.i].counter.penetrative++;
-					V.penetrativeTotal++;
 					V.analTotal++;
 					subslave.counter.anal++;
+					V.penetrativeTotal++;
+					domslave.counter.penetrative++;
 				}
 			} else {
-				V.analTotal++;
-				subslave.counter.anal++;
-				V.penetrativeTotal++;
-				domslave.counter.penetrative++;
+				V.oralTotal++;
+				subslave.counter.oral++;
 			}
-		} else {
-			V.oralTotal++;
-			subslave.counter.oral++;
 		}
+		return r;
 	}
-	return r;
-};
+})();
 
 /**
  * @param {App.Entity.SlaveState} slave
diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw
index 73c4a2c31523d8fe022c9c848c0a9ad590d9700e..78975625b88e0094c6f454744d71baaa10b3f5ad 100644
--- a/src/uncategorized/REFI.tw
+++ b/src/uncategorized/REFI.tw
@@ -1799,7 +1799,7 @@ There was a glint of envy <<if canSee($activeSlave)>>in $his eyes when $he saw<<
 	<<elseif canDoAnal($activeSlave) && $activeSlave.anus > 0>>
 		<<= VCheck.Anal()>>
 	<<else>>
-		<<= SimpleSexAct($activeSlave)>>
+		<<= SimpleSexAct.Player($activeSlave)>>
 	<</if>>
 	<<set $activeSlave.devotion += 4>>
 	<</replace>>
diff --git a/src/uncategorized/masterSuiteReport.tw b/src/uncategorized/masterSuiteReport.tw
index acc11fe79fcede8f8131e1bc56cc22bac93a346c..27c79cf879913c630f8e673bd8992cd3d1b338bf 100644
--- a/src/uncategorized/masterSuiteReport.tw
+++ b/src/uncategorized/masterSuiteReport.tw
@@ -226,7 +226,7 @@
 		/% Both Concubine and other slaves %/
 		<<if $masterSuiteUpgradeLuxury == 2 && $masterSuiteAverageEnergy > random(50,90)>>
 			<<set _energy = (Math.ceil($slaves[$i].energy/5)*7)>>
-			<<run SimpleSlaveFucking($slaves[$i], _energy)>>
+			<<run SimpleSexAct.Slave($slaves[$i], _energy)>>
 			<<if canPenetrate($slaves[$i])>>
 				<<set _fuckCount = (random(1,3)*_energy)>>
 				<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -372,7 +372,7 @@
 				<<set $servantMilkersMultiplier = 0.25>><<silently>><<include "SA get milked">><</silently>><<set $servantMilkersMultiplier = 1>>
 				gives $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
 			<</if>>
-			&nbsp;&nbsp;&nbsp;
+			<br>&nbsp;&nbsp;&nbsp;
 			<<= saChoosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
 			<<include "SA diet">>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index edb7444b1dbcfbf6f2c754c30d5b36b603afc944..71ccbdfe336b14cf5872f8829859062220f8a9d1 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -6460,7 +6460,7 @@
 	<<if (def _j) && isSlaveAvailable($slaves[$i]) && isSlaveAvailable($slaves[_j])>> /* rape time */
 		<<set _fuckCount = random(1,(Math.ceil($slaves[$i].energy/10)+1))>>
 		<<set $slaves[$i].need -= _fuckCount*10>>
-		<<= SimpleSlaveSlaveFucking($slaves[_j], $slaves[$i], _fuckCount)>>
+		<<= SimpleSexAct.Slaves($slaves[_j], $slaves[$i], _fuckCount)>>
 	<</if>>
 <</if>>
 <<if $slaves[$i].relationship > 2>>
@@ -6484,7 +6484,7 @@
 		<</if>>
 		<<set _fuckCount = random(Math.min(4,Math.ceil($slaves[$i].energy/20)),5)>>
 		<<set $slaves[$i].need = 0>>
-		<<= SimpleSlaveSlaveFucking($slaves[_j], $slaves[$i], _fuckCount)>>
+		<<= SimpleSexAct.Slaves($slaves[_j], $slaves[$i], _fuckCount)>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 8e5a35424bf0952b4439ff354ac751c1fff5f432..4cdf572d300621c2d6bfe9c0bd6e42f2601df605 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -1541,7 +1541,7 @@
 				<</if>>
 			<<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>>
 				<<if $Wardeness != 0 && canPenetrate($Wardeness)>>
-					<<run SimpleSlaveFucking($slaves[$i], _wardenFunTimes)>>
+					<<run SimpleSexAct.Slave($slaves[$i], _wardenFunTimes)>>
 					<<set $slaves[_FLs].counter.penetrative += _wardenFunTimes, $penetrativeTotal += _wardenFunTimes>>
 					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], $Wardeness) && ($cellblockWardenCumsInside == 1 || $Wardeness.fetish == "mindbroken") && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1) || ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1))>>
 						<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
@@ -1566,7 +1566,7 @@
 				<</if>>
 			<<else>>
 				<<if $Wardeness != 0 && canPenetrate($Wardeness)>>
-					<<run SimpleSlaveFucking($slaves[$i], _wardenFunTimes)>>
+					<<run SimpleSexAct.Slave($slaves[$i], _wardenFunTimes)>>
 					<<set $slaves[_FLs].counter.penetrative += _wardenFunTimes, $penetrativeTotal += _wardenFunTimes>>
 					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], $Wardeness) && ($cellblockWardenCumsInside == 1 || $Wardeness.fetish == "mindbroken") && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1) || ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1))>>
 						<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
diff --git a/src/uncategorized/saServeYourOtherSlaves.tw b/src/uncategorized/saServeYourOtherSlaves.tw
index 50feecef4febcae589d85305ab96fbe97441c066..9fbaaee5420df37826d6411e21500f3800638ce9 100644
--- a/src/uncategorized/saServeYourOtherSlaves.tw
+++ b/src/uncategorized/saServeYourOtherSlaves.tw
@@ -119,7 +119,7 @@
 	<<set $subSlaves = 1>>
 <</if>>
 <<set _fuckCount = Math.ceil((($dormitoryPopulation+$roomsPopulation)+random((($dormitoryPopulation+$roomsPopulation)*1),($dormitoryPopulation+$roomsPopulation)*7))/$subSlaves)>>
-<<run SimpleSlaveFucking($slaves[$i], _fuckCount)>>
+<<run SimpleSexAct.Slave($slaves[$i], _fuckCount)>>
 <<set $slaves[$i].need -= 2*_fuckCount>>
 
 <<else>> /* serving a slave */
@@ -382,10 +382,10 @@ is serving ''$slaves[_dom].slaveName'' this week.
 	<</if>>
 	<<if canPenetrate($slaves[_dom])>>
 		<<set _fuckCount = random(15,25)>>
-		<<= SimpleSlaveSlaveFucking($slaves[$i], $slaves[_dom], _fuckCount)>>
+		<<= SimpleSexAct.Slaves($slaves[$i], $slaves[_dom], _fuckCount)>>
 	<<elseif canPenetrate($slaves[$i]) && ((canDoVaginal($slaves[_dom]) && $slaves[_dom].vagina > 0) || (canDoAnal($slaves[_dom]) && $slaves[_dom].anus > 0))>> /* yes, that means $he rides _him2 */
 		<<set _fuckCount = random(15,25)>>
-		<<= SimpleSlaveSlaveFucking($slaves[_dom], $slaves[$i], _fuckCount)>>
+		<<= SimpleSexAct.Slaves($slaves[_dom], $slaves[$i], _fuckCount)>>
 	<<else>>
 		<<set _oralUse = random(15,25)>>
 	<</if>>
@@ -398,7 +398,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 		$slaves[_dom].slaveName doesn't get to use _his2 still-functional cock as much as _he2 would like; it often stands stiff and untended while _he2's being used. Not this week: $slaves[$i].slaveName spends the week with $slaves[_dom].slaveName's _domRace dick thrusting in and out of $his _subRace body, whenever _he2 feels like having an enthusiastic fuck. @@.hotpink;$slaves[_dom].slaveName loves having someone to tend to _his2 prick at last.@@
 	<</if>>
 	<<set _fuckCount = random(9,12)>>
-	<<= SimpleSlaveSlaveFucking($slaves[$i], $slaves[_dom], _fuckCount)>>
+	<<= SimpleSexAct.Slaves($slaves[$i], $slaves[_dom], _fuckCount)>>
 <<elseif ($slaves[_dom].amp != 1) && ($slaves[_dom].attrXX > 85) && ($slaves[$i].dick == 0) && ($slaves[$i].vagina > -1)>>
 	<<if ($slaves[$i].devotion < -20)>>
 		Since $slaves[_dom].slaveName loves girls, $slaves[$i].slaveName finds $himself groped, fingered, and toyed with. $He spends the week trying to avoid $slaves[_dom].slaveName's playful _domRace hands, but they rove across $his _subRace body anyway. @@.hotpink;$slaves[_dom].slaveName enjoys having a nice little toy right at hand,@@ even if $he does have to be forced.
@@ -409,7 +409,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 	<</if>>
 	<<if canPenetrate($slaves[_dom])>>
 		<<set _fuckCount = random(9,12)>>
-		<<= SimpleSlaveSlaveFucking($slaves[$i], $slaves[_dom], _fuckCount)>>
+		<<= SimpleSexAct.Slaves($slaves[$i], $slaves[_dom], _fuckCount)>>
 	<<else>>
 		<<set _oralUse = random(9,12)>>
 	<</if>>
@@ -440,19 +440,19 @@ is serving ''$slaves[_dom].slaveName'' this week.
 		<</if>>
 	<</if>>
 	<<set _fuckCount = random(9,12)>>
-	<<= SimpleSlaveSlaveFucking($slaves[_dom], $slaves[$i], _fuckCount)>>
+	<<= SimpleSexAct.Slaves($slaves[_dom], $slaves[$i], _fuckCount)>>
 <<elseif $slaves[$i].amp == 1>>
 	$slaves[_dom].slaveName doesn't have any special desires, so _he2 simply uses the helpless $slaves[$i].slaveName for comfort and convenience. $slaves[$i].slaveName finds $his helpless _subRace torso being used as a bath toy, a bedwarmer, and for sexual convenience. @@.hotpink;$slaves[_dom].slaveName enjoys the ease and companionship.@@
 	<<set _fuckCount = random(9,12)>>
-	<<= SimpleSlaveSlaveFucking($slaves[$i], $slaves[_dom], _fuckCount)>>
+	<<= SimpleSexAct.Slaves($slaves[$i], $slaves[_dom], _fuckCount)>>
 <<else>>
 	$slaves[_dom].slaveName doesn't have any special desires $slaves[$i].slaveName can satisfy, so _he2 simply uses $slaves[$i].slaveName for comfort and convenience. $slaves[$i].slaveName washes $his superior's _domRace body thoroughly and uses $his own _subRace body to warm $slaves[_dom].slaveName's bed at night. @@.hotpink;$slaves[_dom].slaveName enjoys the ease and companionship.@@
 	<<set _fuckCount = random(9,12)>>
-	<<= SimpleSlaveSlaveFucking($slaves[$i], $slaves[_dom], _fuckCount)>>
+	<<= SimpleSexAct.Slaves($slaves[$i], $slaves[_dom], _fuckCount)>>
 <</if>>
 
 <<set _oralUse = $slaves[$i].counter.oral - _oralUse, _analUse = $slaves[$i].counter.anal - _analUse, _vaginalUse = $slaves[$i].counter.vaginal - _vaginalUse, _mammaryUse = $slaves[$i].counter.mammary - _mammaryUse, _penetrativeUse = $slaves[$i].counter.penetrative - _penetrativeUse>>
-/% This is here because SimpleSlaveSlaveFucking doesn't update _analUse, etc. and that is needed to calculate _cervixPump %/
+/% This is here because SimpleSexAct.Slaves doesn't update _analUse, etc. and that is needed to calculate _cervixPump %/
 
 <<set _cervixPump = 0>>
 <<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
diff --git a/src/utility/saRulesWidgets.tw b/src/utility/saRulesWidgets.tw
index 436d925848fafb656da934691198d0ef4f870c60..e1441f393515d67e0f96a51cbb168c65b952c739 100644
--- a/src/utility/saRulesWidgets.tw
+++ b/src/utility/saRulesWidgets.tw
@@ -96,19 +96,19 @@ and
 			@@.hotpink;eagerly looks forward@@ to each climax $he shares with you.
 		<</if>>
 		<<set $slaves[$i].devotion += 2, $slaves[$i].need = 0>>
-		<<= SimpleSexAct($slaves[$i], 10)>>
+		<<= SimpleSexAct.Player($slaves[$i], 10)>>
 	<<elseif $freeSexualEnergy == 2>>
 		You have surplus sexual energy to fuck $him whenever <<if $slaves[$i].relationship == -3>> you notice $his need<<else>>$he forces $himself to ask<</if>>, and $he is @@.hotpink;sexually dependent@@ on you.
 		<<set $slaves[$i].devotion += 1, $slaves[$i].need -= 40>>
-		<<= SimpleSexAct($slaves[$i], 5)>>
+		<<= SimpleSexAct.Player($slaves[$i], 5)>>
 	<<elseif $slaves[$i].relationship == -3>>
 		You have little surplus sexual energy, but you make sure to keep your wife's needs in mind<<if $slaves[$i].devotion < -20>>, even if $he doesn't want it<</if>>.
 		<<set $slaves[$i].need -= 40>>
-		<<= SimpleSexAct($slaves[$i], 5)>>
+		<<= SimpleSexAct.Player($slaves[$i], 5)>>
 	<<else>>
 		You have little surplus sexual energy, and occasionally, $he asks in vain.
 		<<set $slaves[$i].need -= 20>>
-		<<= SimpleSexAct($slaves[$i], 2)>>
+		<<= SimpleSexAct.Player($slaves[$i], 2)>>
 	<</if>>
 <<else>>
 	You have no surplus sexual energy, and $he asks in vain, @@.gold;reducing $his trust@@ in you.
@@ -430,7 +430,7 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 	<<elseif ($slaves[$i].fetish == "cumslut")>>
 		suck or be sucked by any slave $he fancies.
 		<<set _fuckCount = random(5,15)>>
@@ -448,7 +448,7 @@ and
 								<<if $slaves[_j].trust < -20>>
 									Craving a rush, $he repeatedly forces a reluctant <<= SlaveFullName($slaves[_j])>> to have sex with $him in public. $slaves[_j].slaveName resents this, and $slaves[$i].slaveName's ongoing sexual abuse @@.lightsalmon;starts a rivalry@@ between them.
 									<<set $slaves[$i].rivalry = 1, $slaves[_j].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
-									<<run SimpleSlaveFucking($slaves[_j], 4)>>
+									<<run SimpleSexAct.Slave($slaves[_j], 4)>>
 									<<if canPenetrate($slaves[_j])>>
 										<<set _fuckCount = random(1,3)>>
 										<<set $slaves[_j].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -461,7 +461,7 @@ and
 				<</for>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 4)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 4)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(1,3)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -517,7 +517,7 @@ and
 									and the sexual abuse @@.lightsalmon;starts a rivalry@@ between them.
 									<<set $slaves[$i].rivalry = 1, $slaves[_j].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
 									<<break>>
-									<<run SimpleSlaveFucking($slaves[_j], 4)>>
+									<<run SimpleSexAct.Slave($slaves[_j], 4)>>
 									<<if canPenetrate($slaves[_j])>>
 										<<set _fuckCount = random(1,3)>>
 										<<set $slaves[_j].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -529,7 +529,7 @@ and
 				<</for>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 4)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 4)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(1,3)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -554,7 +554,7 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 12)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 12)>>
 	<<elseif ($slaves[$i].fetish == "dom")>>
 		force other slaves to submit to $him.
 		<<if $slaves[$i].assignmentVisible>>
@@ -569,7 +569,7 @@ and
 									$He repeatedly rapes a reluctant <<= SlaveFullName($slaves[_j])>>; $he can't seem to keep $his hands off the poor slave, who can't avoid $him. Not surprisingly, $slaves[_j].slaveName resents this, and $slaves[$i].slaveName's ongoing sexual abuse @@.lightsalmon;starts a rivalry@@ between them.
 									<<set $slaves[$i].rivalry = 1, $slaves[_j].rivalry = 1, $slaves[$i].rivalryTarget = $slaves[_j].ID, $slaves[_j].rivalryTarget = $slaves[$i].ID>>
 									<<break>>
-									<<run SimpleSlaveFucking($slaves[_j], 4)>>
+									<<run SimpleSexAct.Slave($slaves[_j], 4)>>
 								<</if>>
 							<</if>>
 						<</if>>
@@ -577,7 +577,7 @@ and
 				<</for>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(6,9)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -629,14 +629,14 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(3,6)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
 		<</if>>
 	<<else>>
 		demand that other slaves have sex with $him.
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(3,6)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -644,7 +644,7 @@ and
 	<</if>>
 <<else>>
 	demand that other slaves have sex with $him.
-	<<run SimpleSlaveFucking($slaves[$i], 7)>>
+	<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 	<<if canPenetrate($slaves[$i])>>
 		<<set _fuckCount = random(3,6)>>
 		<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -676,14 +676,14 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 	<<elseif ($slaves[$i].fetish == "cumslut")>>
 		and is popular for $his willingness to give oral.
 		<<set _fuckCount = random(5,15)>>
 		<<set $slaves[$i].counter.oral += _fuckCount, $oralTotal += _fuckCount>>
 	<<elseif ($slaves[$i].fetish == "humiliation")>>
 		usually asking them to fuck out in the open.
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(1,3)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -723,7 +723,7 @@ and
 		<<set $slaves[$i].counter.mammary += _fuckCount, $mammaryTotal += _fuckCount>>
 	<<elseif ($slaves[$i].fetish == "sadist")>>
 		usually pairing off with a masochistic slave willing to accept $his abuse.
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(1,3)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -748,10 +748,10 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 6)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 6)>>
 	<<elseif ($slaves[$i].fetish == "dom")>>
 		usually pairing off with a submissive bitch.
-		<<run SimpleSlaveFucking($slaves[$i], 6)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 6)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(1,3)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -779,7 +779,7 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(6,9)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -804,14 +804,14 @@ and
 				<</if>>
 			<</if>>
 		<</if>>
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(3,6)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
 		<</if>>
 	<<else>>
 		doing $his best to get off and move on.
-		<<run SimpleSlaveFucking($slaves[$i], 7)>>
+		<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 		<<if canPenetrate($slaves[$i])>>
 			<<set _fuckCount = random(3,6)>>
 			<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>
@@ -819,7 +819,7 @@ and
 	<</if>>
 <<else>>
 	doing $his best to get off and move on.
-	<<run SimpleSlaveFucking($slaves[$i], 7)>>
+	<<run SimpleSexAct.Slave($slaves[$i], 7)>>
 	<<if canPenetrate($slaves[$i])>>
 		<<set _fuckCount = random(3,6)>>
 		<<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>>