diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 00999d28960790b6428403407fa6d037841ce5e8..ee693405b00dea0e01b5815d0105ec309b036aa2 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,14 @@
 
 0.10.7.1-0.1.x
 
+3/28/2018
+
+	13
+	-PC cheat edit improvements
+	-twincest options for new voluntarily enslaved twins during recruitment
+	-various typos fixed
+	-more bugs squashed, most notably virgins claiming to have given birth before
+
 3/27/2018
 
 	12
diff --git a/devNotes/twine JS b/devNotes/twine JS
index 80283dc99cbb995ca7cb2992b5084fe3bb70f0f0..b63629805c2d15dfcb559b851bddf071ae4f84e5 100644
--- a/devNotes/twine JS	
+++ b/devNotes/twine JS	
@@ -1348,8 +1348,8 @@ window.setPregType = function(actor) {
 				ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2]);
 				fertilityStack++;
 			}
-			if(actor.hormoneBalance >= 400) {
-				ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3]);
+			if(actor.hormoneBalance >= 200) {
+				ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]);
 				fertilityStack++;
 			}
 			if(actor.diet == "fertility") {
@@ -6861,11 +6861,11 @@ window.isRivalP = function isRivalP(slave, target) {
 }
 
 window.supremeRaceP = function supremeRaceP(slave) {
-	return SugarCube.State.variables.arcologies[0].FSSupremacistRace === slave.race
+	return State.variables.arcologies[0].FSSupremacistRace === slave.race
 }
 
 window.inferiorRaceP = function inferiorRaceP(slave) {
-	return SugarCube.State.variables.arcologies[0].FSSubjugationistRace === slave.race
+	return State.variables.arcologies[0].FSSubjugationistRace === slave.race
 }
 
 /*:: wombJS [script]*/
@@ -9178,3 +9178,30 @@ window.simpleWorldEconomyCheck = function() {
 		return n2;
 	}
 }
+
+window.HSM = function() {
+	if (State.variables.PC.hacking <= -100)
+		return 1.5;
+	else if (State.variables.PC.hacking <= -75)
+		return 1.35;
+	else if (State.variables.PC.hacking <= -50)
+		return 1.25;
+	else if (State.variables.PC.hacking <= -25)
+		return 1.15;
+	else if (State.variables.PC.hacking < 0)
+		return 1.10;
+	else if (State.variables.PC.hacking === 0)
+		return 1;
+	else if (State.variables.PC.hacking <= 10)
+		return .97;
+	else if (State.variables.PC.hacking <= 25)
+		return .95;
+	else if (State.variables.PC.hacking <= 50)
+		return .90;
+	else if (State.variables.PC.hacking <= 75)
+		return .85;
+	else if (State.variables.PC.hacking < 100)
+		return .80;
+	else if (State.variables.PC.hacking >= 100)
+		return .75;
+	}
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index 3aa63c5df81ddaacdc6c79ad1dc4583ef1121c5d..c89035b3ab3dbe1bd53cf4d04a55ac339ad48509 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -208,9 +208,9 @@ window.isRivalP = function isRivalP(slave, target) {
 }
 
 window.supremeRaceP = function supremeRaceP(slave) {
-	return SugarCube.State.variables.arcologies[0].FSSupremacistRace === slave.race
+	return State.variables.arcologies[0].FSSupremacistRace === slave.race
 }
 
 window.inferiorRaceP = function inferiorRaceP(slave) {
-	return SugarCube.State.variables.arcologies[0].FSSubjugationistRace === slave.race
+	return State.variables.arcologies[0].FSSubjugationistRace === slave.race
 }
diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw
index 6d29f4404b67c8a6a58e12e81e9571fec5a6d59c..cae3d56e2bcdde5c720e4615edc654978ced35cd 100644
--- a/src/js/pregJS.tw
+++ b/src/js/pregJS.tw
@@ -97,8 +97,8 @@ window.setPregType = function(actor) {
 				ovum += jsEither([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2]);
 				fertilityStack++;
 			}
-			if(actor.hormoneBalance >= 400) {
-				ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3]);
+			if(actor.hormoneBalance >= 200) {
+				ovum += jsEither([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]);
 				fertilityStack++;
 			}
 			if(actor.diet == "fertility") {
diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw
index 79fa6735cb47481436242d761234127a08981845..655059df7cccaff801c5167ae5790ed5e44d617b 100644
--- a/src/pregmod/widgets/bodyswapWidgets.tw
+++ b/src/pregmod/widgets/bodyswapWidgets.tw
@@ -169,6 +169,7 @@
 <<set $args[0].bellyFluid = $args[1].bellyFluid>>
 <<set $args[0].readyOva = $args[1].readyOva>>
 <<set $args[0].womb = $args[1].womb>> /* this is array assigned by reference, if slave body that is $args[1] will be stil used anywhere in code (not discarded) - it's WRONG (they now technicaly share one womb object). Please tell me about it then. But if old body $args[1] just discarded - it's no problem then.*/
+<<set $args[0].laborCount = $args[1].laborCount>>
 
 <<set $args[0].canRecruit = 0>>
 
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 1117289abcb3f3706778c973466a75894a351d39..95e0e7d70d4114b5be45e8cb59f975f75c3257e7 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -194,6 +194,9 @@
 <<if ndef $args[0].broodmotherCountDown>>
 	<<set $args[0].broodmotherCountDown = 0>>
 <</if>>
+<<if ndef $args[0].laborCount>>
+	<<set $args[0].laborCount = $args[0].birthsTotal>>
+<</if>>
 
 <<if ndef $args[0].pregKnown>>
 	<<if $args[0].preg > 0>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index be0f132fada4743fa20c885a2ce3891d95fdc415..514972b3890d5460aaeea36dbea7ac07fb17caad 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -6114,7 +6114,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 	<<set $activeSlave.trust += 4>>
 	<<AnalVCheck>>
 	<</replace>>
-<</link>>
+<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave))>> //This option will take anal virginity//<</if>>
 <br><<link "Pound that ass">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
@@ -6172,7 +6172,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 	<<set $activeSlave.devotion += 4>>
 	<<AnalVCheck>>
 	<</replace>>
-<</link>>
+<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave))>> //This option will take anal virginity//<</if>>
 <</if>>
 <<if canDoVaginal($activeSlave)>>
 <br><<link "Pound that pussy">>
@@ -6230,7 +6230,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 	<<set $activeSlave.devotion += 4>>
 	<<VaginalVCheck>>
 	<</replace>>
-<</link>>
+<</link>><<if ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take virginity//<</if>>
 <</if>>
 <<if ($activeSlave.toyHole == "dick" || $sexualOpeness == 1) && canPenetrate($activeSlave)>>
 <br><<link "Invite her 'in'">>
@@ -18124,12 +18124,18 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, 1)>>
 	<<set $activeSlave.fetish = "pregnancy", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 5>>
 	<<if $activeSlave.mpreg == 1>>
-		<<AnalVCheck 10>>
+		<<set $activeSlave.analCount += 10, $analTotal += 10>>
+		<<if $activeSlave.anus == 0>>
+			<<set $activeSlave.anus++>>
+		<</if>>
 	<<else>>
-		<<VaginalVCheck 10>>
+		<<set $activeSlave.vaginalCount += 10, $vaginalTotal += 10>>
+		<<if $activeSlave.vagina == 0>>
+			<<set $activeSlave.vagina++>>
+		<</if>>
 	<</if>>
 	<</replace>>
-<</link>> //This option will render $activeSlave.slaveName pregnant//
+<</link>> //This option will render $activeSlave.slaveName pregnant//<<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> // and take her virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //and take her anal virginity//<</if>>
 <</if>>
 
 <<case "old PC age difference">>
@@ -18137,7 +18143,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 <<link "Gently acclimate her to the age difference with some lovemaking">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	As you cross the breadth of your office to reach $activeSlave.slaveName, she presents herself for your sexual usage out of habit. However, you take her by surprise by drawing her into you arms, running the tips of your fingers through her $activeSlave.hColor hair,  and looking into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>She meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years her senior you are<<else>>She seems to feel the intensity of your gaze despite her sightless eyes and blushes girlishly, as if forgetting how many years her senior you are<</if>> . In lieu of words, you lift her chin with a single beckoning finger and steal her breath from her lips with a firm kiss. Once she's recovered her wits she clings to you with almost animalistic attachment. After a few moments she moves to get down on her knees, clearly defaulting to her role as a sex slave in response to your unexpected intimacy. 
+	As you cross the breadth of your office to reach $activeSlave.slaveName, she presents herself for your sexual usage out of habit. However, you take her by surprise by drawing her into you arms, running the tips of your fingers through her $activeSlave.hColor hair, and looking into her $activeSlave.eyeColor eyes. <<if canSee($activeSlave)>>She meets your gaze for a brief moment before blushing girlishly, as if forgetting how many years her senior you are<<else>>She seems to feel the intensity of your gaze despite her sightless eyes and blushes girlishly, as if forgetting how many years her senior you are<</if>> . In lieu of words, you lift her chin with a single beckoning finger and steal her breath from her lips with a firm kiss. Once she's recovered her wits she clings to you with almost animalistic attachment. After a few moments she moves to get down on her knees, clearly defaulting to her role as a sex slave in response to your unexpected intimacy. 
 	Instead, you
 	<<if $activeSlave.belly >= 300000>>
 		help her to her feet and guide her to bed, aiding the
@@ -18270,12 +18276,18 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, 1)>>
 	<<set $activeSlave.fetish = "pregnancy", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 5>>
 	<<if $activeSlave.mpreg == 1>>
-		<<AnalVCheck 10>>
+		<<set $activeSlave.analCount += 10, $analTotal += 10>>
+		<<if $activeSlave.anus == 0>>
+			<<set $activeSlave.anus++>>
+		<</if>>
 	<<else>>
-		<<VaginalVCheck 10>>
+		<<set $activeSlave.vaginalCount += 10, $vaginalTotal += 10>>
+		<<if $activeSlave.vagina == 0>>
+			<<set $activeSlave.vagina++>>
+		<</if>>
 	<</if>>
 	<</replace>>
-<</link>> //This option will render $activeSlave.slaveName pregnant//
+<</link>> //This option will render $activeSlave.slaveName pregnant//<<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> // and take her virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //and take her anal virginity//<</if>>
 <</if>>
 
 <<case "devoted educated slave">>