diff --git a/src/events/PE/concubineInterview.js b/src/events/PE/concubineInterview.js
index e19fae7bf0df0bb99a49463ca9e40224e429aee3..9ccd326cc8022a005009cd50ea825d6c7c2b69f8 100644
--- a/src/events/PE/concubineInterview.js
+++ b/src/events/PE/concubineInterview.js
@@ -1,8 +1,7 @@
 App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events.BaseEvent {
 	eventPrerequisites() {
 		return [
-			() => typeof S.Concubine !== "undefined",
-			() => canTalk(S.Concubine) && canHear(S.Concubine),
+			() => !!S.Concubine
 		];
 	}
 
@@ -10,6 +9,8 @@ App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events.
 		return [
 			[
 				s => s.ID === S.Concubine.ID,
+				canTalk,
+				canHear
 			]
 		];
 	}
diff --git a/src/events/nonRandom/pAssociatesPublicSlut.js b/src/events/PE/peAssociatesPublicSlut.js
similarity index 98%
rename from src/events/nonRandom/pAssociatesPublicSlut.js
rename to src/events/PE/peAssociatesPublicSlut.js
index 2d1bce4ebf5c083004b12a1a7369036dca5714c8..691abcd4eeb759766f8cd164741c85f337d35144 100644
--- a/src/events/nonRandom/pAssociatesPublicSlut.js
+++ b/src/events/PE/peAssociatesPublicSlut.js
@@ -1,4 +1,4 @@
-App.Events.PAssociatesPublicSlut = class PAssociatesPublicSlut extends App.Events.BaseEvent {
+App.Events.PEAssociatesPublicSlut = class PEAssociatesPublicSlut extends App.Events.BaseEvent {
 	eventPrerequisites() {
 		return [
 			() => V.week >= 10
@@ -9,7 +9,7 @@ App.Events.PAssociatesPublicSlut = class PAssociatesPublicSlut extends App.Event
 		let r = [];
 
 		V.nextButton = "Continue";
-		V.nextLink = "Scheduled Event";
+		V.nextLink = "RIE Eligibility Check";
 		const _num = random(1, 99);
 
 		App.Events.addParagraph(node, [
diff --git a/src/events/RE/reRelativeRecruiter.js b/src/events/RE/reRelativeRecruiter.js
index bbf5c1a9e6e0a28e23277a0c1ecc7e5240277df0..4d8867c038fc37e78acf8323caf3ec964be21efb 100644
--- a/src/events/RE/reRelativeRecruiter.js
+++ b/src/events/RE/reRelativeRecruiter.js
@@ -9,7 +9,8 @@ App.Events.RERelativeRecruiter = class RERelativeRecruiter extends App.Events.Ba
 				s => s.fetish !== "mindbroken",
 				s => s.fuckdoll === 0,
 				s => s.devotion > 50,
-				s => s.canRecruit === 1 && (totalRelatives(s) === 0 || V.limitFamilies !== 1),
+				s => s.canRecruit === 1,
+				s => totalRelatives(s) === 0 || V.limitFamilies !== 1,
 				s => this._chooseTargetRelative(s)
 			]
 		];
diff --git a/src/events/nonRandom/daughters/pCoupAftermath.js b/src/events/nonRandom/daughters/pCoupAftermath.js
index 1cb22feecace1fd6b202b876015ec6e5f20d75d6..0977e320c6994ddd357a3a61ea9c49834e3288b2 100644
--- a/src/events/nonRandom/daughters/pCoupAftermath.js
+++ b/src/events/nonRandom/daughters/pCoupAftermath.js
@@ -1,4 +1,4 @@
-App.Events.PCoupAftermath = class REShippingContainer extends App.Events.BaseEvent {
+App.Events.PCoupAftermath = class PCoupAftermath extends App.Events.BaseEvent {
 	execute(node) {
 		let r = [];
 
diff --git a/src/events/nonRandom/pBadBreasts.js b/src/events/nonRandom/pBadBreasts.js
index df970fe350a5e3ff06ae9d42d96cd97efc160847..3431da85a7cc80c52c5044fdb14fd58d9a2e2e5a 100644
--- a/src/events/nonRandom/pBadBreasts.js
+++ b/src/events/nonRandom/pBadBreasts.js
@@ -5,7 +5,7 @@ App.Events.pBadBreasts = class pBadBreasts extends App.Events.BaseEvent {
 
 	actorPrerequisites() {
 		return [[
-			(s) => { return ["breast injections", "intensive breast injections", "hyper breast injections"].includes(s.drugs); }
+			(s) => ["breast injections", "intensive breast injections", "hyper breast injections"].includes(s.drugs)
 		]];
 	}
 
diff --git a/src/events/nonRandom/pBodyswapReveal.js b/src/events/nonRandom/pBodyswapReveal.js
index 8023be4ea74e93455bd17e6957fb01f445bbfab3..d9d3dfd57b8694556a86ad5494460c3f5f0b73e6 100644
--- a/src/events/nonRandom/pBodyswapReveal.js
+++ b/src/events/nonRandom/pBodyswapReveal.js
@@ -9,7 +9,6 @@ App.Events.PBodyswapReveal = class PBodyswapReveal extends App.Events.BaseEvent
 
 	execute(node) {
 		V.nextButton = "Continue";
-		V.nextLink = "Random Nonindividual Event";
 
 		V.bodyswapAnnounced = 1;
 		App.Events.addParagraph(node, [`You receive countless messages throughout the day; mostly worthless spam, several uninteresting business offers and the occasional enslavement request. This one catches your eye however. It's an offer from a top surgeon who has recently been experimenting with radical new surgeries. You've been loosely following their work for the last few weeks, ever since they successfully swapped the consciousness from one slave to another with minimal side effects, assuming they are kept on a special suppressant, and it seems they are now offering their work to anyone with a surgical suite capable of performing the surgery and willing to undertake the risk.`]);
diff --git a/src/events/nonRandom/pCorpAnnouncement.js b/src/events/nonRandom/pCorpAnnouncement.js
index 203a36546c765b4e62ca8e801173932aabb75024..c8eace38fdc9e6fd49cfa0d3d5635dd05a766450 100644
--- a/src/events/nonRandom/pCorpAnnouncement.js
+++ b/src/events/nonRandom/pCorpAnnouncement.js
@@ -9,7 +9,6 @@ App.Events.PCorpAnnouncement = class PCorpAnnouncement extends App.Events.BaseEv
 
 	execute(node) {
 		V.nextButton = "Continue";
-		V.nextLink = "Random Nonindividual Event";
 
 		V.corp.Announced = 1;
 		App.Events.addParagraph(node, [`You never understood the power of money until accumulating so much of it yourself. If you were to try to explain it to someone without that power, you would emphasize the access it buys you. You can speak to anyone, about anything; propose anything, to anyone. And recently, you have begun to encounter the trouble of being too powerful.`]);
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index 309773b0f339cf58f33127c0b62029ffd07c5a7d..72003fb1f58595872c3606ee9d3dcf65966f5d24 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -126,7 +126,7 @@ App.Events.getNonindividualEvents = function() {
 		new App.Events.PEPitFightInvite(),
 		new App.Events.PECombatTraining(),
 		new App.Events.PELonelyBodyguard(),
-		new App.Events.PAssociatesPublicSlut(),
+		new App.Events.PEAssociatesPublicSlut(),
 
 		new App.Events.REDevotees(),
 		new App.Events.RERelativeRecruiter(),
diff --git a/src/events/reRecruit/embryoAppropriation.js b/src/events/reRecruit/embryoAppropriation.js
index 8c3fcecd1e6a8a72ecfeff1afac2e9d8e7f1318a..886a82fa5238357acfccedc9aaead9fdf7d93a31 100644
--- a/src/events/reRecruit/embryoAppropriation.js
+++ b/src/events/reRecruit/embryoAppropriation.js
@@ -7,7 +7,9 @@ App.Events.recEmbryoAppropriation = class recEmbryoAppropriation extends App.Eve
 		return [
 			() => V.seeDicks !== 100,
 			() => V.seePreg !== 0,
-			() => (V.PC.skill.medicine > 50 && V.PC.skill.hacking > 75 && (random(0, 100) > 75 || (V.debugMode > 0 && V.debugModeEventSelection > 0))),
+			() => V.PC.skill.medicine > 50,
+			() => V.PC.skill.hacking > 75,
+			() => (random(0, 100) > 75) || (V.debugMode > 0 && V.debugModeEventSelection > 0)
 		];
 	}
 
diff --git a/src/events/reRecruit/handsomePC.js b/src/events/reRecruit/handsomePC.js
index 5262e01542ef9aad784ab5d2548fca3c79a70bd6..25456e927edeeac482bb63c6d018283ef18af5d5 100644
--- a/src/events/reRecruit/handsomePC.js
+++ b/src/events/reRecruit/handsomePC.js
@@ -9,7 +9,7 @@ App.Events.recHandsomePC = class recHandsomePC extends App.Events.BaseEvent {
 			() => V.PC.vagina === -1,
 			() => V.PC.boobs < 300,
 			() => V.PC.title === 1,
-			() => (V.rep/250) > (random(1, 100) || (V.debugMode > 0 && V.debugModeEventSelection > 0)),
+			() => ((V.rep/250) > random(1, 100)) || (V.debugMode > 0 && V.debugModeEventSelection > 0),
 		];
 	}
 
diff --git a/src/events/reRecruit/heldPOW.js b/src/events/reRecruit/heldPOW.js
index c551216c30416386009cf1db6363c2e68259cbb1..0a2aa1c041a30a996027d003a67d79bc22096d63 100644
--- a/src/events/reRecruit/heldPOW.js
+++ b/src/events/reRecruit/heldPOW.js
@@ -6,7 +6,8 @@ App.Events.recHeldPOW = class recHeldPOW extends App.Events.BaseEvent {
 	eventPrerequisites() {
 		return [
 			() => V.seeDicks !== 100,
-			() => (V.PC.skill.hacking >= 50 && (random(0, 100) < V.PC.skill.hacking) || (V.debugMode > 0 && V.debugModeEventSelection > 0)),
+			() => V.PC.skill.hacking >= 50,
+			() => (random(0, 100) < V.PC.skill.hacking) || (V.debugMode > 0 && V.debugModeEventSelection > 0)
 		];
 	}
 
diff --git a/src/events/reRecruit/immigrant.js b/src/events/reRecruit/immigrant.js
index 1177933fe66a7fe90db7cbfdb2230df9227c7f4e..aa8ab006452a6c627b5051f6d45ace7819ea5fb8 100644
--- a/src/events/reRecruit/immigrant.js
+++ b/src/events/reRecruit/immigrant.js
@@ -5,7 +5,7 @@ App.Events.recImmigrant = class recImmigrant extends App.Events.BaseEvent {
 
 	eventPrerequisites() {
 		return [
-			() => ((V.rep/250) > (random(1, 100) || (V.debugMode > 0 && V.debugModeEventSelection > 0)))
+			() => ((V.rep/250) > random(1, 100)) || (V.debugMode > 0 && V.debugModeEventSelection > 0)
 		];
 	}
 
diff --git a/src/events/reRecruit/rogueCyborg.js b/src/events/reRecruit/rogueCyborg.js
index 5b911bf2a5336bc5c6e63dea8677d028fb2e5e62..8abf57c182284c56c0ea71bdce4ddbd89d9bb259 100644
--- a/src/events/reRecruit/rogueCyborg.js
+++ b/src/events/reRecruit/rogueCyborg.js
@@ -7,7 +7,7 @@ App.Events.recRogueCyborg = class recRogueCyborg extends App.Events.BaseEvent {
 		return [
 			() => V.seeDicks !== 100,
 			() => V.PC.skill.hacking >= 100,
-			() => (random(0, 100) > 95 || (V.debugMode > 0 && V.debugModeEventSelection > 0)),
+			() => (random(0, 100) > 95) || (V.debugMode > 0 && V.debugModeEventSelection > 0),
 			() => V.cash >= 100000
 		];
 	}
diff --git a/src/events/reRecruit/shemalePC.js b/src/events/reRecruit/shemalePC.js
index 5bb69ea45a0c51ffe0eb9f55d7fdff15e984a260..5fab48f02513ae1f76ae509d5456bee626307945 100644
--- a/src/events/reRecruit/shemalePC.js
+++ b/src/events/reRecruit/shemalePC.js
@@ -7,7 +7,7 @@ App.Events.recShemalePC = class recShemalePC extends App.Events.BaseEvent {
 		return [
 			() => V.PC.dick !== 0,
 			() => V.PC.boobs >= 300,
-			() => (V.rep/250) > (random(1, 100) || (V.debugMode > 0 && V.debugModeEventSelection > 0)),
+			() => ((V.rep/250) > random(1, 100)) || (V.debugMode > 0 && V.debugModeEventSelection > 0)
 		];
 	}
 
diff --git a/src/events/reRecruit/starvingMigrant.js b/src/events/reRecruit/starvingMigrant.js
index 52e7bc4028a022a9ad89abfbaa11ef3641f52554..43dc614b78d1339d9ef4f4a37a92d421f2d532ba 100644
--- a/src/events/reRecruit/starvingMigrant.js
+++ b/src/events/reRecruit/starvingMigrant.js
@@ -6,7 +6,7 @@ App.Events.recStarvingMigrant = class recStarvingMigrant extends App.Events.Base
 	eventPrerequisites() {
 		return [
 			() => V.week > 46,
-			() => ((V.rep/100) > (random(1, 100)) || (V.debugMode > 0 && V.debugModeEventSelection > 0))
+			() => ((V.rep/100) > random(1, 100)) || (V.debugMode > 0 && V.debugModeEventSelection > 0)
 		];
 	}
 
diff --git a/src/events/reRecruit/womanlyPC.js b/src/events/reRecruit/womanlyPC.js
index 697f34190040da0c34705949965c9460fd33ceb5..6436ac45ef91e58daf697e74b250f6a9a352a364 100644
--- a/src/events/reRecruit/womanlyPC.js
+++ b/src/events/reRecruit/womanlyPC.js
@@ -8,7 +8,7 @@ App.Events.recWomanlyPC = class recWomanlyPC extends App.Events.BaseEvent {
 			() => V.PC.dick === 0,
 			() => V.PC.boobs >= 300,
 			() => V.PC.title === 0,
-			() => (V.rep/250) > (random(1, 100) || (V.debugMode > 0 && V.debugModeEventSelection > 0)),
+			() => ((V.rep/250) > random(1, 100)) || (V.debugMode > 0 && V.debugModeEventSelection > 0)
 		];
 	}
 
diff --git a/src/events/JobFulfillmentCenterDelivery.js b/src/events/scheduled/JobFulfillmentCenterDelivery.js
similarity index 100%
rename from src/events/JobFulfillmentCenterDelivery.js
rename to src/events/scheduled/JobFulfillmentCenterDelivery.js
diff --git a/src/events/scheduled/seFCNNstation.js b/src/events/scheduled/seFCNNstation.js
index c16f14675919f0df23d7c22375c342015f782f49..a172a4e1701cbc4f9b4376d2352c35a1c144a4a8 100644
--- a/src/events/scheduled/seFCNNstation.js
+++ b/src/events/scheduled/seFCNNstation.js
@@ -1,7 +1,12 @@
 App.Events.SEFcnnStation = class SEFcnnStation extends App.Events.BaseEvent {
 	eventPrerequisites() {
 		return [
-			() => (V.rivalOwner === 0 && V.seeFCNN === 1 && V.FCNNstation === 0 && V.week > 95 && V.cash > 200000 && V.rep > 7500)
+			() => V.rivalOwner === 0,
+			() => V.seeFCNN === 1,
+			() => V.FCNNstation === 0,
+			() => V.week > 95,
+			() => V.cash > 200000,
+			() => V.rep > 7500
 		];
 	}
 
diff --git a/src/events/scheduled/seNicaeaPreperation.js b/src/events/scheduled/seNicaeaPreperation.js
index 38d5f3b41af6899eed5985997f949bd329c20584..453008f94ab3e2ed7cf97400102496f8de19a952 100644
--- a/src/events/scheduled/seNicaeaPreperation.js
+++ b/src/events/scheduled/seNicaeaPreperation.js
@@ -1,4 +1,4 @@
-App.Events.SENicaeaPreparation = class PSchoolSuggestion extends App.Events.BaseEvent {
+App.Events.SENicaeaPreparation = class SENicaeaPreparation extends App.Events.BaseEvent {
 	eventPrerequisites() {
 		return [
 			() => V.nicaea.held !== 1,