diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 30cd54b3c64e85470c0174c02d46f17a907377f8..05d56cfe7004ebbecbc0a58f2b767dea6ccd4d2e 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -9,6 +9,8 @@ Pregmod
 	-easier to passively gain slaving skill
 	-added overalls outfit
 	-UI changes
+	-slave data structural changes
+	-tanning and skin color tweaks
 	-fixes
 	-code cleaning
 
diff --git a/src/js/pregJS.js b/src/js/pregJS.js
index 29a156582111bfd18ffccd936ccf538fab404962..c3024a85201ec1b1d85af3d525ae407d35affe4e 100644
--- a/src/js/pregJS.js
+++ b/src/js/pregJS.js
@@ -382,6 +382,9 @@ window.setPregType = function(actor) {
 			}
 		}
 	}
+	if (actor.geneticQuirks.superfetation === 2 && actor.womb.length > 0) {
+		ovum = Math.ceiling(ovum / 4);
+	}
 	return ovum;
 };
 
@@ -395,7 +398,13 @@ window.setPregType = function(actor) {
 */
 window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
 	const V = State.variables;
+	let pronouns;
+	let He;
 	let r = "";
+	if (target.ID !== -1) {
+		pronouns = getPronouns(slave);
+		He = capFirstChar(pronouns.pronoun);
+	}
 	if (V.seePreg !== 0) {
 		if (jsRandom(0,99) < (chance + (V.reproductionFormula*((target.pregSource <= 0) ? ((target.ID === -1) ? 0 : 10) : 20)))) {
 			if (target.mpreg === hole) {
@@ -416,10 +425,8 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
 					target.pregKnown = 1;
 					if (target.ID === -1) {
 						/* r += "@@.lime;You have gotten pregnant.@@"; */
-					} else if (target.fuckdoll === 0) {
-						r += "@@.lime;She has become pregnant.@@";
 					} else {
-						r += "@@.lime;It has become pregnant.@@";
+						r += `<span class="lime">${He} has become pregnant.</span>`;
 					}
 				} else {
 					target.pregKnown = 1;
@@ -443,13 +450,25 @@ window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
 					target.pregKnown = 1;
 					if (target.ID === -1) {
 						/* r += "@@.lime;You have gotten pregnant.@@"; */
-					} else if (target.fuckdoll === 0) {
-						r += "@@.lime;She has become pregnant.@@";
 					} else {
-						r += "@@.lime;It has become pregnant.@@";
+						r += `<span class="lime">${He} has become pregnant.</span>`;
+					}
+					if (target.geneticQuirks.superfetation === 2 && target.womb.length > 0) {
+						if (V.seeHyperPreg === 1) {
+							target.fertPeak = 1;
+						} else {
+							target.fertPeak = jsRandom(10, 20);
+						}
 					}
 				} else {
 					target.pregKnown = 1;
+					if (target.geneticQuirks.superfetation === 2 && target.womb.length > 0) {
+						if (V.seeHyperPreg === 1) {
+							target.fertPeak = 1;
+						} else {
+							target.fertPeak = jsRandom(10, 20);
+						}
+					}
 				}
 			}
 		}
diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js
index b88a492d73a69d0a67d0dbe0fb368e908656f06d..16ee9096abd3dfbd39034d26e2e2d10c7868a280 100644
--- a/src/js/slaveStatsChecker.js
+++ b/src/js/slaveStatsChecker.js
@@ -183,8 +183,6 @@ window.isFertile = function(slave) {
 
 	if (slave.womb.length > 0 && slave.geneticQuirks.superfetation < 2) { /* currently pregnant without superfetation */
 		return false;
-	} else if (slave.womb.length > 0) { /* temp failure condition to prevent current double preg bug */
-		return false;
 	} else if (slave.broodmother > 0) { /* currently broodmother */
 		return false;
 	} else if (slave.preg < -1) { /* sterile */
@@ -200,8 +198,18 @@ window.isFertile = function(slave) {
 	} else if (slave.bellyImplant !== -1) {
 		return false;
 	} else if (slave.mpreg === 1) {
+		if (slave.womb.length > 0) { // superfetation route
+			if (slave.fertPeak !== 0) {
+				return false;
+			}
+		}
 		return true; /* pregmod end */
 	} else if (slave.ovaries === 1) {
+		if (slave.womb.length > 0) { // superfetation route
+			if (slave.fertPeak !== 0) {
+				return false;
+			}
+		}
 		return true;
 	}
 	return false;
diff --git a/src/uncategorized/corporationDevelopments.tw b/src/uncategorized/corporationDevelopments.tw
index 7b7b5cf9b9382224d6ad91de3fc77fc08c7af273..3dfe357eb9594c13d9e593c51a9492c84c28844d 100644
--- a/src/uncategorized/corporationDevelopments.tw
+++ b/src/uncategorized/corporationDevelopments.tw
@@ -395,7 +395,7 @@ _corpDivWhoreSlavesRoom = corpDivWhoreSlavesRoom()>>
 			$corpDivTrainSlaves2 = 0>>
 			to the market and made @@.yellowgreen;<<print cashFormat(_corpDivTrainRev)>>.@@
 		<</if>>
-	<<elseif $corpDivTrainSlaves2 > 0>>It is holding <<if $corpDivTrainSlaves2 > 1>>$corpDivTrainSlaves2 trained slaves<<elseif $corpDivTrainSlaves2 == 1>>one trained slave<<else>> at the end of the week.<</if>>
+	<<elseif $corpDivTrainSlaves2 > 0>>It is holding <<if $corpDivTrainSlaves2 > 1>>$corpDivTrainSlaves2 trained slaves<<elseif $corpDivTrainSlaves2 == 1>>one trained slave<</if>> at the end of the week.
 		<<if $corpDivTrainSlaves2 > Math.trunc($corpDivTrainDev * 0.4)>>
 			<<if $corpDivTrainSurgeryTimer < 5 || $corpDivSurgery == 0>>
 				<<set _corpDivTrainCapSlaves = $corpDivTrainSlaves2 - Math.trunc($corpDivTrainDev * 0.4),
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index b1b4d7d45eb1c9c9eb9b78e710528eb55f5d7a79..d12f5702b41db198b78d39e80047a9d29756fc67 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -25,6 +25,15 @@
 		<</if>>
 	<</if>>
 <</if>>
+<<if $menstruation == 1>>
+<<elseif $PC.geneticQuirks.superfetation == 2 && $PC.womb.length > 0>>
+	<<if $PC.fertPeak == 0>>
+		<<set $PC.fertPeak = 1>>
+	<</if>>
+	<<set $PC.fertPeak-->>
+<<elseif $PC.fertPeak != 0>>
+	<<set $PC.fertPeak = 0>>
+<</if>>
 
 /*Adding random changes to the economy*/
 <<if $difficultySwitch == 1>>
@@ -131,6 +140,15 @@
 			<<set $slaves[_i].boobs += $slaves[_i].boobsMilk>>
 		<</if>>
 	<</if>>
+	<<if $menstruation == 1>>
+	<<elseif $slaves[_i].geneticQuirks.superfetation == 2 && $slaves[_i].womb.length > 0>>
+		<<if $slaves[_i].fertPeak == 0>>
+			<<set $slaves[_i].fertPeak = 1>>
+		<</if>>
+		<<set $slaves[_i].fertPeak-->>
+	<<elseif $slaves[_i].fertPeak != 0>>
+		<<set $slaves[_i].fertPeak = 0>>
+	<</if>>
 	<<set $slaves[_i].trust = Number($slaves[_i].trust.toFixed(1)), $slaves[_i].devotion = Number($slaves[_i].devotion.toFixed(1))>>
 	<<set $slaves[_i].oldDevotion = $slaves[_i].devotion, $slaves[_i].oldTrust = $slaves[_i].trust, $slaves[_i].tired = 0, $slaves[_i].minorInjury = 0>>
 	<<if $slaves[_i].sentence > 1>>
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index 2c434b5a4c7555985fe7b52bdcf2ef20e5780fb2..3d8083498c91874328e2b29de13b59ee422097ff 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -121,6 +121,13 @@
 			fertile.
 		<</if>>
 	<</if>>
+	<<if $activeSlave.geneticQuirks.superfetation == 2>>
+		<<if isFertile($activeSlave)>>
+			$He posses a rare genetic flaw that causes pregnancy to not block ovulation. $He is fully capable of getting pregnant while already pregnant.
+		<<else>>
+			$He posses a rare genetic flaw that causes pregnancy to not block ovulation; not that it matters when $he can't get pregnant.
+		<</if>>
+	<</if>>
 	<<if $activeSlave.geneticQuirks.wellHung == 2>>
 		<<if $activeSlave.physicalAge <= 16 && $activeSlave.hormoneBalance < 100 && $activeSlave.dick > 0>>
 			$He is likely to experience an inordinate amount of penile growth during $his physical development.