diff --git a/src/pregmod/FCTV/FCTV.js b/src/pregmod/FCTV/FCTV.js
index d8d24abbd8e9bfe5196136ad39a6832545e1dcff..6cce0128af0f0d208d6bdcf7501f302923184d0a 100644
--- a/src/pregmod/FCTV/FCTV.js
+++ b/src/pregmod/FCTV/FCTV.js
@@ -216,9 +216,9 @@ globalThis.FCTV = (function() {
 		p = document.createElement("p");
 
 		p.append(`Tired after a long day, you tell `);
-		if (V.Concubine) {
+		if (S.Concubine) {
 			p.append(`your concubine: `);
-			App.UI.DOM.appendNewElement("span", p, V.Concubine.slaveName, "pink");
+			App.UI.DOM.appendNewElement("span", p, S.Concubine.slaveName, "pink");
 		} else {
 			p.append(V.assistant.name);
 		}
diff --git a/src/pregmod/FCTV/FCTVshows.js b/src/pregmod/FCTV/FCTVshows.js
index 6f8f6c1e27ad3369b888b028cc2431d8f8e93b4a..e4afc8994a341fca74d1dfed0df4ea7d24b5ea21 100644
--- a/src/pregmod/FCTV/FCTVshows.js
+++ b/src/pregmod/FCTV/FCTVshows.js
@@ -594,17 +594,17 @@ App.Data.FCTV = {
 							r.push(`And here in Canadia, there are no restrictions on fertility drugs for the winner, so the competition this season is fierce! ${V.FCTV.channel.two} ladies have already been sent packing, who will be Canadia's... Next Top Breeder!?" The title finally pops up, redundantly labeling the show as 'Next Top Breeder: Canadia'.`);
 							if (MSL >= 1) {
 								r.push(`</p><p>You don't spend very much time actually watching the show; the randy opening, perverted competitions, and constant talk of creampies quickly has`);
-								if (_MSL >= 1 && V.Concubine !== 0) {
-									r.push(`<span class="pink">${V.Concubine.slaveName}</span> eager for some attention from ${getPronouns(V.Concubine).posessive} own arcology owner. Of course, the same could be said for the other eager slaves living in your bedroom, and the situation quickly devolves into a lust-filled`);
+								if (_MSL >= 1 && S.Concubine !== 0) {
+									r.push(`<span class="pink">${S.Concubine.slaveName}</span> eager for some attention from ${getPronouns(S.Concubine).posessive} own arcology owner. Of course, the same could be said for the other eager slaves living in your bedroom, and the situation quickly devolves into a lust-filled`);
 									if (_MSL > 1) {
 										r.push(`orgy.`);
 									} else {
 										r.push(`threesome.`);
 									}
-								} else if (_MSL === 0 && V.Concubine !== 0) {
-									const { his2, him2, he2 } = getPronouns(V.Concubine).appendSuffix(`2`);
-									r.push(`<span class="pink">${V.Concubine.slaveName}</span> eager for some attention from ${his2} own arcology owner.You've trained ${him2} well, and ${he2} knows exactly how to please you. You spend the rest of the evening doing something a lot more fun than watching reality TV.`);
-								} else if (_MSL >= 1 && V.Concubine === 0) {
+								} else if (_MSL === 0 && S.Concubine !== 0) {
+									const { his2, him2, he2 } = getPronouns(S.Concubine).appendSuffix(`2`);
+									r.push(`<span class="pink">${S.Concubine.slaveName}</span> eager for some attention from ${his2} own arcology owner.You've trained ${him2} well, and ${he2} knows exactly how to please you. You spend the rest of the evening doing something a lot more fun than watching reality TV.`);
+								} else if (_MSL >= 1 && S.Concubine === 0) {
 									r.push(`the pleasure slaves in your bed eager for some attention from their own arcology owner. You spend the rest of the evening doing something a lot more fun than watching reality TV.`);
 								}
 							}
@@ -1508,17 +1508,17 @@ App.Data.FCTV = {
 				{
 					get slaves() {
 						const array = [];
-						if (V.Concubine) {
-							array.push(V.Concubine);
+						if (S.Concubine) {
+							array.push(S.Concubine);
 						}
 						return array;
 					},
 					text: [
 						function() {
 							const r = [];
-							if (V.Concubine !== 0 && canTalk(V.Concubine)) {
-								const { his } = getPronouns(V.Concubine);
-								const { title: Master } = getEnunciation(V.Concubine);
+							if (S.Concubine !== 0 && canTalk(S.Concubine)) {
+								const { his } = getPronouns(S.Concubine);
+								const { title: Master } = getEnunciation(S.Concubine);
 							}
 
 							if (V.usedRemote) {
@@ -1531,9 +1531,9 @@ App.Data.FCTV = {
 							r.push(`<p>`);
 							if (V.purchasedSagBGone === 1) {
 								r.push(`You've already made the mistake of ordering the sham of a product. While it gave you a great excuse to fondle breasts, it's not like you needed one in the first place.`);
-								if (V.Concubine !== 0 && canTalk(V.Concubine)) {
-									r.push(Spoken(V.Concubine, `"I told you it wouldn't work, ${Master}. Plus you know you can touch these anytime!"`));
-									r.push(`${V.Concubine.slaveName} shakes ${his} chest at you.`);
+								if (S.Concubine !== 0 && canTalk(S.Concubine)) {
+									r.push(Spoken(S.Concubine, `"I told you it wouldn't work, ${Master}. Plus you know you can touch these anytime!"`));
+									r.push(`${S.Concubine.slaveName} shakes ${his} chest at you.`);
 								}
 							} else {
 								if (FCTV.channelCount(1, 'gt')) {
@@ -1546,38 +1546,38 @@ App.Data.FCTV = {
 									if (V.PC.dick !== 0) {
 										r.push(` At the very least it should make for some decent lubricant for a titfuck.`);
 									}
-									if (V.Concubine !== 0) {
-										if (V.Concubine.boobs > 2000 && V.Concubine.boobShape === "saggy") {
-											r.push(`${V.Concubine.slaveName} `);
-											if (hasAnyArms(V.Concubine)) {
+									if (S.Concubine !== 0) {
+										if (S.Concubine.boobs > 2000 && S.Concubine.boobShape === "saggy") {
+											r.push(`${S.Concubine.slaveName} `);
+											if (hasAnyArms(S.Concubine)) {
 												r.push(`hefts`);
 											} else {
 												r.push(`shakes`);
 											}
 											r.push(` ${his} breasts and lets them flop back into their usual saggy position. `);
-											if (canTalk(V.Concubine)) {
-												r.push(Spoken(V.Concubine, `"Far too late for these ladies. I doubt it will work though, products like that never do."`));
+											if (canTalk(S.Concubine)) {
+												r.push(Spoken(S.Concubine, `"Far too late for these ladies. I doubt it will work though, products like that never do."`));
 											} else {
 												r.push(`${He} sighs doubtfully.`);
 											}
-										} else if (V.Concubine.boobs > 2000) {
-											r.push(`${V.Concubine.slaveName} massages ${his} big breasts. `);
-											if (canTalk(V.Concubine)) {
-												r.push(Spoken(V.Concubine, `"I doubt it will work, but if you're looking for an excuse, you don't need one!"`));
+										} else if (S.Concubine.boobs > 2000) {
+											r.push(`${S.Concubine.slaveName} massages ${his} big breasts. `);
+											if (canTalk(S.Concubine)) {
+												r.push(Spoken(S.Concubine, `"I doubt it will work, but if you're looking for an excuse, you don't need one!"`));
 											} else {
 												r.push(`${He} scoffs at the commercial and clearly expresses ${his} doubt before puffing out ${his} chest at you.`);
 											}
 											r.push(` ${He} leans into you so ${his} bust flops into your lap.`);
 										} else {
-											r.push(`${V.Concubine.slaveName} `);
-											if (hasAnyArms(V.Concubine)) {
+											r.push(`${S.Concubine.slaveName} `);
+											if (hasAnyArms(S.Concubine)) {
 												r.push(`cups`);
 											} else {
 												r.push(`considers`);
 											}
 											r.push(` ${his} breasts. `);
-											if (canTalk(V.Concubine)) {
-												r.push(Spoken(V.Concubine, `"What a joke. I'm sure it doesn't work, plus don't you think they are lovely enough already, ${Master}?"`));
+											if (canTalk(S.Concubine)) {
+												r.push(Spoken(S.Concubine, `"What a joke. I'm sure it doesn't work, plus don't you think they are lovely enough already, ${Master}?"`));
 
 											} else {
 												r.push(`${He} scoffs with doubt before proudly sticking out ${his} chest.`);
@@ -1586,9 +1586,9 @@ App.Data.FCTV = {
 										}
 										if (V.PC.boobs >= 1400 && V.PC.boobsImplant === 0) {
 											r.push(`${He} slides closer to you, `);
-											if (hasAnyArms(V.Concubine)) {
+											if (hasAnyArms(S.Concubine)) {
 												r.push(`wraps `);
-												if (hasBothArms(V.Concubine)) {
+												if (hasBothArms(S.Concubine)) {
 													r.push(`an`);
 												} else {
 													r.push(`${his}`);
@@ -1598,20 +1598,20 @@ App.Data.FCTV = {
 												r.push(`pushing ${his} head against`);
 											}
 											r.push(` your huge breasts. `);
-											if (canTalk(V.Concubine)) {
-												r.push(Spoken(V.Concubine, `"Oh ${Master}! It feels like YOU might need it!"`));
+											if (canTalk(S.Concubine)) {
+												r.push(Spoken(S.Concubine, `"Oh ${Master}! It feels like YOU might need it!"`));
 											} else {
 												r.push(`${He} nuzzles further into your rack.`);
 											}
-											if (hasAnyArms(V.Concubine)) {
+											if (hasAnyArms(S.Concubine)) {
 												r.push(`${He} jiggles your boobs in ${his} `);
-												if (hasBothArms(V.Concubine)) {
+												if (hasBothArms(S.Concubine)) {
 													r.push(`hands.`);
 												} else {
 													r.push(`hand.`);
 												}
 											}
-											if (!canTalk(V.Concubine)) {
+											if (!canTalk(S.Concubine)) {
 												r.push(`${He}'s calling you saggy!`);
 											}
 										}
@@ -1966,12 +1966,12 @@ switch (V.FCTV.channel.selected) {
 				r.push(`appreciating the life growing within you and what future prospects may await it.</p>`);
 			} else if (V.PC.dick >= 1) {
 				r.push(`<p>Stunned and fully erect, you inexplicably feel the urge to creampie a pussy, so you`);
-				if (V.Concubine !== 0 && V.Concubine.vagina > 0 && canDoVaginal(V.Concubine)) {
-					const { him } = getPronouns(V.Concubine);
-					r.push(`grab ${V.Concubine.slaveName} and recreate the entire ending with ${him}.`);
-					let _fctvs = V.slaveIndices[V.Concubine.ID];
+				if (S.Concubine !== 0 && S.Concubine.vagina > 0 && canDoVaginal(S.Concubine)) {
+					const { him } = getPronouns(S.Concubine);
+					r.push(`grab ${S.Concubine.slaveName} and recreate the entire ending with ${him}.`);
+					let _fctvs = V.slaveIndices[S.Concubine.ID];
 					V.slaves[_fctvs].counter.vaginal++, V.vaginalTotal++;
-					if (canImpreg(V.Concubine, V.PC)) {
+					if (canImpreg(S.Concubine, V.PC)) {
 						r.push(knockMeUp(V.slaves[_fctvs], 10, 0, -1, 1));
 					}
 				} else if (V.fuckSlaves > 0) {
@@ -1982,11 +1982,11 @@ switch (V.FCTV.channel.selected) {
 				r.push(`You've never had a more hope-filled orgasm.</p>`);
 			} else if (V.PC.vagina >= 1) {
 				r.push(`<p>Stunned and soaking wet, you hurry to`);
-				if (V.Concubine !== 0 && canPenetrate(V.Concubine) && canImpreg(V.PC, V.Concubine) && (V.policies.sexualOpeness === 1 || V.Concubine.toyHole === "dick")) {
-					const { him } = getPronouns(V.Concubine);
-					r.push(`get ${V.Concubine.slaveName} nice and hard before recreating the entire ending with ${him}. You've never had a more hope-filled orgasm.`);
-					r.push(knockMeUp(V.PC, 10, 0, V.Concubine.ID, 1));
-					let _fctvs = V.slaveIndices[V.Concubine.ID];
+				if (S.Concubine !== 0 && canPenetrate(S.Concubine) && canImpreg(V.PC, S.Concubine) && (V.policies.sexualOpeness === 1 || S.Concubine.toyHole === "dick")) {
+					const { him } = getPronouns(S.Concubine);
+					r.push(`get ${S.Concubine.slaveName} nice and hard before recreating the entire ending with ${him}. You've never had a more hope-filled orgasm.`);
+					r.push(knockMeUp(V.PC, 10, 0, S.Concubine.ID, 1));
+					let _fctvs = V.slaveIndices[S.Concubine.ID];
 					V.slaves[_fctvs].counter.penetrative++, V.penetrativeTotal++;
 				} else if (V.policies.sexualOpeness === 1) {
 					r.push(`find your favorite cock to get a creampie from. You've never had a more lust-filled orgasm.`);
@@ -2050,7 +2050,7 @@ switch (V.FCTV.channel.selected) {
 		// All actors are at least 18
 
 		r.push(`<p>As you snuggle in for the night`);
-		if (V.Concubine !== 0) {
+		if (S.Concubine !== 0) {
 			r.push(`with your concubine, you `);
 		} else {
 			r.push(`you`);
@@ -2122,9 +2122,9 @@ switch (V.FCTV.channel.selected) {
 			r.push(`< p > The others pause for a moment, then start to laugh. "Ahh, I see where this is going. We could teach her. Yes, let's 'help her out'."</p>`);
 			r.push(`< p > Kate pulls out a large makeup kit. "Ordered from Sears and Roebuck by my husband, as a 'makeup' present for his dalliances. For all the times I used it I never got his attention. But you know, maybe I just never used <i>enough</i>."</p>`);
 			r.push(`< p > The camera pans away and when it returns, the Indian girl's face is positively caked with the most absurdly overdone makeup you have ever seen. It's both hot and hilarious in the same way.</p>`);
-			if (V.Concubine.makeup > 0) {
+			if (S.Concubine.makeup > 0) {
 				r.push(`You look at your own concubine's face.`);
-				r.push(App.Desc.makeup(V.Concubine));
+				r.push(App.Desc.makeup(S.Concubine));
 				r.push(`It's just the way you like it, but it's nowhere near as messy and overdone as the girl in the show.`);
 			}
 			r.push(`<p> "Mmmm, good but now the rest of her seems a little plain," Annie frowns. "Don't loose girls wear big boots?"</p>`);