diff --git a/src/events/RE/REBusyArcade.js b/src/events/RE/REBusyArcade.js
new file mode 100644
index 0000000000000000000000000000000000000000..18c43bfccae7d1cdcbff87eef6a2a8cd05ee08e2
--- /dev/null
+++ b/src/events/RE/REBusyArcade.js
@@ -0,0 +1,58 @@
+App.Events.REBusyArcade = class REBusyArcade extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => App.Entity.facilities.arcade.employeesIDs().size > 3
+		];
+	}
+
+	actorPrerequisites() {
+		return [
+			[
+				s => s.assignment  === Job.ARCADE,
+				s => hasAnyArms(s),
+				s => s.fetish !== "mindbroken",
+				s => s.devotion < 45
+			]
+		];
+	}
+
+	execute(node) {
+		let [slave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, himself, him
+		} = getPronouns(slave);
+		const {title: Master} = getEnunciation(slave);
+
+		V.nextButton = "Continue";
+		V.nextLink = "RIE Eligibility Check";
+		App.Events.addParagraph(node, [`Slaves in your arcade are not immured in the facility permanently, since holding them in one position at all times would negatively impact their health. They are released to exercise, eat, bathe, and sleep, but for nothing else. You occasionally inspect them when they do so, to see that their harsh lives are not inappropriately difficult for them. One day when you are doing so, ${contextualIntro(V.PC, slave)} flings ${himself} on the ground in front of you the instant ${he} sees you.`]);
+
+		let r = [];
+		r.push(`Facing the ground, ${he}`);
+		if (!canTalk(slave)) {
+			r.push(`gestures with ${hasBothArms(slave) ? "shaking hands" : "a shaking hand"}`);
+			r.push(`that ${he} cannot take any more. ${He} begs you abjectly to let ${him} out of the arcade and promises to be a perfect sex slave if you do.`);
+		} else if (SlaveStatsChecker.checkForLisp(slave)) {
+			r.push(`lisps through tears`);
+		} else {
+			r.push(`sobs,`);
+		}
+		r.push(`"${Master}, ${Spoken(slave, "please. I can't take any more of this. Please let me out. I'll do anything")}, ${Master}. I'll love you forever, ${Master} — ${Spoken(slave, "just don't make me go back inside")} that wall."`);
+		App.Events.addParagraph(node, r);
+
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Accept ${his} pledge`, accept),
+			new App.Events.Result("Refuse", refuse),
+		]);
+
+		function accept() {
+			slave.devotion = 45;
+			removeJob(slave, "be confined in the arcade");
+			return `When you accept, ${slave.slaveName} looks up at you in incomprehension, expecting you to correct yourself or reveal that this is a cruel trick. When you do neither, ${he} scrabbles spastically to your feet, kisses them as ${he} cries, and then clings to your knees, sobbing. ${He} is so relieved by this reprieve that ${he} is now on the cusp of <span class="devotion inc">devotion to you,</span> and will obey out of near-paralytic fear of being sent back to the arcade.`;
+		}
+
+		function refuse() {
+			return `${He} did not really expect mercy, but ${his} sobs take on a distinctly dark tone of hopelessness at your refusal. As you personally immure ${him} in the arcade for another day of endless dick, you wonder whether ${he}'ll damage ${his} throat with all the commotion ${he}'s making. Several of the other arcade slaves glance dully over at the noise. Then, they look away.`;
+		}
+	}
+};
diff --git a/src/events/RE/REBusyBrothel.js b/src/events/RE/REBusyBrothel.js
new file mode 100644
index 0000000000000000000000000000000000000000..44fe60df55f8d40144cc2e6253758f02797aaa47
--- /dev/null
+++ b/src/events/RE/REBusyBrothel.js
@@ -0,0 +1,62 @@
+App.Events.REBusyBrothel = class REBusyBrothel extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => App.Utils.countFacilityWorkers(["brothel"]).brothel > 3
+		];
+	}
+
+	execute(node) {
+		V.nextButton = "Continue";
+		V.nextLink = "RIE Eligibility Check";
+		App.Events.addParagraph(node, [`${capFirstChar(V.brothelName)} is well staffed, and does a busy trade in flesh 24 hours a day. With so many sex slaves in the Free Cities, brothels occupy a functional, nearly mechanical part of the sexual landscape. Free citizens and sometimes even favored slaves visit the brothel, select from the available merchandise, relieve their sexual needs, and leave. Affection, companionship, and emotional needs are available elsewhere.`]);
+		App.Events.addParagraph(node, [`Of course, ${V.brothelName} is the best establishment of its kind in the arcology. Citizens who patronize it can expect themselves to be very well looked after by skilled slaves. The quality of the merchandise, the efficiency with which it is delivered, and the cleanliness and reputation of the premises <span class="green">reflect well on you,</span> so much so that you could leverage this bustling sexual commerce in many ways.`]);
+
+		repX(500, "event");
+
+		App.Events.addResponses(node, [
+			new App.Events.Result("Surprise the hardworking whores with a day of rest", rest, `This will cost ${cashFormat(1000)}`),
+			new App.Events.Result("Hire an expert hooker to give lessons", lessons, `This will cost ${cashFormat(2000)}`),
+			new App.Events.Result("Eliminate prices for one morning to promote the brothel", promote, `This will cost ${cashFormat(2000)}`),
+		]);
+
+		function rest() {
+			cashX(-1000, "event");
+			for (const slave of V.slaves.filter(s => s.assignment === Job.Brothel)) {
+				slave.devotion += 4;
+				slave.lastWeeksCashIncome += 250;
+				slave.lifetimeCashIncome += 250;
+			}
+			return `The problem with assembly-line sex is that it has a tendency to destroy any sense of intimacy or fun. So, you make some simple preparations and close the brothel for a day, hiring some freelancers to cover. All your slave whores are allowed to sleep late, and then spend the day with you playing games and enjoying light amusements. The slaves are surprised by your generosity, but they have fun. Many of the games are sexually themed. One day of giggling and squealing can't completely reverse the transactionalization of sex for them, but they <span class="devotion inc">appreciate the effort.</span>`;
+		}
+		function lessons() {
+			cashX(-2000, "event");
+			for (const slave of V.slaves.filter(s => s.assignment === Job.Brothel)) {
+				slave.lastWeeksCashIncome += 250;
+				slave.lifetimeCashIncome += 250;
+				if (slave.skill.whoring < 100) {
+					slave.skill.whoring += 10;
+				} else {
+					slave.devotion += 4;
+				}
+			}
+			return `The citizen streetwalker has had her day. A few of the cleverest have avoided being driven into poverty, either by becoming madams or by finding a way to build a new career serving the slave brothel industry. One of these is touring the city, offering her long sexual experience in seminars for slave prostitutes. Her services are not cheap, but it rapidly becomes clear that they are worth it. She is a grey-haired but still elegant woman with deep crow's feet and a smoker's voice. She is not only a sexual master, but a hard-bitten and comprehensively experienced businesswoman. All of your brothel slaves with any room for improvement in their whoring skills <span class="reputation inc">learn from her lessons,</span> while those who have nothing to learn <span class="devotion inc">gain confidence</span> from her praise.`;
+		}
+		function promote() {
+			repX(1000, "event");
+			cashX(-2000, "event");
+			for (const slave of V.slaves.filter(s => s.assignment === Job.Brothel)) {
+				healthDamage(slave, 10);
+				if (canDoVaginal(slave)) {
+					actX(slave, "vaginal", 5);
+					if (canDoAnal(slave)) {
+						actX(slave, "anal", 5);
+					}
+				} else if (canDoAnal(slave)) {
+					actX(slave, "anal", 10);
+				}
+				actX(slave, "oral", 10);
+			}
+			return `The news that sex will be free at the brothel travels like wildfire. Security measures are necessary to control the throng that spends the entire day entering and leaving the brothel, though as the day goes on the crowds thin. By midmorning, all the holes on offer are so fucked out that only those who fetishize that sort of thing stick around. The brothel is a real seminal sewer by noon, and it smells like it. Nevertheless, free sex is a short route to <span class="reputation inc">public approval,</span> though you do miss a morning's fees. The poor slave whores are <span class="health dec">fairly battered</span> by so much wear and tear in so little time.`;
+		}
+	}
+};
diff --git a/src/events/RE/REBusyDairy.js b/src/events/RE/REBusyDairy.js
new file mode 100644
index 0000000000000000000000000000000000000000..15e943f7a2dd42e43e919b928c50a516fa6ac66e
--- /dev/null
+++ b/src/events/RE/REBusyDairy.js
@@ -0,0 +1,51 @@
+App.Events.REBusyDairy = class REBusyDairy extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => App.Utils.countFacilityWorkers(["dairy"]).dairy > 3,
+			() => V.dairyRestraintsSetting < 2
+		];
+	}
+
+	execute(node) {
+		V.nextButton = "Continue";
+		V.nextLink = "RIE Eligibility Check";
+		App.Events.addParagraph(node, [`${capFirstChar(V.dairyName)} is working away steadily. Its high-quality product <span class="reputation inc">reflects well on you,</span>you muse one day as you inspect the premises. The gentle pneumatic sounds of the milkers and the whimpers of the cows being milked are a pleasant background for the thought.`]);
+		App.Events.addParagraph(node, [`Even with high doses of modern drugs, human cows simply do not produce a very high volume of milk. This isn't much of a business problem, since it just means that the product can be sold at a high price. However, some of the more grandiose ideas about how to use milk have had to wait until you have enough cows producing enough milk to make them possible.`]);
+
+		repX(500, "event");
+
+		const choices = [];
+		choices.push(new App.Events.Result("Share a milk bath with the cows", share, `This will cost ${cashFormat(1000)}`));
+		if (V.club !== 0) {
+			choices.push(new App.Events.Result("Add fresh milk to the club for a day to advertise", advertise, `This will cost ${cashFormat(2000)}`));
+		}
+		if (cumSlaves().length >= 5) {
+			choices.push(new App.Events.Result("Cum in, milk out", cumLoop, `This will cost ${cashFormat(1000)}`));
+		}
+		App.Events.addResponses(node, choices);
+
+		function share() {
+			cashX(-1000, "event");
+			for (const slave of V.slaves.filter(s => s.assignment === Job.DAIRY)) {
+				slave.devotion += 4;
+				if (canDoVaginal(slave)) {
+					actX(slave, "vaginal");
+				} else if (canDoAnal(slave)) {
+					actX(slave, "anal");
+				}
+				actX(slave, "oral");
+			}
+			return `Milk is a fashionable skin treatment in the Free Cities, and many of the cows fetishize their breasts and their milk. Many of them giggle with delight when you bring them all into a large spa room with a huge tub full of their fresh milk. A pittance will be lost from sales, but it's hard to think of such things when swimming and splashing in warm, nutty mother's milk with so many huge-breasted slaves, many of whom are milking themselves into the bath. Some of the older ones relax and luxuriate, gently milking themselves and masturbating or each other, according to taste. The younger cows prefer to rub themselves against you, taking turns being fucked. Regardless, they all <span class="devotion inc">appreciate such a special experience.</span>`;
+		}
+		function advertise() {
+			cashX(-2000, "event");
+			repX(2500, "event");
+			return `Sexual sights and sounds are all over the arcology. Nevertheless, passersby on the club are surprised to find one morning that a previously normal screen advertising your brand of milk has a luscious pair of breasts protruding through it at head height. The advertisement encourages anyone to try a free sample. The slaves constantly rotate, pressing fresh tits through the gap for public suckling. It is <span class="reputation inc">generally agreed that your product is of the finest quality</span> and you even have enquiries about how it might be exported outside the arcology, should you manage to increase production.`;
+		}
+		function cumLoop() {
+			repX(5000, "event");
+			cashX(-1000, "event");
+			return `As a promotional gimmick, you announce with considerable fanfare a special, experimental brand of milk, available at the normal price for a short time only. The milk will be unique in that it will be from cows fed mostly on slaves' cum; the cockmilked slaves will in turn be given as much milk as possible to produce a 'pure slave product,' recursively. The sad realities of nutrition stop it from being much more than a marketing ploy, but it's certainly a <span class="reputation inc">successful</span> attempt to spark discussion.`;
+		}
+	}
+};
diff --git a/src/events/RE/reBusyClub.js b/src/events/RE/reBusyClub.js
new file mode 100644
index 0000000000000000000000000000000000000000..375e3df30e1dc925ed1a6d1f84c72dd5436db3e7
--- /dev/null
+++ b/src/events/RE/reBusyClub.js
@@ -0,0 +1,33 @@
+App.Events.REBusyClub = class REBusyClub extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => App.Utils.countFacilityWorkers(["club"]).club > 3
+		];
+	}
+
+	execute(node) {
+		V.nextButton = "Continue";
+		V.nextLink = "RIE Eligibility Check";
+		App.Events.addParagraph(node, [`The original designers of the modern arcology did not realize how inseparable from slavery their work would become. The club at the social heart of ${V.arcologies[0].name} was not meant as a center of the more friendly kind of sexual slavery, but that is what it has become. Free whores of the highest quality work there, and they are accompanied by a flock of your slaves who have simple orders to dance, add cheer, and perform sexual favors wherever they can.`]);
+		App.Events.addParagraph(node, [`Offering slaves for free sex would become unmanageable if the club where your public servants work was open to the unwashed masses, but it is not. The arcology is already selective, and only good citizens can party, dance, and fuck the night away in $clubName. The upper classes <span class="reputation inc">recognize your contributions</span> to arcology culture, which you could probably parlay into an even greater benefit.`]);
+
+		repX(500, "event");
+
+		App.Events.addResponses(node, [
+			new App.Events.Result("Sponsor a special event in the club", sponsor, `This will cost ${cashFormat(2000)}`),
+			new App.Events.Result("Host a business exposition", host, `This will cost ${cashFormat(5000)}`),
+		]);
+
+		function sponsor() {
+			cashX(-2000, "event");
+			repX(2500, "event");
+			return `The Free Cities are new, and so is their culture. There are new traditions, new expectations, and now, new holidays. One morning, the upper classes of the arcology are surprised and gratified to find that the club has been specially decorated, and all the club sluts are nude. The floor of the club is typically meant for dirty dancing and some light sex, not public penetrative intercourse. Not today; today is special. The festivities <span class="reputation inc">greatly improve your renown;</span> you have set a high bar for what a wealthy arcology owner should do.`;
+		}
+		function host() {
+			cashX(-5000, "event");
+			V.arcologies[0].prosperity += 2;
+			repX(2500, "event");
+			return `With the world economy in a perilous state, the Free Cities are one of the few remaining areas where innovation and new business opportunities still appear. The novel markets associated with the slave trade only reinforce this trend, offering a cornucopia of opportunities for the clear-eyed investor with liquid assets. Every other week there is news of a new fortune being made from smart investments in leather, in human growth hormones, or in psychoactive drugs. You host an exposition for slave services centered on the club, with your slaves serving as greeters who are eager to ensure that all the little wants of visiting notables are thoroughly satisfied. The optimistic outlook projected by this event <span class="green">improves ${V.arcologies[0].name}'s business prospects</span> and even <span class="reputation inc">reflects well on you personally.</span>`;
+		}
+	}
+};
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index dfc8e6ea39ae870ba0ae8e447deed4128fcc8210..5ac3ab52ca9473f895102966636e40b235b4c438 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -162,6 +162,10 @@ App.Events.getNonindividualEvents = function() {
 		new App.Events.RELegendaryEntertainer(),
 		new App.Events.RELegendaryWomb(),
 
+		new App.Events.REBusyClub(),
+		new App.Events.REBusyArcade(),
+		new App.Events.REBusyDairy(),
+		new App.Events.REBusyBrothel(),
 		new App.Events.REBusyServantsQuarters(),
 
 		// recFS
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index c932445f6a6ec1ecfa8076e475ddb7662175d9d7..6201da5f5448b36532558109ffd68c8f0e14029c 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -80,23 +80,9 @@
 	/* Multislave Events */
 	<<set _L = App.Utils.countFacilityWorkers(["brothel", "clinic", "club", "dairy", "cellblock", "spa", "schoolroom", "servantsQuarters"])>>
 
-	<<if _L.brothel > 3>>
-		<<set $events.push("RE busy brothel")>>
-	<</if>>
 	<<if _L.brothel > 5>>
 		<<set $events.push("RE brothel function")>>
 	<</if>>
-	<<if _L.club > 3>>
-		<<set $events.push("RE busy club")>>
-	<</if>>
-	<<if _L.dairy > 3>>
-		<<if $dairyRestraintsSetting < 2>>
-			<<set $events.push("RE busy dairy")>>
-		<</if>>
-	<</if>>
-	<<if App.Entity.facilities.arcade.employeesIDs().size > 3>>
-		<<set $events.push("RE busy arcade")>>
-	<</if>>
 
 	/* Position Events */
 
diff --git a/src/uncategorized/reBusyArcade.tw b/src/uncategorized/reBusyArcade.tw
deleted file mode 100644
index c0af66197283ebaa5c0c020b23ff6cb27fb71221..0000000000000000000000000000000000000000
--- a/src/uncategorized/reBusyArcade.tw
+++ /dev/null
@@ -1,36 +0,0 @@
-:: RE busy arcade [nobr]
-
-<<set $activeSlave = App.Entity.facilities.arcade.employees().filter(s => hasAnyArms(s) && s.fetish !== "mindbroken" && s.devotion < 45).random()>>
-
-<<if (ndef $activeSlave)>>
-	<<goto "RIE Eligibility Check">>
-<<else>>
-
-<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "RIE Eligibility Check">>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
-<<run Enunciate($activeSlave)>>
-
-Slaves in your arcade are not immured in the facility permanently, since holding them in one position at all times would negatively impact their health. They are released to exercise, eat, bathe, and sleep, but for nothing else. You occasionally inspect them when they do so, to see that their harsh lives are not inappropriately difficult for them. One day when you are doing so, <<= App.UI.slaveDescriptionDialog($activeSlave)>> flings $himself on the ground in front of you the instant $he sees you.
-
-<br><br>
-
-Facing the ground, <<if !canTalk($activeSlave)>>$he gestures with <<if hasBothArms($activeSlave)>>shaking hands<<else>>a shaking hand<</if>> that $he cannot take any more. $He begs you abjectly to let $him out of the arcade and promises to be a perfect sex slave if you do. <<elseif SlaveStatsChecker.checkForLisp($activeSlave)>>$he lisps through tears, <<else>>$he sobs, <</if>>"<<Master>>, plea<<s>>e. I can't take any more of thi<<s>>. Plea<<s>>e let me out. I'll do anything, <<Master>>. I'll love you forever, <<Master>> — ju<<s>>t don't make me go back in<<s>>ide that wall."
-
-<br><br>
-
-<span id="result">
-<<link "Accept $his pledge">>
-	<<replace "#result">>
-	When you accept, $activeSlave.slaveName looks up at you in incomprehension, expecting you to correct yourself or reveal that this is a cruel trick. When you do neither, $he scrabbles spastically to your feet, kisses them as $he cries, and then clings to your knees, sobbing. $He is so relieved by this reprieve that $he is now on the cusp of @@.hotpink;devotion to you,@@ and will obey out of near-paralytic fear of being sent back to the arcade.
-	<<set $activeSlave.devotion = 45>>
-	<<= removeJob($activeSlave, "be confined in the arcade")>>
-	<</replace>>
-<</link>>
-<br><<link "Refuse">>
-	<<replace "#result">>
-	$He did not really expect mercy, but $his sobs take on a distinctly dark tone of hopelessness at your refusal. As you personally immure $him in the arcade for another day of endless dick, you wonder whether $he'll damage $his throat with all the commotion $he's making. Several of the other arcade slaves glance dully over at the noise. Then, they look away.
-	<</replace>>
-<</link>>
-</span>
-
-<</if>>
diff --git a/src/uncategorized/reBusyBrothel.tw b/src/uncategorized/reBusyBrothel.tw
deleted file mode 100644
index ca08fe39153ea1a10e38de0d7b6f86a61c2a6cfb..0000000000000000000000000000000000000000
--- a/src/uncategorized/reBusyBrothel.tw
+++ /dev/null
@@ -1,64 +0,0 @@
-:: RE busy brothel [nobr]
-
-<<set $nextButton = "Continue">>
-<<set $nextLink = "RIE Eligibility Check">>
-
-<<= capFirstChar($brothelName)>> is well staffed, and does a busy trade in flesh 24 hours a day. With so many sex slaves in the Free Cities, brothels occupy a functional, nearly mechanical part of the sexual landscape. Free citizens and sometimes even favored slaves visit the brothel, select from the available merchandise, relieve their sexual needs, and leave. Affection, companionship, and emotional needs are available elsewhere.
-
-<br><br>
-
-Of course, $brothelName is the best establishment of its kind in the arcology. Citizens who patronize it can expect themselves to be very well looked after by skilled slaves. The quality of the merchandise, the efficiency with which it is delivered, and the cleanliness and reputation of the premises @@.green;reflect well on you,@@<<run repX(500, "event")>> so much so that you could leverage this bustling sexual commerce in many ways.
-
-<br><br>
-
-<span id="result">
-<<link "Surprise the hardworking whores with a day of rest">>
-	<<replace "#result">>
-		The problem with assembly-line sex is that it has a tendency to destroy any sense of intimacy or fun. So, you make some simple preparations and close the brothel for a day, hiring some freelancers to cover. All your slave whores are allowed to sleep late, and then spend the day with you playing games and enjoying light amusements. The slaves are surprised by your generosity, but they have fun. Many of the games are sexually themed. One day of giggling and squealing can't completely reverse the transactionalization of sex for them, but they @@.hotpink;appreciate the effort.@@
-		<<run App.Entity.facilities.brothel.employees().forEach(s => {
-			s.devotion += 4;
-			s.lastWeeksCashIncome += 250;
-			s.lifetimeCashIncome += 250;
-		})>>
-		<<run cashX(-1000, "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(1000)>>//
-<br><<link "Hire an expert hooker to give lessons">>
-	<<replace "#result">>
-		The citizen streetwalker has had her day. A few of the cleverest have avoided being driven into poverty, either by becoming madams or by finding a way to build a new career serving the slave brothel industry. One of these is touring the city, offering her long sexual experience in seminars for slave prostitutes. Her services are not cheap, but it rapidly becomes clear that they are worth it. She is a grey-haired but still elegant woman with deep crow's feet and a smoker's voice. She is not only a sexual master, but a hard-bitten and comprehensively experienced businesswoman. All of your brothel slaves with any room for improvement in their whoring skills @@.green;learn from her lessons,@@ while those who have nothing to learn @@.hotpink;gain confidence@@ from her praise.
-		<<run App.Entity.facilities.brothel.employees().forEach(s => {
-			s.lastWeeksCashIncome += 250;
-			s.lifetimeCashIncome += 250;
-			if (s.skill.whoring < 100) {
-				s.skill.whoring += 10;
-			} else {
-				s.devotion += 4;
-			}
-		})>>
-		<<run cashX(-2000, "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(2000)>>//
-<br><<link "Eliminate prices for one morning to promote the brothel">>
-	<<replace "#result">>
-		The news that sex will be free at the brothel travels like wildfire. Security measures are necessary to control the throng that spends the entire day entering and leaving the brothel, though as the day goes on the crowds thin. By midmorning, all the holes on offer are so fucked out that only those who fetishize that sort of thing stick around. The brothel is a real seminal sewer by noon, and it smells like it. Nevertheless, free sex is a short route to @@.green;public approval,@@ though you do miss a morning's fees. The poor slave whores are @@.health.dec;fairly battered@@ by so much wear and tear in so little time.
-		<<run App.Entity.facilities.brothel.employees().forEach(s => {
-			healthDamage(s, 10);
-			if (canDoVaginal(s)) {
-				s.counter.vaginal += 5;
-				V.vaginalTotal += 5;
-				if (canDoAnal(s)) {
-					s.counter.anal += 5;
-					V.analTotal += 5;
-				}
-			} else if (canDoAnal(s)) {
-				s.counter.anal += 10;
-				V.analTotal += 10;
-			}
-			s.counter.oral += 10;
-			V.oralTotal += 10;
-		})>>
-		<<run cashX(-2000, "event")>>
-		<<run repX(1000, "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(2000)>>//
-</span>
diff --git a/src/uncategorized/reBusyClub.tw b/src/uncategorized/reBusyClub.tw
deleted file mode 100644
index 0530430f83dfe6cd6eb39106555e3e07bc8c1de2..0000000000000000000000000000000000000000
--- a/src/uncategorized/reBusyClub.tw
+++ /dev/null
@@ -1,30 +0,0 @@
-:: RE busy club [nobr]
-
-<<set $nextButton = "Continue">>
-<<set $nextLink = "RIE Eligibility Check">>
-
-The original designers of the modern arcology did not realize how inseparable from slavery their work would become. The club at the social heart of $arcologies[0].name was not meant as a center of the more friendly kind of sexual slavery, but that is what it has become. Free whores of the highest quality work there, and they are accompanied by a flock of your slaves who have simple orders to dance, add cheer, and perform sexual favors wherever they can.
-
-<br><br>
-
-Offering slaves for free sex would become unmanageable if the club where your public servants work was open to the unwashed masses, but it is not. The arcology is already selective, and only good citizens can party, dance, and fuck the night away in $clubName. The upper classes @@.green;recognize your contributions@@<<run repX(500, "event")>> to arcology culture, which you could probably parlay into an even greater benefit.
-
-<br><br>
-
-<span id="result">
-<<link "Sponsor a special event in the club">>
-	<<replace "#result">>
-	The Free Cities are new, and so is their culture. There are new traditions, new expectations, and now, new holidays. One morning, the upper classes of the arcology are surprised and gratified to find that the club has been specially decorated, and all the club sluts are nude. The floor of the club is typically meant for dirty dancing and some light sex, not public penetrative intercourse. Not today; today is special. The festivities @@.green;greatly improve your renown;@@ you have set a high bar for what a wealthy arcology owner should do.
-	<<run cashX(-2000, "event")>>
-	<<run repX(2500, "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(2000)>>//
-<br><<link "Host a business exposition">>
-	<<replace "#result">>
-	With the world economy in a perilous state, the Free Cities are one of the few remaining areas where innovation and new business opportunities still appear. The novel markets associated with the slave trade only reinforce this trend, offering a cornucopia of opportunities for the clear-eyed investor with liquid assets. Every other week there is news of a new fortune being made from smart investments in leather, in human growth hormones, or in psychoactive drugs. You host an exposition for slave services centered on the club, with your slaves serving as greeters who are eager to ensure that all the little wants of visiting notables are thoroughly satisfied. The optimistic outlook projected by this event @@.green;improves $arcologies[0].name's business prospects@@ and even @@.green;reflects well on you personally.@@
-	<<run cashX(-5000, "event")>>
-	<<set $arcologies[0].prosperity += 2>>
-	<<run repX(2500, "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(5000)>>//
-</span>
diff --git a/src/uncategorized/reBusyDairy.tw b/src/uncategorized/reBusyDairy.tw
deleted file mode 100644
index c6fa922a487e404a3fb346ff35075d8bfcb0c332..0000000000000000000000000000000000000000
--- a/src/uncategorized/reBusyDairy.tw
+++ /dev/null
@@ -1,48 +0,0 @@
-:: RE busy dairy [nobr]
-
-<<set $nextButton = "Continue">>
-<<set $nextLink = "RIE Eligibility Check">>
-
-<<= capFirstChar($dairyName)>> is working away steadily. Its high-quality product @@.green;reflects well on you,@@<<run repX(500, "event")>> you muse one day as you inspect the premises. The gentle pneumatic sounds of the milkers and the whimpers of the cows being milked are a pleasant background for the thought.
-
-<br><br>
-
-Even with high doses of modern drugs, human cows simply do not produce a very high volume of milk. This isn't much of a business problem, since it just means that the product can be sold at a high price. However, some of the more grandiose ideas about how to use milk have had to wait until you have enough cows producing enough milk to make them possible.
-
-<br><br>
-
-<span id="result">
-<<link "Share a milk bath with the cows">>
-	<<replace "#result">>
-	Milk is a fashionable skin treatment in the Free Cities, and many of the cows fetishize their breasts and their milk. Many of them giggle with delight when you bring them all into a large spa room with a huge tub full of their fresh milk. A pittance will be lost from sales, but it's hard to think of such things when swimming and splashing in warm, nutty mother's milk with so many huge-breasted slaves, many of whom are milking themselves into the bath. Some of the older ones relax and luxuriate, gently milking themselves and masturbating or each other, according to taste. The younger cows prefer to rub themselves against you, taking turns being fucked. Regardless, they all @@.hotpink;appreciate such a special experience.@@
-	<<for _slave range App.Utils.jobForAssignment(Job.DAIRY).employees()>>
-		<<set _slave.devotion += 4>>
-		<<if canDoVaginal(_slave)>>
-			<<run actX(_slave, "vaginal")>>
-		<<elseif canDoAnal(_slave)>>
-			<<run actX(_slave, "anal")>>
-		<</if>>
-		<<run actX(_slave, "oral")>>
-	<</for>>
-	<<run cashX(-1000, "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(1000)>>//
-<<if $club != 0>>
-	<br><<link "Add fresh milk to the club for a day to advertise">>
-		<<replace "#result">>
-		Sexual sights and sounds are all over the arcology. Nevertheless, passersby on the club are surprised to find one morning that a previously normal screen advertising your brand of milk has a luscious pair of breasts protruding through it at head height. The advertisement encourages anyone to try a free sample. The slaves constantly rotate, pressing fresh tits through the gap for public suckling. It is @@.green;generally agreed that your product is of the finest quality@@ and you even have enquiries about how it might be exported outside the arcology, should you manage to increase production.
-		<<run cashX(-2000, "event")>>
-		<<run repX(2500, "event")>>
-		<</replace>>
-	<</link>> //This will cost <<print cashFormat(2000)>>//
-<</if>>
-<<if cumSlaves().length >= 5>>
-	<br><<link "Cum in, milk out">>
-		<<replace "#result">>
-		As a promotional gimmick, you announce with considerable fanfare a special, experimental brand of milk, available at the normal price for a short time only. The milk will be unique in that it will be from cows fed mostly on slaves' cum; the cockmilked slaves will in turn be given as much milk as possible to produce a 'pure slave product,' recursively. The sad realities of nutrition stop it from being much more than a marketing ploy, but it's certainly a @@.green;successful@@ attempt to spark discussion.
-		<<run repX(5000, "event")>>
-		<<run cashX(-1000, "event")>>
-		<</replace>>
-	<</link>> //This will cost <<print cashFormat(1000)>>//
-<</if>>
-</span>
\ No newline at end of file