diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js
index 1724e461df317c96bbeef91cca238254591a3cb2..de5939cdf8df054fbd2e8bba7992f21b8e101891 100644
--- a/js/003-data/policiesData.js
+++ b/js/003-data/policiesData.js
@@ -1127,7 +1127,7 @@ App.Data.Policies.Selection = {
 						V.arcologies[0].FSSlimnessEnthusiastLaw === 0 &&
 						V.arcologies[0].FSHedonisticDecadenceLaw2 === 0 &&
 						V.arcologies[0].FSPhysicalIdealistLaw === 0 &&
-						V.arcologies[0].FSGenderFundamentalist > 20
+						V.arcologies[0].FSGenderRadicalist > 20
 					);
 				},
 			}
diff --git a/src/events/RE/reNickname.js b/src/events/RE/reNickname.js
index 5db2cfcb7fe0afd3166af8c274b557918ccffb5b..cbf2cc4f0eb5842e52337cbf2a21159f264d938d 100644
--- a/src/events/RE/reNickname.js
+++ b/src/events/RE/reNickname.js
@@ -1650,7 +1650,7 @@ App.Events.RENickname = class RENickname extends App.Events.BaseEvent {
 						nicknameArray = ["Barely Legal"];
 					}
 				}
-				situationDesc = `is yet underage by old world standards, and some older slaves do not let ${him} forget that.`;
+				situationDesc = `is still considered underage by old world standards, and some older slaves do not let ${him} forget that.`;
 				applyDesc = `understands that far from being a mockery, your sanction has turned an intended insult into a reference to the appeal of ${his} years.`;
 				notApplyDesc = `understands that despite ${his} young age ${he} must do ${his} best to fuck like the most veteran of whores.`;
 
diff --git a/src/events/nonRandomEvent.js b/src/events/nonRandomEvent.js
index 279e9a13162f9ecbaf085876489a60d7e8a130b7..030f53b00797033b40a7d39ad97772d2c7914ba9 100644
--- a/src/events/nonRandomEvent.js
+++ b/src/events/nonRandomEvent.js
@@ -151,13 +151,13 @@ App.Events.playNonrandomEvent = function() {
 	const clearEvent = () => { V.event = null; };
 
 	if (V.event instanceof App.Events.BaseEvent) {
-		// we've deserialized a saved game with an event active, or a cheater has picked one, so just play it immediately
+		// we've deserialized a saved game with an event active, or a player has picked one, so just play it immediately
 		V.event.execute(d);
 		V.passageSwitchHandler = clearEvent;
 	} else {
-		if (V.debugMode > 0 && V.debugModeEventSelection) {
+		if (V.debugMode > 0 && V.debugModeEventSelection > 0) {
 			V.nextButton = "Refresh";
-			// show all the scheduled, nonrandom, and queued events, and allow the cheater to play them in any order and skip the remainder
+			// show all the scheduled, nonrandom, and queued events, and allow the player to play them in any order and skip the remainder
 			App.UI.DOM.appendNewElement("h2", d, "Scheduled and Nonrandom Events");
 			App.UI.DOM.appendNewElement("div", d, "These scheduled and nonrandom events still need to play this week, in this order.");
 			App.UI.DOM.appendNewElement("div", d, "WARNING: playing certain scheduled events out of order, or skipping them, can break your game! Be careful!", ["note", "warning"]);
diff --git a/src/events/scheduled/seWedding.js b/src/events/scheduled/seWedding.js
index ba2a0a2cc854bdb0a5a97c818e22fddfd8cece94..7992d3ec2f9c12f8fb25845fc729717a52cb31d8 100644
--- a/src/events/scheduled/seWedding.js
+++ b/src/events/scheduled/seWedding.js
@@ -22,8 +22,11 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 
 		const {
 			HeC,
-			heC, hisC, himC, wivesC
+			heC, hisC, himC
 		} = getPronouns(solo ? slave1 : {pronoun: App.Data.Pronouns.Kind.plural}).appendSuffix("C"); // "C" is for collective. Used for flexibility in scenes that may have just one slave, or more than one. "she/they bow before you."
+		const wivesC = solo ?
+			getPronouns(slave1).wife :
+			getPronouns({pronoun: App.Data.Pronouns.Kind.plural}).wives;
 
 		const belly = bellyAdjective(slave1);
 		const ML = V.marrying.length;
@@ -770,7 +773,7 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 					r.push(`You'll fuck them repeatedly over the next few days, ensuring`);
 					if (brides.every(b => b.devotion < -20)) {
 						r.push(`impregnation, despite their protests.`);
-					} else if (brides.some(b => b)) {
+					} else if (brides.some(b => b.devotion < -20)) {
 						const lowDevNames = brides
 							.filter(slave => slave.devotion < -20)
 							.map(slave => slave.slaveName);
@@ -1628,7 +1631,7 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 					const r = [];
 					let _c = 0;
 					let _h = 0;
-					r.push(`You also proclaim your new slave ${wives} ${namesString} ${V.PC.slaveSurname}.`);
+					r.push(`You also proclaim your new slave ${wivesC} ${namesString} ${V.PC.slaveSurname}.`);
 					for (const slave of brides) {
 						_c += 1;
 						if (canHear(slave)) {
@@ -1637,9 +1640,9 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 					}
 					r.push(`The new Mrs. ${V.PC.slaveSurname}${(_c > 1) ? `s` : ``}`);
 					if (_h > 0) {
-						r.push((_c === 1) ? `hear` : `hears`);
+						r.push((_c === 1) ? `hears` : `hear`);
 					} else {
-						r.push((_c === 1) ? `understand` : `understands`);
+						r.push((_c === 1) ? `understands` : `understand`);
 					}
 					r.push(`this, of course, and`);
 					const nameCheck = !solo && brides.every(b => b.slaveSurname !== V.PC.slaveSurname);
@@ -1657,7 +1660,7 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 						let meanwhile;
 						for (const slave of brides) {
 							const {he, his, him} = getPronouns(slave);
-							if (_c > 1 && slave.slaveSurname !== V.PC.slaveSurname) {
+							if (slave.slaveSurname !== V.PC.slaveSurname) {
 								if (!meanwhile) {
 									r.push(slave.slaveName);
 								} else {
@@ -1665,41 +1668,26 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 								}
 								meanwhile = true;
 								if (slave.fetish === "mindbroken") {
-									if (_c < 1) {
-										r.push(slave.slaveName);
-									}
-									r.push(`shows no reaction. Like many things, names mean nothing to ${him} now. Your guests, on the other hand, appreciate the gift.`);
+									r.push(`${slave.slaveName} shows no reaction. Like many things, names mean nothing to ${him} now. Your guests, on the other hand, appreciate the gift.`);
 								} else if (slave.devotion + slave.trust >= 175) {
-									if (_c < 1) {
-										r.push(slave.slaveName);
-									}
 									if (V.weddingPlanned === 3) {
 										r.push(`breaks down again. Not only is ${he} to be blessed with your child, but ${he}'s to take your surname as well.`);
 									} else {
 										r.push(`breaks down again; it's like a dream come true.`);
 									}
 								} else if (slave.devotion < -20 && slave.trust > 20) {
-									if (_c < 1) {
-										r.push(slave.slaveName);
-									}
 									if (V.weddingPlanned === 3) {
 										r.push(`scoffs audibly. Just another burden for ${him} to carry; like the child soon to be growing in ${his} womb.`);
 									} else {
 										r.push(`scoffs audibly; just another burden for ${him} to carry.`);
 									}
 								} else if (slave.devotion < -20) {
-									if (_c < 1) {
-										r.push(slave.slaveName);
-									}
 									if (V.weddingPlanned === 3) {
 										r.push(`breaks down again. Not only are you binding ${him} to you with your child, but with your name as well.`);
 									} else {
 										r.push(`breaks down again; this is nothing more than another unwanted link to you.`);
 									}
 								} else {
-									if (_c < 1) {
-										r.push(slave.slaveName);
-									}
 									r.push(`nods acceptingly. Your will is ${his} will, after all.`);
 								}
 							}
@@ -1755,7 +1743,7 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 
 		function ringCeremony() {
 			const r = [];
-			if (brides.every(b => hasAnyArms(b))) {
+			if (!solo && brides.every(b => hasAnyArms(b))) {
 				r.push(`on each slave's`);
 				if (brides.every((b) => b.devotion < -20 && b.trust <= 20)) {
 					r.push(`trembling`);
@@ -1766,9 +1754,9 @@ App.Events.SEWedding = class SEWedding extends App.Events.BaseEvent {
 				for (const slave of brides) {
 					const {he} = getPronouns(slave);
 					if (!hasAnyArms(slave)) {
-						r.push(`on a cord around ${slave.slaveName}'s neck, since ${he} lacks fingers to wear it on`);
+						ring.push(`on a cord around ${slave.slaveName}'s neck, since ${he} lacks fingers to wear it on`);
 					} else {
-						r.push(`on ${slave.slaveName}'s ${(slave.devotion < -20 && slave.trust <= 20) ? `trembling ` : ``}finger`);
+						ring.push(`on ${slave.slaveName}'s ${(slave.devotion < -20 && slave.trust <= 20) ? `trembling ` : ``}middle finger`);
 					}
 				}
 				r.push(`${toSentence(ring, " and another ring ")}.`);
diff --git a/src/facilities/incubator/incubatorInteract.js b/src/facilities/incubator/incubatorInteract.js
index 9b57a3fe331332addaf70a257e3c0ce089afaf21..d5b12f2cf04d824b4dd2d60642932a62a84182ef 100644
--- a/src/facilities/incubator/incubatorInteract.js
+++ b/src/facilities/incubator/incubatorInteract.js
@@ -1566,6 +1566,7 @@ App.UI.incubator = function() {
 		function refresh() {
 			jQuery(settingsContent).empty().append(tankSettings());
 			jQuery(introSpan).empty().append(intro());
+			jQuery(tanksContent).empty().append(tankBabies());
 		}
 	}
 
diff --git a/src/facilities/surgery/surgeryPassageStructural.js b/src/facilities/surgery/surgeryPassageStructural.js
index ec79ab27381b82cdd64d1187148169a716b17ed9..d8e9f58d21d1d9820837339598d577821240908e 100644
--- a/src/facilities/surgery/surgeryPassageStructural.js
+++ b/src/facilities/surgery/surgeryPassageStructural.js
@@ -236,7 +236,7 @@ App.UI.surgeryPassageStructural = function(slave, cheat = false) {
 				} else if (slave.heightImplant >= 1) {
 					if (slave.height < (Height.mean(slave) + 15) && V.surgeryUpgrade === 1) {
 						linkArray.push(makeLink(
-							"Advanced height gain surger",
+							"Advanced height gain surgery",
 							"height",
 							increaseHeight
 						));
diff --git a/src/gui/Encyclopedia/encyclopediaBeingInCharge.js b/src/gui/Encyclopedia/encyclopediaBeingInCharge.js
index 1ecaad5891f0851a62cbb19beca7430c8e98bf59..a8c11fcbbd9207d71fb5c45b815c9656c77e4dfb 100644
--- a/src/gui/Encyclopedia/encyclopediaBeingInCharge.js
+++ b/src/gui/Encyclopedia/encyclopediaBeingInCharge.js
@@ -138,7 +138,7 @@ App.Encyclopedia.addArticle("Rules Assistant", function() {
 
 	r = [];
 	r.push(App.Encyclopedia.topic("Applying a rule to specific assignments"));
-	r.push("You can apply a rule only to slaves on individual assignments by selecting them under <span class='encyclopedia interaction'>Apply to assignments</span>. For example a rule can give aphrodisiacs to slaves on whoring assignments. <span class='note'>This is mutually exclusive to automatically giving an assignment to slaves.</span>");
+	r.push("You can apply a rule only to slaves on individual assignments by selecting them under <span class='encyclopedia interaction'>Apply to assignments.</span> For example a rule can give aphrodisiacs to slaves on whoring assignments. <span class='note'>This is mutually exclusive to automatically giving an assignment to slaves.</span>");
 	App.Events.addParagraph(f, r);
 
 	r = [];
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 4b25cc9b20f798f5867c6a854a266f1ff53e3cec..8f8b3753175ea67c8ebd662ef01d7a52776e979b 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -1972,11 +1972,11 @@ App.RA.options = (function() {
 			];
 			super("Collar", items);
 
-			const niceCollars = isItemAccessible.array(App.Data.slaveWear.collar, (c) => c.harsh);
+			const niceCollars = isItemAccessible.array(App.Data.slaveWear.collar, (c) => !c.harsh);
 			niceCollars.sort(function(a, b) { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; });
 			this._nice = new ListSubSection(this, "Nice", niceCollars);
 
-			const harshCollars = isItemAccessible.array(App.Data.slaveWear.collar, (c) => !c.harsh);
+			const harshCollars = isItemAccessible.array(App.Data.slaveWear.collar, (c) => c.harsh);
 			harshCollars.sort(function(a, b) { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; });
 			this._harsh = new ListSubSection(this, "Harsh", harshCollars);