diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 013401f107810fbf8640cec23b6e48f287b1da6b..ce5c5f1d8ea73dfe52c362bb5c307fa627edd6fc 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -7,6 +7,7 @@
 	-ability to name developing babies
 	-ability to terminate unwanted ova early in pregnancy
 	-added surrogacy
+	-added fertilized ovum transplant
 	-genetics now determined at conception, rather than birth
 	-pregSource normalization
 
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index b0e9cf1bd1cd961811e65b98127124e0543dcd3f..672a850ab11d1922ebb35bcae96721b3e88f3a22 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -10208,7 +10208,7 @@ window.generateGenetics = (function() {
 			'olive',
 			'natural',
 			'tan',
-			'bronzw',
+			'bronze',
 			'dark olive',
 			'dark',
 			'light brown',
diff --git a/src/js/generateGenetics.tw b/src/js/generateGenetics.tw
index 1354d29d51b1c2b333bd5fe9aa3f85083e20d7fc..0ddae929c878aaeab2adccd4989febd706e609d8 100644
--- a/src/js/generateGenetics.tw
+++ b/src/js/generateGenetics.tw
@@ -215,7 +215,7 @@ window.generateGenetics = (function() {
 			'olive',
 			'natural',
 			'tan',
-			'bronzw',
+			'bronze',
 			'dark olive',
 			'dark',
 			'light brown',
diff --git a/src/pregmod/analyzePlayerPregnancy.tw b/src/pregmod/analyzePlayerPregnancy.tw
index 7b13882c0476e73597be1e4e1d1f5d9d6001a415..a14ef261b69424c7f8f016ff4e3cc90be7821f43 100644
--- a/src/pregmod/analyzePlayerPregnancy.tw
+++ b/src/pregmod/analyzePlayerPregnancy.tw
@@ -4,122 +4,70 @@
 
 <<set _WL = $PC.womb.length, _incubatorReservations = WombReserveCount($PC, "incubator"), _nurseryReservations = WombReserveCount($PC, "nursery")>>
 
-//You make yourself comfortable and prep your stomach for examination. <<PlayerBelly>>//
+<<if _WL == 0>>
+	<<goto "Manage Personal Affairs">>
+<<else>>
 
-<br><br>
-Overall statistics:
-<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal count: $PC.womb.length
-<br>&nbsp;&nbsp;&nbsp;&nbsp;Estimated womb volume: <<print commaNum(Math.round($PC.belly))>> cc
+	//You make yourself comfortable and prep your stomach for examination. <<PlayerBelly>>//
 
-<br><br>
-Furthest developed pregnancy:
-<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $PC.preg
+	<br><br>
+	Overall statistics:
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal count: $PC.womb.length
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Estimated womb volume: <<print commaNum(Math.round($PC.belly))>> cc
 
-<<if $incubator + $nursery > 0>>
-<br><br>
-<<if $incubator > 0>>
-	<<if _incubatorReservations > 0>>
-		<<link "Remove all of your children from $incubatorName" "Analyze PC Pregnancy">>
-			<<run WombChangeReserveType($PC, "incubator", "")>>
-			<<set $reservedChildren -= _incubatorReservations>>
-		<</link>> |
-	<</if>>
-	<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>>
-		<<link "Keep all of your children in $incubatorName" "Analyze PC Pregnancy">>
-			<<run WombChangeReserveType($PC, "nursery", "incubator")>>
-			<<run WombChangeReserveType($PC, "", "incubator")>>
-			<<set $reservedChildrenNursery -= _nurseryReservations>>
-			<<set $reservedChildren += _WL - _incubatorReservations>>
-		<</link>>
-	<<elseif _incubatorReservations < _WL>>
-		There is not enough free space in $incubatorName for the rest of your children.
+	<br><br>
+	Furthest developed pregnancy:
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $PC.preg
+
+	<<if $incubator + $nursery > 0>>
+	<br><br>
+	<<if $incubator > 0>>
+		<<if _incubatorReservations > 0>>
+			<<link "Remove all of your children from $incubatorName" "Analyze PC Pregnancy">>
+				<<run WombChangeReserveType($PC, "incubator", "")>>
+				<<set $reservedChildren -= _incubatorReservations>>
+			<</link>> |
+		<</if>>
+		<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>>
+			<<link "Keep all of your children in $incubatorName" "Analyze PC Pregnancy">>
+				<<run WombChangeReserveType($PC, "nursery", "incubator")>>
+				<<run WombChangeReserveType($PC, "", "incubator")>>
+				<<set $reservedChildrenNursery -= _nurseryReservations>>
+				<<set $reservedChildren += _WL - _incubatorReservations>>
+			<</link>>
+		<<elseif _incubatorReservations < _WL>>
+			There is not enough free space in $incubatorName for the rest of your children.
+		<</if>>
 	<</if>>
-<</if>>
-<br>
-<<if $nursery > 0>>
-	<<if _nurseryReservations > 0>>
-		<<link "Remove all of your children from $nurseryName" "Analyze PC Pregnancy">>
-			<<run WombChangeReserveType($PC, "nursery", "")>>
-			<<set $reservedChildrenNursery -= _nurseryReservations>>
-		<</link>> |
+	<br>
+	<<if $nursery > 0>>
+		<<if _nurseryReservations > 0>>
+			<<link "Remove all of your children from $nurseryName" "Analyze PC Pregnancy">>
+				<<run WombChangeReserveType($PC, "nursery", "")>>
+				<<set $reservedChildrenNursery -= _nurseryReservations>>
+			<</link>> |
+		<</if>>
+		<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>>
+			<<link "Keep all of your children in $nurseryName" "Analyze PC Pregnancy">>
+				<<run WombChangeReserveType($PC, "incubator", "nursery")>>
+				<<run WombChangeReserveType($PC, "", "nursery")>>
+				<<set $reservedChildren -= _incubatorReservations>>
+				<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
+			<</link>>
+		<<elseif _nurseryReservations < _WL>>
+			There is not enough free space in $nurseryName for the rest of your children.
+		<</if>>
 	<</if>>
-	<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>>
-		<<link "Keep all of your children in $nurseryName" "Analyze PC Pregnancy">>
-			<<run WombChangeReserveType($PC, "incubator", "nursery")>>
-			<<run WombChangeReserveType($PC, "", "nursery")>>
-			<<set $reservedChildren -= _incubatorReservations>>
-			<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
-		<</link>>
-	<<elseif _nurseryReservations < _WL>>
-		There is not enough free space in $nurseryName for the rest of your children.
 	<</if>>
-<</if>>
-<</if>>
 
-<br><br>
-Deep scan:
+	<br><br>
+	Deep scan:
 
-<br>
-<<for _ap = 0; _ap < _WL; _ap++>>
-<<capture _ap>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Ova: $PC.womb[_ap].genetics.name
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Gender: $PC.womb[_ap].genetics.gender
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Father ID: $PC.womb[_ap].genetics.father
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Father Name: $PC.womb[_ap].genetics.fatherName
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Mother ID: $PC.womb[_ap].genetics.mother
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Mother Name: $PC.womb[_ap].genetics.motherName
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Nationality: $PC.womb[_ap].genetics.nationality
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Race: $PC.womb[_ap].genetics.race
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Skin tone: $PC.womb[_ap].genetics.skin
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Intelligence index: $PC.womb[_ap].genetics.intelligence out of 100
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Face index: $PC.womb[_ap].genetics.face out of 100
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Eye Color: $PC.womb[_ap].genetics.eyeColor
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Hair Color: $PC.womb[_ap].genetics.hColor
-	<<if $PC.womb[_ap].genetics.underArmHStyle == "hairless" && $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Body hair: none
-	<<elseif $PC.womb[_ap].genetics.underArmHStyle == "hairless">>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Body hair: lacks underarm hair
-	<<elseif $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Body hair: lacks pubic hair
-	<</if>>
-	<<if $PC.womb[_ap].genetics.markings == "freckles" || $PC.womb[_ap].genetics.markings == "heavily freckled">>
+	<br>
+	<<for _ap = 0; _ap < _WL; _ap++>>
+	<<capture _ap>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Markings: $PC.womb[_ap].genetics.markings
-	<</if>>
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-	
-	Underarm Hair Style: $PC.womb[_ap].genetics.underArmHStyle
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Pubic Hair Style: $PC.womb[_ap].genetics.pubicHStyle
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Markings: $PC.womb[_ap].genetics.markings
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Sexual Flaw: $PC.womb[_ap].genetics.sexualFlaw
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Behavioral Flaw: $PC.womb[_ap].genetics.behavioralFlaw
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Fetish: $PC.womb[_ap].genetics.fetish
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-	
-	Reserved: $PC.womb[_ap].reserve
-
-	<<if $geneticMappingUpgrade == 1>>
+		Ova: $PC.womb[_ap].genetics.name
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		Gender: $PC.womb[_ap].genetics.gender
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -158,12 +106,26 @@ Deep scan:
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Markings: $PC.womb[_ap].genetics.markings
 		<</if>>
-	<<else>>
-		<<if $PC.womb[_ap].age > 13>>
+		<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
+		
+		Underarm Hair Style: $PC.womb[_ap].genetics.underArmHStyle
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Pubic Hair Style: $PC.womb[_ap].genetics.pubicHStyle
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Markings: $PC.womb[_ap].genetics.markings
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Sexual Flaw: $PC.womb[_ap].genetics.sexualFlaw
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Behavioral Flaw: $PC.womb[_ap].genetics.behavioralFlaw
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Fetish: $PC.womb[_ap].genetics.fetish
+		<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
+		
+		Reserved: $PC.womb[_ap].reserve
+
+		<<if $geneticMappingUpgrade == 1>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Gender: $PC.womb[_ap].genetics.gender
-		<</if>>
-		<<if $PC.womb[_ap].age > 5>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Father ID: $PC.womb[_ap].genetics.father
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -172,58 +134,105 @@ Deep scan:
 			Mother ID: $PC.womb[_ap].genetics.mother
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Mother Name: $PC.womb[_ap].genetics.motherName
-		<</if>>
-	<</if>>
-	<<if $incubator > 0 || $nursery > 0>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Reserved: $PC.womb[_ap].reserve
-	<</if>>
-	
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-	
-	Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze PC Pregnancy][$PC.womb[_ap].genetics.name = _tempName]]
-	<<if $PC.womb[_ap].age < 4 && $PC.womb[_ap].fatherID != -6>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Terminate ovum" "Analyze PC Pregnancy">><<run WombRemoveFetus($PC, _ap)>><</link>>
-	<</if>>
-	<<if $incubator > 0>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if $PC.womb[_ap].reserve === "incubator">>
-			<<link "Don't keep this child in $incubatorName" "Analyze PC Pregnancy">>
-				<<set $PC.womb[_ap].reserve = "">>
-				<<set $reservedChildren-->>
-			<</link>>
-		<<elseif $freeTanks - $reservedChildren > 0>>
-			<<link "Keep this child in $incubatorName" "Analyze PC Pregnancy">>
-				<<if $PC.womb[_ap].reserve === "nursery">>
-					<<set $reservedChildrenNursery-->>
-				<</if>>
-				<<set $PC.womb[_ap].reserve = "incubator">>
-				<<set $reservedChildren++>>
-			<</link>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Nationality: $PC.womb[_ap].genetics.nationality
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Race: $PC.womb[_ap].genetics.race
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Skin tone: $PC.womb[_ap].genetics.skin
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Intelligence index: $PC.womb[_ap].genetics.intelligence out of 100
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Face index: $PC.womb[_ap].genetics.face out of 100
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Eye Color: $PC.womb[_ap].genetics.eyeColor
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Hair Color: $PC.womb[_ap].genetics.hColor
+			<<if $PC.womb[_ap].genetics.underArmHStyle == "hairless" && $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Body hair: none
+			<<elseif $PC.womb[_ap].genetics.underArmHStyle == "hairless">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Body hair: lacks underarm hair
+			<<elseif $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Body hair: lacks pubic hair
+			<</if>>
+			<<if $PC.womb[_ap].genetics.markings == "freckles" || $PC.womb[_ap].genetics.markings == "heavily freckled">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Markings: $PC.womb[_ap].genetics.markings
+			<</if>>
 		<<else>>
-			There is not enough free space to keep this child in $incubatorName.
+			<<if $PC.womb[_ap].age > 13>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Gender: $PC.womb[_ap].genetics.gender
+			<</if>>
+			<<if $PC.womb[_ap].age > 5>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Father ID: $PC.womb[_ap].genetics.father
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Father Name: $PC.womb[_ap].genetics.fatherName
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Mother ID: $PC.womb[_ap].genetics.mother
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Mother Name: $PC.womb[_ap].genetics.motherName
+			<</if>>
 		<</if>>
-	<</if>>
-	<<if $nursery > 0>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if $PC.womb[_ap].reserve === "nursery">>
-			<<link "Don't keep this child in $nurseryName" "Analyze PC Pregnancy">>
-				<<set $PC.womb[_ap].reserve = "">>
-				<<set $reservedChildrenNursery-->>
-			<</link>>
-		<<elseif $freeCribs - $reservedChildrenNursery > 0>>
-			<<link "Keep this child in $nurseryName" "Analyze PC Pregnancy">>
-				<<if $PC.womb[_ap].reserve === "incubator">>
+		<<if $incubator > 0 || $nursery > 0>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Reserved: $PC.womb[_ap].reserve
+		<</if>>
+		
+		<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
+		
+		Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze PC Pregnancy][$PC.womb[_ap].genetics.name = _tempName]]
+		<<if $PC.womb[_ap].age < 4 && $PC.womb[_ap].fatherID != -6>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<link "Terminate ovum" "Analyze PC Pregnancy">><<run WombRemoveFetus($PC, _ap)>><</link>>
+			<<if $surgeryUpgrade == 1>>
+				| [[Transplant ovum|Ova Transplant Workaround][$donatrix = $PC, $wombIndex = _ap, $nextLink = "Analyze PC Pregnancy"]]
+			<</if>>
+		<</if>>
+		<<if $incubator > 0>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<if $PC.womb[_ap].reserve === "incubator">>
+				<<link "Don't keep this child in $incubatorName" "Analyze PC Pregnancy">>
+					<<set $PC.womb[_ap].reserve = "">>
 					<<set $reservedChildren-->>
-				<</if>>
-				<<set $PC.womb[_ap].reserve = "nursery">>
-				<<set $reservedChildrenNursery++>>
-			<</link>>
-		<<else>>
-			There is not enough free space to keep this child in $nurseryName.
+				<</link>>
+			<<elseif $freeTanks - $reservedChildren > 0>>
+				<<link "Keep this child in $incubatorName" "Analyze PC Pregnancy">>
+					<<if $PC.womb[_ap].reserve === "nursery">>
+						<<set $reservedChildrenNursery-->>
+					<</if>>
+					<<set $PC.womb[_ap].reserve = "incubator">>
+					<<set $reservedChildren++>>
+				<</link>>
+			<<else>>
+				There is not enough free space to keep this child in $incubatorName.
+			<</if>>
 		<</if>>
-	<</if>>
-	<br><br><hr style="margin:0"><br>
-<</capture>>
-<</for>>
+		<<if $nursery > 0>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<if $PC.womb[_ap].reserve === "nursery">>
+				<<link "Don't keep this child in $nurseryName" "Analyze PC Pregnancy">>
+					<<set $PC.womb[_ap].reserve = "">>
+					<<set $reservedChildrenNursery-->>
+				<</link>>
+			<<elseif $freeCribs - $reservedChildrenNursery > 0>>
+				<<link "Keep this child in $nurseryName" "Analyze PC Pregnancy">>
+					<<if $PC.womb[_ap].reserve === "incubator">>
+						<<set $reservedChildren-->>
+					<</if>>
+					<<set $PC.womb[_ap].reserve = "nursery">>
+					<<set $reservedChildrenNursery++>>
+				<</link>>
+			<<else>>
+				There is not enough free space to keep this child in $nurseryName.
+			<</if>>
+		<</if>>
+		<br><br><hr style="margin:0"><br>
+	<</capture>>
+	<</for>>
+	
+<</if>>
diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw
index fb8c37da1421440d94eae2493104c34a8c4c93e2..5c4e43145216e6fa142c6133bf8d69e4bfea2d36 100644
--- a/src/pregmod/analyzePregnancy.tw
+++ b/src/pregmod/analyzePregnancy.tw
@@ -4,126 +4,74 @@
 
 <<set _WL = $activeSlave.womb.length, _incubatorReservations = WombReserveCount($activeSlave, "incubator"), _nurseryReservations = WombReserveCount($activeSlave, "nursery")>>
 
-//$activeSlave.slaveName is <<if $activeSlave.devotion < 20>>restrained<<else>>comfortably reclined<</if>> with $his stomach prepped for examination. $He shudders slightly at the cold touch of the sensor against $his skin.//
+<<if _WL == 0>>
+	<<goto "Slave Interact">>
+<<else>>
 
-<br><br>
+	//$activeSlave.slaveName is <<if $activeSlave.devotion < 20>>restrained<<else>>comfortably reclined<</if>> with $his stomach prepped for examination. $He shudders slightly at the cold touch of the sensor against $his skin.//
 
-<<set $saleDescription = 1>><<pregnancyDescription>><<set $saleDescription = 0>>
+	<br><br>
 
-<br><br>
-Overall statistics:
-<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal count: $activeSlave.womb.length
-<br>&nbsp;&nbsp;&nbsp;&nbsp;Estimated womb volume: <<print commaNum(Math.round($activeSlave.bellyPreg))>> cc
+	<<set $saleDescription = 1>><<pregnancyDescription>><<set $saleDescription = 0>>
 
-<br><br>
-Furthest developed pregnancy:
-<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $activeSlave.preg
+	<br><br>
+	Overall statistics:
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal count: $activeSlave.womb.length
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Estimated womb volume: <<print commaNum(Math.round($activeSlave.bellyPreg))>> cc
 
-<<if $incubator + $nursery > 0>>
-<br><br>
-<<if $incubator > 0>>
-	<<if _incubatorReservations > 0>>
-		<<link "Remove all of $his children from $incubatorName" "Analyze Pregnancy">>
-			<<run WombChangeReserveType($activeSlave, "incubator", "")>>
-			<<set $reservedChildren -= _incubatorReservations>>
-		<</link>> |
-	<</if>>
-	<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>>
-		<<link "Keep all of $his children in $incubatorName" "Analyze Pregnancy">>
-			<<run WombChangeReserveType($activeSlave, "nursery", "incubator")>>
-			<<run WombChangeReserveType($activeSlave, "", "incubator")>>
-			<<set $reservedChildrenNursery -= _nurseryReservations>>
-			<<set $reservedChildren += _WL - _incubatorReservations>>
-		<</link>>
-	<<elseif _incubatorReservations < _WL>>
-		There is not enough free space in $incubatorName for the rest of $his children.
+	<br><br>
+	Furthest developed pregnancy:
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $activeSlave.preg
+
+	<<if $incubator + $nursery > 0>>
+	<br><br>
+	<<if $incubator > 0>>
+		<<if _incubatorReservations > 0>>
+			<<link "Remove all of $his children from $incubatorName" "Analyze Pregnancy">>
+				<<run WombChangeReserveType($activeSlave, "incubator", "")>>
+				<<set $reservedChildren -= _incubatorReservations>>
+			<</link>> |
+		<</if>>
+		<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>>
+			<<link "Keep all of $his children in $incubatorName" "Analyze Pregnancy">>
+				<<run WombChangeReserveType($activeSlave, "nursery", "incubator")>>
+				<<run WombChangeReserveType($activeSlave, "", "incubator")>>
+				<<set $reservedChildrenNursery -= _nurseryReservations>>
+				<<set $reservedChildren += _WL - _incubatorReservations>>
+			<</link>>
+		<<elseif _incubatorReservations < _WL>>
+			There is not enough free space in $incubatorName for the rest of $his children.
+		<</if>>
 	<</if>>
-<</if>>
-<br>
-<<if $nursery > 0>>
-	<<if _nurseryReservations > 0>>
-		<<link "Remove all of $his children from $nurseryName" "Analyze Pregnancy">>
-			<<run WombChangeReserveType($activeSlave, "nursery", "")>>
-			<<set $reservedChildrenNursery -= _nurseryReservations>>
-		<</link>> |
+	<br>
+	<<if $nursery > 0>>
+		<<if _nurseryReservations > 0>>
+			<<link "Remove all of $his children from $nurseryName" "Analyze Pregnancy">>
+				<<run WombChangeReserveType($activeSlave, "nursery", "")>>
+				<<set $reservedChildrenNursery -= _nurseryReservations>>
+			<</link>> |
+		<</if>>
+		<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>>
+			<<link "Keep all of $his children in $nurseryName" "Analyze Pregnancy">>
+				<<run WombChangeReserveType($activeSlave, "incubator", "nursery")>>
+				<<run WombChangeReserveType($activeSlave, "", "nursery")>>
+				<<set $reservedChildren -= _incubatorReservations>>
+				<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
+			<</link>>
+		<<elseif _nurseryReservations < _WL>>
+			There is not enough free space in $nurseryName for the rest of $his children.
+		<</if>>
 	<</if>>
-	<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>>
-		<<link "Keep all of $his children in $nurseryName" "Analyze Pregnancy">>
-			<<run WombChangeReserveType($activeSlave, "incubator", "nursery")>>
-			<<run WombChangeReserveType($activeSlave, "", "nursery")>>
-			<<set $reservedChildren -= _incubatorReservations>>
-			<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
-		<</link>>
-	<<elseif _nurseryReservations < _WL>>
-		There is not enough free space in $nurseryName for the rest of $his children.
 	<</if>>
-<</if>>
-<</if>>
 
-<br><br>
-Deep scan:
+	<br><br>
+	Deep scan:
 
-<br>
-<<for _ap = 0; _ap < _WL; _ap++>>
-<<capture _ap>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Ova: $activeSlave.womb[_ap].genetics.name
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Gender: $activeSlave.womb[_ap].genetics.gender
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Father ID: $activeSlave.womb[_ap].genetics.father
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Father Name: $activeSlave.womb[_ap].genetics.fatherName
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Mother ID: $activeSlave.womb[_ap].genetics.mother
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Mother Name: $activeSlave.womb[_ap].genetics.motherName
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Nationality: $activeSlave.womb[_ap].genetics.nationality
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Race: $activeSlave.womb[_ap].genetics.race
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Skin tone: $activeSlave.womb[_ap].genetics.skin
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Intelligence index: $activeSlave.womb[_ap].genetics.intelligence out of 100
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Face index: $activeSlave.womb[_ap].genetics.face out of 100
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Eye Color: $activeSlave.womb[_ap].genetics.eyeColor
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Hair Color: $activeSlave.womb[_ap].genetics.hColor
-	<<if $activeSlave.womb[_ap].genetics.underArmHStyle == "hairless" && $activeSlave.womb[_ap].genetics.pubicHStyle == "hairless">>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Body hair: none
-	<<elseif $activeSlave.womb[_ap].genetics.underArmHStyle == "hairless">>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Body hair: lacks underarm hair
-	<<elseif $activeSlave.womb[_ap].genetics.pubicHStyle == "hairless">>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Body hair: lacks pubic hair
-	<</if>>
-	<<if $activeSlave.womb[_ap].genetics.markings == "freckles" || $activeSlave.womb[_ap].genetics.markings == "heavily freckled">>
+	<br>
+	<<for _ap = 0; _ap < _WL; _ap++>>
+	<<capture _ap>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Markings: $activeSlave.womb[_ap].genetics.markings
-	<</if>>
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-	
-	Underarm Hair Style: $activeSlave.womb[_ap].genetics.underArmHStyle
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Pubic Hair Style: $activeSlave.womb[_ap].genetics.pubicHStyle
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Markings: $activeSlave.womb[_ap].genetics.markings
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Sexual Flaw: $activeSlave.womb[_ap].genetics.sexualFlaw
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Behavioral Flaw: $activeSlave.womb[_ap].genetics.behavioralFlaw
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	Fetish: $activeSlave.womb[_ap].genetics.fetish
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-	
-	Reserved: $activeSlave.womb[_ap].reserve
-
-	<<if $geneticMappingUpgrade == 1>>
+		Ova: $activeSlave.womb[_ap].genetics.name
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		Gender: $activeSlave.womb[_ap].genetics.gender
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -162,12 +110,26 @@ Deep scan:
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Markings: $activeSlave.womb[_ap].genetics.markings
 		<</if>>
-	<<else>>
-		<<if $activeSlave.womb[_ap].age > 13>>
+		<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
+		
+		Underarm Hair Style: $activeSlave.womb[_ap].genetics.underArmHStyle
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Pubic Hair Style: $activeSlave.womb[_ap].genetics.pubicHStyle
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Markings: $activeSlave.womb[_ap].genetics.markings
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Sexual Flaw: $activeSlave.womb[_ap].genetics.sexualFlaw
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Behavioral Flaw: $activeSlave.womb[_ap].genetics.behavioralFlaw
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		Fetish: $activeSlave.womb[_ap].genetics.fetish
+		<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
+		
+		Reserved: $activeSlave.womb[_ap].reserve
+
+		<<if $geneticMappingUpgrade == 1>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Gender: $activeSlave.womb[_ap].genetics.gender
-		<</if>>
-		<<if $activeSlave.womb[_ap].age > 5>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Father ID: $activeSlave.womb[_ap].genetics.father
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -176,58 +138,105 @@ Deep scan:
 			Mother ID: $activeSlave.womb[_ap].genetics.mother
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Mother Name: $activeSlave.womb[_ap].genetics.motherName
-		<</if>>
-	<</if>>
-	<<if $incubator > 0 || $nursery > 0>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Reserved: $activeSlave.womb[_ap].reserve
-	<</if>>
-	
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-	
-	Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze Pregnancy][$activeSlave.womb[_ap].genetics.name = _tempName]]
-	<<if $activeSlave.womb[_ap].age < 4 && ($activeSlave.womb[_ap].fatherID != -1 || $activeSlave.breedingMark == 0)>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Terminate ovum" "Analyze Pregnancy">><<run WombRemoveFetus($activeSlave, _ap)>><</link>>
-	<</if>>
-	<<if $incubator > 0>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if $activeSlave.womb[_ap].reserve === "incubator">>
-			<<link "Don't keep this child in $incubatorName" "Analyze Pregnancy">>
-				<<set $activeSlave.womb[_ap].reserve = "">>
-				<<set $reservedChildren-->>
-			<</link>>
-		<<elseif $freeTanks - $reservedChildren > 0>>
-			<<link "Keep this child in $incubatorName" "Analyze Pregnancy">>
-				<<if $activeSlave.womb[_ap].reserve === "nursery">>
-					<<set $reservedChildrenNursery-->>
-				<</if>>
-				<<set $activeSlave.womb[_ap].reserve = "incubator">>
-				<<set $reservedChildren++>>
-			<</link>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Nationality: $activeSlave.womb[_ap].genetics.nationality
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Race: $activeSlave.womb[_ap].genetics.race
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Skin tone: $activeSlave.womb[_ap].genetics.skin
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Intelligence index: $activeSlave.womb[_ap].genetics.intelligence out of 100
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Face index: $activeSlave.womb[_ap].genetics.face out of 100
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Eye Color: $activeSlave.womb[_ap].genetics.eyeColor
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Hair Color: $activeSlave.womb[_ap].genetics.hColor
+			<<if $activeSlave.womb[_ap].genetics.underArmHStyle == "hairless" && $activeSlave.womb[_ap].genetics.pubicHStyle == "hairless">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Body hair: none
+			<<elseif $activeSlave.womb[_ap].genetics.underArmHStyle == "hairless">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Body hair: lacks underarm hair
+			<<elseif $activeSlave.womb[_ap].genetics.pubicHStyle == "hairless">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Body hair: lacks pubic hair
+			<</if>>
+			<<if $activeSlave.womb[_ap].genetics.markings == "freckles" || $activeSlave.womb[_ap].genetics.markings == "heavily freckled">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Markings: $activeSlave.womb[_ap].genetics.markings
+			<</if>>
 		<<else>>
-			There is not enough free space to keep this child in $incubatorName.
+			<<if $activeSlave.womb[_ap].age > 13>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Gender: $activeSlave.womb[_ap].genetics.gender
+			<</if>>
+			<<if $activeSlave.womb[_ap].age > 5>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Father ID: $activeSlave.womb[_ap].genetics.father
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Father Name: $activeSlave.womb[_ap].genetics.fatherName
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Mother ID: $activeSlave.womb[_ap].genetics.mother
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				Mother Name: $activeSlave.womb[_ap].genetics.motherName
+			<</if>>
 		<</if>>
-	<</if>>
-	<<if $nursery > 0>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if $activeSlave.womb[_ap].reserve === "nursery">>
-			<<link "Don't keep this child in $nurseryName" "Analyze Pregnancy">>
-				<<set $activeSlave.womb[_ap].reserve = "">>
-				<<set $reservedChildrenNursery-->>
-			<</link>>
-		<<elseif $freeCribs - $reservedChildrenNursery > 0>>
-			<<link "Keep this child in $nurseryName" "Analyze Pregnancy">>
-				<<if $activeSlave.womb[_ap].reserve === "incubator">>
+		<<if $incubator > 0 || $nursery > 0>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			Reserved: $activeSlave.womb[_ap].reserve
+		<</if>>
+		
+		<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
+		
+		Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze Pregnancy][$activeSlave.womb[_ap].genetics.name = _tempName]]
+		<<if $activeSlave.womb[_ap].age < 4 && ($activeSlave.womb[_ap].fatherID != -1 || $activeSlave.breedingMark == 0)>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<link "Terminate ovum" "Analyze Pregnancy">><<run WombRemoveFetus($activeSlave, _ap)>><</link>>
+			<<if $surgeryUpgrade == 1>>
+				| [[Transplant ovum|Ova Transplant Workaround][$donatrix = $activeSlave, $wombIndex = _ap, $nextLink = "Analyze Pregnancy"]]
+			<</if>>
+		<</if>>
+		<<if $incubator > 0>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<if $activeSlave.womb[_ap].reserve === "incubator">>
+				<<link "Don't keep this child in $incubatorName" "Analyze Pregnancy">>
+					<<set $activeSlave.womb[_ap].reserve = "">>
 					<<set $reservedChildren-->>
-				<</if>>
-				<<set $activeSlave.womb[_ap].reserve = "nursery">>
-				<<set $reservedChildrenNursery++>>
-			<</link>>
-		<<else>>
-			There is not enough free space to keep this child in $nurseryName.
+				<</link>>
+			<<elseif $freeTanks - $reservedChildren > 0>>
+				<<link "Keep this child in $incubatorName" "Analyze Pregnancy">>
+					<<if $activeSlave.womb[_ap].reserve === "nursery">>
+						<<set $reservedChildrenNursery-->>
+					<</if>>
+					<<set $activeSlave.womb[_ap].reserve = "incubator">>
+					<<set $reservedChildren++>>
+				<</link>>
+			<<else>>
+				There is not enough free space to keep this child in $incubatorName.
+			<</if>>
 		<</if>>
-	<</if>>
-	<br><br><hr style="margin:0"><br>
-<</capture>>
-<</for>>
+		<<if $nursery > 0>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<if $activeSlave.womb[_ap].reserve === "nursery">>
+				<<link "Don't keep this child in $nurseryName" "Analyze Pregnancy">>
+					<<set $activeSlave.womb[_ap].reserve = "">>
+					<<set $reservedChildrenNursery-->>
+				<</link>>
+			<<elseif $freeCribs - $reservedChildrenNursery > 0>>
+				<<link "Keep this child in $nurseryName" "Analyze Pregnancy">>
+					<<if $activeSlave.womb[_ap].reserve === "incubator">>
+						<<set $reservedChildren-->>
+					<</if>>
+					<<set $activeSlave.womb[_ap].reserve = "nursery">>
+					<<set $reservedChildrenNursery++>>
+				<</link>>
+			<<else>>
+				There is not enough free space to keep this child in $nurseryName.
+			<</if>>
+		<</if>>
+		<br><br><hr style="margin:0"><br>
+	<</capture>>
+	<</for>>
+
+<</if>>
diff --git a/src/pregmod/fDick.tw b/src/pregmod/fDick.tw
index 41ed44df932dc2885615b225be2acdb83384da11..cb36067c909247ec5aafc99ce6dbeeda117840cc 100644
--- a/src/pregmod/fDick.tw
+++ b/src/pregmod/fDick.tw
@@ -121,7 +121,7 @@
 			<<elseif $PC.boobsBonus > 1>>
 				pushes your face down into your <<if $PC.boobsImplant == 1>>fake <</if>>cleavage while pinning your arms and legs.
 			<<else>>
-				rolls you into missionary while pinning your arms and forcing you into a breeding press.
+				rolls you into missionary while pinning your arms and forcing you into a mating press.
 			<</if>>
 			Such audacity takes you entirely by surprise and gives $him the edge $he needs to pull it off. $He vigorously pistons in and out of you with little regard for you<<if $PC.pregKnown == 1>> or your pregnancy<</if>>, fucking you senseless until $he has had enough and cums deep inside your <<if $PC.vagina == 1>>pussy<<else>>ass<</if>>.
 			<<if canImpreg($PC, $activeSlave) && $activeSlave.fetish == "pregnancy">>
@@ -134,7 +134,7 @@
 			<</if>>
 			<<set $activeSlave.trust += 5>>
 		<<else>>
-			You feel $his shift dominantly beneath you and in response
+			You feel $him shift dominantly beneath you and in response
 			<<if $activeSlave.scrotum > 0>>
 				clamp down on $his balls
 			<<else>>
diff --git a/src/pregmod/ovaTransplantWorkaround.tw b/src/pregmod/ovaTransplantWorkaround.tw
index 5202cbf54f9e94f5f306ef6f8d83980b1427ae1c..2d57378db82db4a86d4b0b25dac8ba29acf5ae68 100644
--- a/src/pregmod/ovaTransplantWorkaround.tw
+++ b/src/pregmod/ovaTransplantWorkaround.tw
@@ -1,50 +1,29 @@
 :: Ova Transplant Workaround [nobr]
 
-<<set $nextButton = "Back", $impregnatrix = 0, _eligibility = 0, _eligibilityI = 0>>
+<<set $nextButton = "Cancel", $receptrix = 0, _eligibility = 0>>
 
-//$activeSlave.slaveName is prepped for fertilization; now you must select a target to harvest sperm from.//
+//You've decided which fertilized ovum is to be transplanted; now you must select who's womb will be its new home.//
 
 <br><br>
 
-__Select an eligible slave to serve as the semen donatrix:__
+__Select a slave to serve as the host__
 
 <br>
 
-<<for _ai = 0; _ai < $slaves.length; _ai++>>
-	<<if $slaves[_ai].balls > 0 && $slaves[_ai].pubertyXY == 1 && canBreed($activeSlave, $slaves[_ai])>>
-		<<set _name = SlaveFullName($slaves[_ai])>>
-		<br><<print "[[_name|Surgery Degradation][$impregnatrix = $slaves[" + _ai + "], $cash -= $surgeryCost, $surgeryType = 'insemination']]">>
+<<for _otw = 0; _otw < $slaves.length; _otw++>>
+<<capture _otw>>
+	<<if ($donatrix.ID != $slaves[_otw].ID && $slaves[_otw].ovaries > 0 || $slaves[_otw].mpreg > 0) && isSlaveAvailable($slaves[_otw]) && $slaves[_otw].preg >= 0 && $slaves[_otw].preg < 4 && $slaves[_otw].pregWeek >= 0 && $slaves[_otw].pubertyXX == 1 && $slaves[_otw].pregType < 12 && $slaves[_otw].bellyImplant == -1 && $slaves[_otw].broodmother == 0 && $slaves[_otw].inflation <= 2 && $slaves[_otw].physicalAge < 70>>
+		<<set _name = SlaveFullName($slaves[_otw])>>
+		<br><<print "[[_name|Surrogacy][$receptrix = $slaves[" + _otw + "], $cash -= ($surgeryCost*2), $surgeryType = 'transplant']]">> <<if $slaves[_otw].pregType >= 4>>//Using a slave carrying multiples is unadvisable//<</if>>
 		<<set _eligibility = 1>>
 	<</if>>
+<</capture>>
 <</for>>
 <<if (_eligibility == 0)>>
-	<br>//You have no slaves with potent sperm.//
+	<br>//You have no slaves capable of acting as a surrogate.//
 <</if>>
 
-/* Disabled until .pregSource can manage to comprehend this
-<<if $incubatorSlaves > 0 && $incubatorReproductionSetting == 2>>
-	<br><br>
-	
-	__Incubator settings are resulting in large-scale fluid secretion. Select an eligible incubatee to milk for semen:__
-
-	<br>
-	<<for _ai = 0; _ai < $tanks.length; _ai++>>
-		<<if $tanks[_ai].balls > 0 && $tanks[_ai].dick > 0 && canBreed($activeSlave, $tanks[_ai])>>
-			<br><<print "[[$tanks[_ai].slaveName|Surgery Degradation][$impregnatrix = $tanks[" + _ai + "], $cash -= $surgeryCost, $surgeryType = 'insemination']]">>
-			<<set _eligibilityI = 1>>
-		<</if>>
-	<</for>>
-	<<if (_eligibilityI == 0)>>
-		<br>//You have no growing slaves producing sperm.//
-	<</if>>
-<</if>>
-*/
-
-<<if $PC.dick == 1>>
-	<br>
-	[[Use your own|Surgery Degradation][$impregnatrix = $PC, $cash -= $surgeryCost, $surgeryType = "insemination"]]
-<<elseif $PC.storedCum > 0>>
+<<if $PC.vagina == 1 && $donatrix.ID != -1 && $PC.preg >= 0 && $PC.preg < 4 && $PC.pregType < 8 && $PC.physicalAge < 70>>
 	<br>
-	[[Use a vial of your own|Surgery Degradation][$impregnatrix = $PC, $cash -= $surgeryCost, $surgeryType = "insemination", $PC.storedCum--]]
-	//You have enough sperm stored away to inseminate $PC.storedCum more slave<<if $PC.storedCum > 1>>s<</if>>.//
+	[[Use your own womb|Surrogacy][$receptrix = $PC, $cash -= ($surgeryCost*2), $surgeryType = 'transplant']]
 <</if>>
diff --git a/src/pregmod/surrogacy.tw b/src/pregmod/surrogacy.tw
index b091b740ba6205012f2927ebbe1f7615b801afd5..ec1a5096f8c6ce7d6c53af74093ad669098009d7 100644
--- a/src/pregmod/surrogacy.tw
+++ b/src/pregmod/surrogacy.tw
@@ -56,4 +56,68 @@
 	<</if>>
 	<<set $receptrix = 0, $impregnatrix = 0, $donatrix = 0>>
 
+<<case "transplant">>
+
+	<<if $receptrix.ID == -1>>
+		Since the surgery required only a local anesthetic, you are very aware that you are now carrying $activeSlave.slaveName's child. You slowly rise to your feet, a hand to your lower belly, appreciating the new life growing within you.
+		<<set _fetus = WombRemoveFetus($activeSlave, $wombIndex)>>
+		<<run WombAddFetus($PC, _fetus)>>
+		<<set $PC.pregKnown = 1, $PC.preg = 1>>
+		<<run WombUpdatePregVars($PC)>>
+		<<set $activeSlave.pregType-->>
+		<<run WombNormalizePreg($activeSlave)>>
+	<<else>>
+		<<set _fetus = WombRemoveFetus($donatrix, $wombIndex)>>
+		<<run WombAddFetus($receptrix, _fetus)>>
+		<<set $receptrix.pregKnown = 1, $receptrix.preg = 1>>
+		<<run WombUpdatePregVars($receptrix)>>
+		<<set $donatrix.pregType-->>
+		<<run WombNormalizePreg($donatrix)>>
+		<<if $donatrix.ID == -1>>
+			<<set $PC = $donatrix>>
+		<<else>>
+			<<set _surr = $slaves.findIndex(function(s) { return s.ID == $donatrix.ID; })>>
+			<<set $activeSlave = $donatrix>>
+		<</if>>
+		<<setLocalPronouns $receptrix>>
+		<<if $receptrix.fetish == "mindbroken">>
+			 $receptrix.slaveName leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated.
+		<<elseif ($receptrix.fetish == "pregnancy") && ($receptrix.fetishStrength > 60) && ($receptrix.fetishKnown == 1)>>
+			<<if canSee($receptrix)>>
+				Since the surgery required only a local anesthetic, $receptrix.slaveName remained fully aware throughout the procedure. $He was overjoyed at the sight of the syringe containing $his future child emptying into $his womb.
+			<<else>>
+				$receptrix.slaveName leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated.
+			<</if>>
+			$He is @@.hotpink; filled with joy@@ over the life resettling into $his womb and can't wait to see the result. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body.
+			<<set $receptrix.trust += 4, $receptrix.devotion += 10>>
+		<<elseif ($receptrix.devotion > 50)>>
+			<<if canSee($receptrix)>>
+				Since the surgery required only a local anesthetic, $receptrix.slaveName remained fully aware throughout the procedure. $He watched the syringe containing $his new pregnancy empty into $his womb with rapt attention.
+			<<else>>
+				$receptrix.slaveName leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated.
+			<</if>>
+			$He's @@.hotpink;grateful@@ that you think $him worthy of carrying this child in <<if $donatrix.ID == -1>>your stead<<else>>lieu of $donatrix.slaveName<</if>>, and a little nervous about how $he'll perform as a surrogate.
+			<<set $receptrix.devotion += 4>>
+		<<elseif ($receptrix.devotion >= -20)>>
+			<<if canSee($receptrix)>>
+				Since the surgery required only a local anesthetic, $receptrix.slaveName remained fully aware throughout the procedure. From the syringe making contact with $his skin, to the egg's delivery into $his womb and $his subsequent impregnation, $he couldn't look away.
+			<<else>>
+				$receptrix.slaveName leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated.
+			<</if>>
+			$He understands the realities of $his life as a slave, so it isn't much of a shock. $He is @@.gold;sensibly fearful@@ of your total power over $his body and how you are forcing <<if $donatrix.ID == -1>>your pregnancy upon $him<<else>>$him to carry what should have been $donatrix.slaveName's burden<</if>>.
+			<<set $receptrix.trust -= 10>>
+		<<else>>
+			<<if canSee($receptrix)>>
+				Since the surgery required only a local anesthetic, $receptrix.slaveName remained fully aware throughout the procedure. The moment $he realized what was happening, $he shut $his eyes tight, only opening them again as $he feels the slight tingle of the injector exiting $his lower abdomen.
+			<<else>>
+				$receptrix.slaveName leaves the surgery with a certain warmth in $his lower abdomen, $he knows that $he has been impregnated.
+			<</if>>
+			$He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you have forced $him to <<if $donatrix.ID == -1>>carry your child instead of doing so yourself<<else>>bear this child in lieu of $donatrix.slaveName<</if>>. $He is @@.gold;sensibly fearful@@ of your total power over $his body and who else's troubles may be levied upon $him.
+			<<set $receptrix.trust -= 15, $receptrix.devotion -= 15>>
+		<</if>>
+		<<set _surr = $slaves.findIndex(function(s) { return s.ID == $receptrix.ID; })>>
+		<<set $slaves[_surr] = $receptrix>>
+	<</if>>
+	<<set $receptrix = 0, $donatrix = 0, $wombIndex = 0>>
+
 <</switch>>
\ No newline at end of file
diff --git a/src/pregmod/surrogacyWorkaround.tw b/src/pregmod/surrogacyWorkaround.tw
index 4e99ba5de83c87d93e54728e9db5610db8960051..1e9857122cb7704346c6cc2701889e58760ebbc7 100644
--- a/src/pregmod/surrogacyWorkaround.tw
+++ b/src/pregmod/surrogacyWorkaround.tw
@@ -15,6 +15,7 @@
 
 
 _impreg will provide the seed and _recieve shall carry it.
+<<if _impreg != "Undecided" && _recieve != "Undecided">>
 [[Implant fertilized ovum|Surrogacy][$cash -= ($surgeryCost*2), $surgeryType = 'surrogacy']]
 
 <br><br>
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index 7a5393198513cb55614f94ba03077848ae2bedc0..89ba378badbc5c17f800b03c30fb69f2f500c9c3 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -183,8 +183,8 @@ __''MAIN MENU''__&nbsp;&nbsp;&nbsp;&nbsp;//[[Summary Options]]//
 						| <<print "[[Fuck her over her belly|FBellyFuck][$activeSlave = $slaves["+_BG+"], $nextButton = _j, $nextLink = _k, $returnTo = _l]]">>			
 						<</if>>
 					<</if>>
-						/*check*/
-						<<if canPenetrate($slaves[_BG])>>
+					/*check*/
+					<<if canPenetrate($slaves[_BG])>>
 						| <<print "[[Ride her|FDick][$activeSlave = $slaves["+_BG+"], $nextButton = _j, $nextLink = _k, $returnTo = _l]]">>
 					<</if>>
 					<<if canDoAnal($slaves[_BG])>>
@@ -267,7 +267,7 @@ __''MAIN MENU''__&nbsp;&nbsp;&nbsp;&nbsp;//[[Summary Options]]//
 							<</if>>
 							/*check*/
 							<<if canPenetrate($slaves[$i])>>
-							| <<print "[[Ride her|FDick][$activeSlave = $slaves["+$i+"],$nextButton = _j,$nextLink = _k,$returnTo = _l]]">>
+								| <<print "[[Ride her|FDick][$activeSlave = $slaves["+$i+"],$nextButton = _j,$nextLink = _k,$returnTo = _l]]">>
 							<</if>>
 							| <<print "[[Abuse her|FAbuse][$activeSlave = $slaves["+$i+"],$nextButton = _j,$nextLink = _k,$returnTo = _l]]">>
 						<<else>>
@@ -289,7 +289,7 @@ __''MAIN MENU''__&nbsp;&nbsp;&nbsp;&nbsp;//[[Summary Options]]//
 							<</if>>
 							/*check*/
 							<<if canPenetrate($slaves[$i])>>
-							| <<print "[[Ride her|FDick][$activeSlave = $slaves["+$i+"],$nextButton = _j,$nextLink = _k,$returnTo = _l]]">>
+								| <<print "[[Ride her|FDick][$activeSlave = $slaves["+$i+"],$nextButton = _j,$nextLink = _k,$returnTo = _l]]">>
 							<</if>>
 							| <<print "[[Abuse her|FAbuse][$activeSlave = $slaves["+$i+"], $nextButton = _j, $nextLink = _k, $returnTo = _l]]">>
 						<</if>>
diff --git a/src/uncategorized/penthouseReport.tw b/src/uncategorized/penthouseReport.tw
index d60482ad65999264781c90e3ca0018dfc2213187..dd22921d62044a4b6643aeb568eecef26d9f2b1e 100644
--- a/src/uncategorized/penthouseReport.tw
+++ b/src/uncategorized/penthouseReport.tw
@@ -38,5 +38,5 @@
 <</for>>
 
 /* count open spots in facilities after all assignments have been decided for the week */
-<<set $brothelSpots = $brothel - $brothelSlaves, $clubSpots = $club - $clubSlaves, $dairySpots = $dairy - $dairySlaves, $farmyardSpots = $farmyard - $farmyardSlaves, $servantsQuartersSpots = $servantsQuarters - $servantsQuartersSlaves>>
+<<set $brothelSpots = $brothel - $brothelSlaves, $clubSpots = $club - $clubSlaves, $dairySpots = $dairy - $dairySlaves, $servantsQuartersSpots = $servantsQuarters - $servantsQuartersSlaves>>
 
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 718897338b3f70491bb7b6961e9bcaf4b98ae25e..9644e2f2b50cc0ebc2c85cbfe541a00569cc4135 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -126,8 +126,10 @@
 	<<if ($activeSlave.dick > 0)>>
 		<<if ($activeSlave.dickAccessory != "chastity") && ($activeSlave.dickAccessory != "combined chastity")>>
 		| <<link "Grope $his dick">><<replace "#miniscene">><<include "FondleDick">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<if canPenetrate($activeSlave) && $sexualOpeness == 1>>
-				| <<link "Ride $his dick">><<replace "#miniscene">><<include "FDick">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
+			<<if canPenetrate($activeSlave)>>
+				<<if $sexualOpeness == 1 || $activeSlave.toyHole == "dick">>
+					| <<link "Ride $his dick">><<replace "#miniscene">><<include "FDick">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
+				<</if>>
 			<</if>>
 		<<else>>
 		| //Remove $his dick chastity belt if you wish to play with $his cock//