diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw
index d3f7b7f66273b4d230c11186c65c45aa46f179c1..eb11f76a5cbfb0b18156cc8adcfe95e50b124393 100644
--- a/src/js/datatypeCleanupJS.tw
+++ b/src/js/datatypeCleanupJS.tw
@@ -223,7 +223,7 @@ window.slaveBellyDatatypeCleanup = function slaveBellyDatatypeCleanup(slave) {
 	if (slave.bellyImplant !== 0) {
 		slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1;
 	}
-	slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0;
+	slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 3) || 0;
 	slave.bellySag = Math.max(+slave.bellySag, 0) || 0;
 	slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag;
 	slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0;
diff --git a/src/npc/descriptions/fAnus.tw b/src/npc/descriptions/fAnus.tw
index ed3a21ae9ea67a9fdecc7ea36410c8e485cace28..8ef08e6e68341c320ad7c2f5fe1582e52f7606eb 100644
--- a/src/npc/descriptions/fAnus.tw
+++ b/src/npc/descriptions/fAnus.tw
@@ -155,6 +155,10 @@ $His anus is invitingly bleached,
 
 <<if ($PC.dick != 0)>>
 
+<<if $activeSlave.cervixImplant == 2 || $activeSlave.cervixImplant == 3>>
+	<<set $activeSlave.bellyImplant += random(10,20)>>
+<</if>>
+
 <<if ($activeSlave.anus > 3)>>
 	Your cum falls out of $his gaping hole.
 <<elseif ($activeSlave.anus > 2)>>
diff --git a/src/npc/descriptions/fButt.tw b/src/npc/descriptions/fButt.tw
index 79928dfa5d111dcc0c3159477eb2459a8e7561f4..5c7195892ce7ea631ffae719a05820ef1e27ad93 100644
--- a/src/npc/descriptions/fButt.tw
+++ b/src/npc/descriptions/fButt.tw
@@ -190,6 +190,10 @@ $His anus is invitingly bleached,
 
 <<if ($PC.dick == 1)>>
 
+<<if $activeSlave.cervixImplant == 2 || $activeSlave.cervixImplant == 3>>
+	<<set $activeSlave.bellyImplant += random(10,20)>>
+<</if>>
+
 <<if ($activeSlave.anus > 3)>>
 	$His gaping hole drips your cum right out again.
 <<elseif ($activeSlave.anus > 2)>>
diff --git a/src/npc/descriptions/fVagina.tw b/src/npc/descriptions/fVagina.tw
index 4cd2c8a5d423db31c0177da9fd8dc9572811e6e3..737473302749077116586934dda8efc77708a612 100644
--- a/src/npc/descriptions/fVagina.tw
+++ b/src/npc/descriptions/fVagina.tw
@@ -498,7 +498,7 @@ You call $him over so you can
 
 <<if ($PC.dick != 0)>>
 
-<<if $activeSlave.cervixImplant == 1>>
+<<if $activeSlave.cervixImplant == 1 || $activeSlave.cervixImplant == 3>>
 	<<set $activeSlave.bellyImplant += random(10,20)>>
 <</if>>
 
diff --git a/src/pregmod/implantManufactory.tw b/src/pregmod/implantManufactory.tw
index d06ddd80db27ba89c83f4e5144f44f8882553fd0..28f28907c25c9a6dc1a4031211be1b58cd5b9f15 100644
--- a/src/pregmod/implantManufactory.tw
+++ b/src/pregmod/implantManufactory.tw
@@ -45,17 +45,29 @@ The manufactory is capable of producing customized fillable implants.
 <<elseif ($bellyImplants > 0)>>
 	The manufactory is capable of crafting fillable abdominal implants.
 	<br>
-	<<if ($bellyImplants == 1) && ($cervixImplants != 1) && ($rep <= 6000*_PCSkillCheck)>> /* show only after belly implants already researched */
+	<<if ($bellyImplants == 1) && ($cervixImplants == 0) && ($rep <= 6000*_PCSkillCheck)>> /* show only after belly implants already researched */
 		//You lack the reputation to access experimental cervix filter micropumps schematics for abdominal implants//
 		<br>
-	<<elseif ($bellyImplants == 1) && ($cervixImplants != 1) && ($rep >6000*_PCSkillCheck)>> /* nanotech like technology much more impressive and costly than simple implant */
+	<<elseif ($bellyImplants == 1) && ($cervixImplants == 0) && ($rep >6000*_PCSkillCheck)>> /* nanotech like technology much more impressive and costly than simple implant */
 		[[Purchase schematics for cervix filter micropumps|Implant Manufactory][$cash -= 70000*_PCSkillCheck, $cervixImplants = 1]]
 		//Costs <<print cashFormat(70000*_PCSkillCheck)>>//
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will allow the construction of cervix filter micropumps for fillable abdominal implants using the autosurgery.//
 		<br>
-	<<elseif ($cervixImplants > 0)>>
+	<<elseif ($cervixImplants == 1) && ($rep <= 8000*_PCSkillCheck)>>
 		The manufactory is capable of crafting cervix filter micropumps for fillable abdominal implants.
 		<br>
+		//You lack the reputation to conversion kits for rectal filter micropumps for abdominal implants//
+		<br>
+	<<elseif ($cervixImplants == 1) && ($rep > 8000*_PCSkillCheck)>>
+		The manufactory is capable of crafting cervix filter micropumps for fillable abdominal implants.
+		<br>
+		[[Purchase conversion kits for rectal filter micropumps|Implant Manufactory][$cash -= 60000*_PCSkillCheck, $cervixImplants = 2]]
+		//Costs <<print cashFormat(60000*_PCSkillCheck)>>//
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will allow the construction of the anal equialent of the cervix micropumps using the autosurgery.//
+		<br>
+	<<elseif ($cervixImplants > 1)>>
+		The manufactory is capable of crafting cervix and rectal filter micropumps for fillable abdominal implants.
+		<br>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 1d3ef377d2f69e3ccea2720470ef31b0679d657d..e690b132c0e1640df55675d827f732f11ad1a005 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -601,16 +601,28 @@ $He's
 	got a <<print $activeSlave.bellyImplant>>cc implant filled implant located in $his abdomen.
 	<<if $activeSlave.cervixImplant == 1 >>
 		$He also has micropump filter installed in $his cervix feeding into the implant.
+	<<elseif $activeSlave.cervixImplant == 2>>
+		$He also has micropump filter installed in $his rectum feeding into the implant.
+	<<elseif $activeSlave.cervixImplant == 3>>
+		$He also has micropump filter installed in both $his holes feeding into the implant.
 	<</if>>
 <<elseif $activeSlave.bellyFluid >= 1500>>
 	got a <<print $activeSlave.inflationType>>-filled implant located in $his abdomen.
 	<<if $activeSlave.cervixImplant == 1 >>
 		$He also has micropump filter installed in $his cervix feeding into the implant.
+	<<elseif $activeSlave.cervixImplant == 2>>
+		$He also has micropump filter installed in $his rectum feeding into the implant.
+	<<elseif $activeSlave.cervixImplant == 3>>
+		$He also has micropump filter installed in both $his holes feeding into the implant.
 	<</if>>
 <<elseif $activeSlave.bellyImplant == 0>>
 	got an empty fillable implant located in $his abdomen.
 	<<if $activeSlave.cervixImplant == 1 >>
 		$He also has micropump filter installed in $his cervix feeding into the implant.
+	<<elseif $activeSlave.cervixImplant == 2>>
+		$He also has micropump filter installed in $his rectum feeding into the implant.
+	<<elseif $activeSlave.cervixImplant == 3>>
+		$He also has micropump filter installed in both $his holes feeding into the implant.
 	<</if>>
 <<else>>
 	got a normal stomach.
@@ -652,11 +664,16 @@ $He's
 	<</if>>
 	<<if $activeSlave.indentureRestrictions < 2>>
 		| [[Remove implant|Surgery Degradation][$activeSlave.bellyImplant = -1, $activeSlave.cervixImplant = 0, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "bellyOut"]]
-		<<if $activeSlave.cervixImplant != 1 && $cervixImplants == 1 && $activeSlave.vagina > -1>> /* slave should have vagina */
+		<<if $activeSlave.cervixImplant != 1 && $activeSlave.cervixImplant != 3 && $cervixImplants >= 1 && $activeSlave.vagina > -1>> /* slave should have vagina */
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Install cervix micropump filter|Surgery Degradation][$activeSlave.cervixImplant = 1, $activeSlave.health -= 5, $cash -= $surgeryCost, $surgeryType = "cervixPump"]]<br>
+			[[Install cervix micropump filter|Surgery Degradation][$activeSlave.cervixImplant = ($activeSlave.cervixImplant==0?1:3), $activeSlave.health -= 5, $cash -= $surgeryCost, $surgeryType = "cervixPump"]]<br>
 			//Will allow $his belly implant to slowly swell as people cum in $his vagina//
 		<</if>>
+		<<if $activeSlave.cervixImplant != 2 && $activeSlave.cervixImplant != 3 && $cervixImplants == 2>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+			[[Install rectal micropump filter|Surgery Degradation][$activeSlave.cervixImplant = ($activeSlave.cervixImplant==0?2:3), $activeSlave.health -= 20, $cash -= $surgeryCost, $surgeryType = "cervixPumpA"]]<br>
+			//Will allow $his belly implant to slowly swell as people cum in $his anus//
+		<</if>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 4d0053c35890b2d894ac47be7a18fcaa87329fb4..37390c136ffd6559c05884279edb7c5eca9f083d 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -389,7 +389,6 @@
 	<</if>>
 <</if>>
 
-<<set _cervixPump = 0>>
 <<if ($HeadGirl.fetishKnown == 1)>>
 	<<if ($HeadGirl.energy > 95)>>
 		$slaves[$i].slaveName spends a lot of time getting fucked in whichever hole or cranny $HeadGirl.slaveName decides to shove _his2 <<if canPenetrate($HeadGirl)>>dick<<else>>strap-on<</if>> into next.
@@ -409,7 +408,6 @@
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
 				<<= knockMeUp($slaves[$i], 5, 0, $HeadGirl.ID)>>
 			<</if>>
-			<<set _cervixPump += 5>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 5>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
@@ -437,7 +435,6 @@
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
 				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
-			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
@@ -465,7 +462,6 @@
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
 				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
-			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
@@ -493,7 +489,6 @@
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
 				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
-			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
@@ -551,7 +546,6 @@
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
 				<<= knockMeUp($slaves[$i], 1, 0, $HeadGirl.ID)>>
 			<</if>>
-			<<set _cervixPump++>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse++>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
@@ -579,7 +573,6 @@
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
 				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
-			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
@@ -600,6 +593,14 @@
 <<set $slaves[$i].mammaryCount += _mammaryUse, $mammaryTotal += _mammaryUse>>
 <<set $slaves[$i].penetrativeCount += _penetrativeUse, $penetrativeTotal += _penetrativeUse>>
 
+<<set _cervixPump = 0>>
+<<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_vaginalUse>>
+<</if>>
+<<if $slaves[$i].cervixImplant == 2 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_analUse>>
+<</if>>
+
 <<if $slaves[$i].need>>
 <<if $slaves[$i].fetishKnown>>
 	<<switch $slaves[$i].fetish>>
@@ -641,9 +642,15 @@
 <<set $slaves[$i].need -= ((_vaginalUse+_penetrativeUse+_analUse)*5)>>
 <<set $HeadGirl.need = 0>>
 
-<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0 && canDoVaginal($slaves[$i])>>
-	$slaves[$i] notices $his @@.lime;belly swell@@ after vaginal sex throughout the week.
-	<<set $slaves[$i].bellyImplant += _cervixPump*20>>
+<<if _cervixPump > 0>>
+	$slaves[$i].slaveName notices $his @@.lime;belly swell@@ after 
+	<<if $slaves[$i].cervixImplant == 1>>
+		vaginal
+	<<elseif $slaves[$i].cervixImplant == 2>>
+		anal
+	<</if>>
+	sex throughout the week.
+	<<set $slaves[$i].bellyImplant += _cervixPump>>
 <</if>>
 
 <<if ($HeadGirl.fetishKnown == 1)>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 8de9d0d3fae03e73ad6b3b15430b0a1092a09d1a..955338491ef8469341bddd03bccc93ac8eb5474a 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -6677,7 +6677,7 @@
 
 /* pregmod */
 
-<<if $slaves[$i].cervixImplant == 1>>
+<<if $slaves[$i].cervixImplant >= 1>>
 	<<if ($slaves[$i].bellyImplant >= 800000) || (($slaves[$i].bellyImplant > 130000) && ($arcologies[0].FSTransformationFetishistResearch != 1))>>
 		$His cervix implant detected that the volume of filler in $slaves[$i].slaveName's belly reached $His implant's threshold, and @@.orange;opens backflow@@ several times throughout week.
 		<<if $arcologies[0].FSTransformationFetishistResearch != 1>>
diff --git a/src/uncategorized/saPleaseYou.tw b/src/uncategorized/saPleaseYou.tw
index 3235207e566cfea0c43eed2cec6ec5d1d65a8b2e..36e14f58f8f41e7fb1a90ea4a3249ecffe17a464 100644
--- a/src/uncategorized/saPleaseYou.tw
+++ b/src/uncategorized/saPleaseYou.tw
@@ -126,21 +126,11 @@ serves you this week.
 						$He frequently climaxes with your <<if $PC.title == 1>>strong<<else>>soft<</if>> hands holding $him and your cock spreading heat through $his core, teaching $him that @@.lightcoral;a girl's role is to please a man.@@
 					<</if>>
 				<</if>>
-				<<set _cervixPump = _vaginalUse>>
 				<<if canImpreg($slaves[$i], $PC)>>
 					<<= knockMeUp($slaves[$i], _vaginalUse, 0, -1, 1)>>
 				<</if>>
 			<</if>>
 			<<set $slaves[$i].vaginalCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
-			<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0>>
-				<<if ($slaves[$i].fetish == "mindbroken")>>
-					$He is completely oblivious to $his @@.lime;increasingly swollen belly@@ and stands no chance of linking it to
-				<<else>>
-					$He notices $his @@.lime;belly has swollen@@ after 
-				<</if>>
-				all the vaginal sex $he's had with you.
-				<<set $slaves[$i].bellyImplant += _cervixPump*20>>
-			<</if>>
 		<<else>>
 			You keep $him with you all week, using it as your personal sex toy
 			<<if ($fuckSlaves <= $PC.sexualEnergy/2)>>
@@ -155,16 +145,11 @@ serves you this week.
 			<</if>>
 			When you're not using $him, $he <<if $activeSlave.amp > 0>>rests<<else>>stands<</if>> nearby, waiting silently for your order to present $his pussy.
 			<<if $PC.dick == 1>>
-				<<set _cervixPump = _vaginalUse>>
 				<<if canImpreg($slaves[$i], $PC)>>
 					<<= knockMeUp($slaves[$i], _vaginalUse, 0, -1, 1)>>
 				<</if>>
 			<</if>>
 			<<set $slaves[$i].vaginalCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
-			<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0>>
-				With each deposit of your seed into $him, $his @@.lime;stomach swells a little larger.@@
-				<<set $slaves[$i].bellyImplant += _cervixPump*20>>
-			<</if>>
 		<</if>>
 
 	<<elseif ($slaves[$i].toyHole == "ass")>>
@@ -286,7 +271,6 @@ serves you this week.
 			<</if>>
 			When you're not using it, it <<if $activeSlave.amp > 0>>rests<<else>>stands<</if>> nearby, waiting silently for your order to present its asshole.
 			<<if $PC.dick == 1>>
-				<<set _cervixPump = _analUse>>
 				<<if canImpreg($slaves[$i], $PC)>>
 					<<= knockMeUp($slaves[$i], _analUse, 1, -1, 1)>>
 				<</if>>
@@ -1091,6 +1075,37 @@ serves you this week.
 
 <</if>>
 
+<<set _cervixPump = 0>>
+<<if $PC.dick == 1>>
+	<<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
+		<<set _cervixPump += 10*($PC.balls+1)*_vaginalUse>>
+	<</if>>
+	<<if $slaves[$i].cervixImplant == 2 || $slaves[$i].cervixImplant == 3>>
+		<<set _cervixPump += 10*($PC.balls+1)*_analUse>>
+	<</if>>
+<</if>>
+
+<<if _cervixPump > 0>>
+	<<if $slaves[$i].fuckdoll == 0>>
+		<<if ($slaves[$i].fetish == "mindbroken")>>
+			$He is completely oblivious to $his @@.lime;increasingly swollen belly@@ and stands no chance of linking it to
+		<<else>>
+			$He notices $his @@.lime;belly has swollen@@ after 
+		<</if>>
+		all the
+		<<if $slaves[$i].cervixImplant == 1>>
+			vaginal
+		<<elseif $slaves[$i].cervixImplant == 2>>
+			anal
+		<</if>>
+		sex $he's had with you.
+		<<set $slaves[$i].bellyImplant += _cervixPump>>
+	<<else>>
+		With each deposit of your seed into $him, $his @@.lime;stomach swells a little larger.@@
+		<<set $slaves[$i].bellyImplant += _cervixPump>>
+	<</if>>
+<</if>>
+
 <<if $slaves[$i].need>>
 	<<if $slaves[$i].energy > 95 && $masterSuiteUpgradeLuxury == 2 && $fuckSlaves > 1>>
 		$he's a nymphomaniac and very difficult to sate, but the fuckpit allows $him all the sex even $he could ever want.
diff --git a/src/uncategorized/saServeThePublic.tw b/src/uncategorized/saServeThePublic.tw
index 070101b2de3b00d9615ac273444d3de56cc7ad21..606dda542417b08da7252b7180b3ca97e788100e 100644
--- a/src/uncategorized/saServeThePublic.tw
+++ b/src/uncategorized/saServeThePublic.tw
@@ -1150,7 +1150,14 @@ $His appearance attracted $beauty members of the public (<<print Math.trunc($bea
 <<set $slaves[$i].vaginalCount += _vaginalUse, $slaves[$i].publicCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
 <<set $slaves[$i].mammaryCount += _mammaryUse, $slaves[$i].publicCount += _mammaryUse, $mammaryTotal += _mammaryUse>>
 <<set $slaves[$i].penetrativeCount += _penetrativeUse, $slaves[$i].publicCount += _penetrativeUse, $penetrativeTotal += _penetrativeUse>>
-<<set _cervixPump = _vaginalUse>>
+
+<<set _cervixPump = 0>>
+<<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_vaginalUse>>
+<</if>>
+<<if $slaves[$i].cervixImplant == 2 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_analUse>>
+<</if>>
 
 <<if $slaves[$i].need>>
 <<if $slaves[$i].fetishKnown>>
@@ -1285,7 +1292,13 @@ $His appearance attracted $beauty members of the public (<<print Math.trunc($bea
 	<<set $slaves[$i].energy += 1>>
 <</if>>
 
-<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0 && canDoVaginal($slaves[$i])>>
-	$He notices $his @@.lime;belly has swollen@@ from all the vaginal sex $he had throughout the week.
-	<<set $slaves[$i].bellyImplant += _cervixPump*20>>
+<<if _cervixPump > 0>>
+	$He notices $his @@.lime;belly has swollen@@ from all the
+	<<if $slaves[$i].cervixImplant == 1>>
+		vaginal
+	<<elseif $slaves[$i].cervixImplant == 2>>
+		anal
+	<</if>>
+	sex $he had throughout the week.
+	<<set $slaves[$i].bellyImplant += _cervixPump>>
 <</if>>
diff --git a/src/uncategorized/saServeYourOtherSlaves.tw b/src/uncategorized/saServeYourOtherSlaves.tw
index 31c1fff60b596cecd3c5c32104bffc9e05b5fc92..3f5f22af6aa954d49c0ddc0fc75c58da9621dad0 100644
--- a/src/uncategorized/saServeYourOtherSlaves.tw
+++ b/src/uncategorized/saServeYourOtherSlaves.tw
@@ -1,6 +1,6 @@
 :: SA serve your other slaves [nobr]
 
-<<set _oralUse = 0, _analUse = 0, _vaginalUse = 0, _mammaryUse = 0, _penetrativeUse = 0>>
+<<set _oralUse = $slaves[$i].oralCount, _analUse = $slaves[$i].analCount, _vaginalUse = $slaves[$i].vaginalCount, _mammaryUse = $slaves[$i].mammaryCount, _penetrativeUse = $slaves[$i].penetrativeCount>>
 
 <<set _dom = $slaveIndices[$slaves[$i].subTarget]>>
 
@@ -447,12 +447,17 @@ is serving ''$slaves[_dom].slaveName'' this week.
 	<<= SimpleSlaveSlaveFucking($slaves[$i], $slaves[_dom], _fuckCount)>>
 <</if>>
 
-<<set $slaves[$i].oralCount += _oralUse, $oralTotal += _oralUse>>
-<<set $slaves[$i].analCount += _analUse, $analTotal += _analUse>>
-<<set $slaves[$i].vaginalCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
-<<set $slaves[$i].mammaryCount += _mammaryUse, $mammaryTotal += _mammaryUse>>
-<<set $slaves[$i].penetrativeCount += _penetrativeUse, $penetrativeTotal += _penetrativeUse>>
-<<set _cervixPump = _vaginalUse>>
+<<set _oralUse = $slaves[$i].oralCount - _oralUse, _analUse = $slaves[$i].analCount - _analUse, _vaginalUse = $slaves[$i].vaginalCount - _vaginalUse, _mammaryUse = $slaves[$i].mammaryCount - _mammaryUse, _penetrativeUse = $slaves[$i].penetrativeCount - _penetrativeUse>>
+/% This is here because SimpleSlaveSlaveFucking doesn't update _analUse, etc. and that is needed to calculate _cervixPump %/
+
+<<set _cervixPump = 0>>
+<<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_vaginalUse>>
+<</if>>
+<<if $slaves[$i].cervixImplant == 2 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_analUse>>
+<</if>>
+
 <<set $slaves[$i].need -= ((_penetrativeUse+_vaginalUse+_analUse)*5)>>
 
 <<if $slaves[$i].lactation > 0 && _mammaryUse > 0>>
@@ -508,9 +513,15 @@ is serving ''$slaves[_dom].slaveName'' this week.
 	<</switch>>
 <</if>>
 
-<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0 && canDoVaginal($slaves[$i])>>
-	$He notices $his @@.lime;belly has swollen@@ from all the vaginal sex $he had throughout the week.
-	<<set $slaves[$i].bellyImplant += _cervixPump*20>>
+<<if _cervixPump > 0>>
+	$He notices $his @@.lime;belly has swollen@@ from all the
+	<<if $slaves[$i].cervixImplant == 1>>
+		vaginal
+	<<elseif $slaves[$i].cervixImplant == 2>>
+		anal
+	<</if>>
+	sex $he had throughout the week.
+	<<set $slaves[$i].bellyImplant += _cervixPump>>
 <</if>>
 
 <<set $slaves[_dom].devotion += 4, $slaves[_dom].need = 0>>
diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw
index e8986453004b49e010caa8e758edbaf68e184e58..cff37a319ed31db0242de393fd29bb144c7dbfce 100644
--- a/src/uncategorized/saWhore.tw
+++ b/src/uncategorized/saWhore.tw
@@ -1154,7 +1154,14 @@ In total, you were paid @@.yellowgreen;<<print cashFormat(Math.trunc($beauty*$FR
 <<set _vaginalUse = Math.trunc((_vaginalUse/_demand)*$beauty)>>
 <<set _mammaryUse = Math.trunc((_mammaryUse/_demand)*$beauty)>>
 <<set _penetrativeUse = Math.trunc((_penetrativeUse/_demand)*$beauty)>>
-<<set _cervixPump = _vaginalUse>>
+
+<<set _cervixPump = 0>>
+<<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_vaginalUse>>
+<</if>>
+<<if $slaves[$i].cervixImplant == 2 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_analUse>>
+<</if>>
 
 <<set $slaves[$i].oralCount += _oralUse, $slaves[$i].publicCount += _oralUse, $oralTotal += _oralUse>>
 <<set $slaves[$i].analCount += _analUse, $slaves[$i].publicCount += _analUse, $analTotal += _analUse>>
@@ -1296,7 +1303,13 @@ In total, you were paid @@.yellowgreen;<<print cashFormat(Math.trunc($beauty*$FR
 	<<set $slaves[$i].energy++>>
 <</if>>
 
-<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0 && canDoVaginal($slaves[$i])>>
-	$He notices $his @@.lime;belly has grown@@ from vaginal sex throughout week.
-	<<set $slaves[$i].bellyImplant += _cervixPump*20>>
+<<if _cervixPump > 0>>
+	$He notices $his @@.lime;belly has grown@@ from
+	<<if $slaves[$i].cervixImplant == 1>>
+		vaginal
+	<<elseif $slaves[$i].cervixImplant == 2>>
+		anal
+	<</if>>
+	sex throughout week.
+	<<set $slaves[$i].bellyImplant += _cervixPump>>
 <</if>>
diff --git a/src/uncategorized/saWorkAGloryHole.tw b/src/uncategorized/saWorkAGloryHole.tw
index 6a84bf488acc64b39661bc3ee4fc53c5c6ce2382..fe5d6c110f276e1e8171f11d11de0326c416b24f 100644
--- a/src/uncategorized/saWorkAGloryHole.tw
+++ b/src/uncategorized/saWorkAGloryHole.tw
@@ -208,7 +208,13 @@ $His feelings, skills, and appearance do not matter. $He is condemned to a world
 <<set $slaves[$i].analCount += _analUse, $slaves[$i].publicCount += _analUse, $analTotal += _analUse>>
 <<set $slaves[$i].vaginalCount += _vaginalUse, $slaves[$i].publicCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
 
-<<set _cervixPump = _vaginalUse>>
+<<set _cervixPump = 0>>
+<<if $slaves[$i].cervixImplant == 1 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_vaginalUse>>
+<</if>>
+<<if $slaves[$i].cervixImplant == 2 || $slaves[$i].cervixImplant == 3>>
+	<<set _cervixPump += 20*_analUse>>
+<</if>>
 
 <<if $slaves[$i].need>>
 <<if $slaves[$i].fetishKnown>>
@@ -248,9 +254,15 @@ $His feelings, skills, and appearance do not matter. $He is condemned to a world
 <</if>>
 <</if>>
 
-<<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0 && canDoVaginal($slaves[$i])>>
-	$He notices $his @@.lime;belly has swollen@@ from all the vaginal sex $he had throughout the week.
-	<<set $slaves[$i].bellyImplant += _cervixPump*20>>
+<<if _cervixPump > 0>>
+	$He notices $his @@.lime;belly has swollen@@ from all the
+	<<if $slaves[$i].cervixImplant == 1>>
+		vaginal
+	<<elseif $slaves[$i].cervixImplant == 2>>
+		anal
+	<</if>>
+	sex $he had throughout the week.
+	<<set $slaves[$i].bellyImplant += _cervixPump>>
 <</if>>
 
 <<set $cash += ($beauty*$FResult)>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 11580862578e7f6d3fa22e5afba3952f24e93200..729e96830967a6c82c47642d048531c4e1086e0e 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -2263,19 +2263,34 @@ As the remote surgery's long recovery cycle completes,
 		<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>>
 	<</if>>
 
-<<case "cervixPump">>
+<<case "cervixPump" "cervixPumpA">>
+	<<if $surgeryType == "cervixPump">>
+		<<set _cervixPumpAcheLocation = "vagina">>
+		<<set _cervixPumpLocation = "cervix">>
+	<<else>>
+		<<set _cervixPumpAcheLocation = "anus">>
+		<<set _cervixPumpLocation = "rectum">>
+	<</if>>
 	<<if $activeSlave.fetish == "mindbroken">>
-		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and vagina that $he cannot figure out the source of. As with all surgery @@.red;$his health has been slightly affected.@@
+		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and _cervixPumpAcheLocation that $he cannot figure out the source of. As with all surgery @@.red;$his health has been slightly affected.@@
 	<<elseif ($activeSlave.devotion > 50)>>
-		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and vagina, and as such, knows you put something into $his cervix. $He is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As with all surgery @@.red;$his health has been slightly affected.@@
+		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and _cervixPumpAcheLocation, and as such, knows you put something into $his _cervixPumpLocation. $He is @@.hotpink;curious@@ about the details of the implant, and eagerly awaits to see the end result. As with all surgery @@.red;$his health has been slightly affected.@@
 		<<set $activeSlave.devotion += 4>>
 	<<elseif ($activeSlave.devotion >= -20)>>
-		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and vagina, and as such, knows you put something into $his cervix. $He understands the realities of $his life as a slave, but $he is still surprised at what now resides in $his cervix. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body.
+		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and _cervixPumpAcheLocation, and as such, knows you put something into $his _cervixPumpLocation. $He understands the realities of $his life as a slave, but $he is still surprised at what now resides in $his _cervixPumpLocation. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body.
 		<<set $activeSlave.trust -= 5>>
 	<<else>>
-		$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and vagina, but $he knows enough about surgery and sex slaves to believe that $he has modified in $his most private place. $He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he's been subject of such modifications. Even after what has been implanted into $his womb is explained to $him, $he is no less defiant; though $he is relieved that it isn't some permanent mutilation, $he only feels dirty and humiliated when $he thinks of vaginal sex slowly rounding $his middle. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body.
+		<<if $surgeryType == "cervixPump">>
+			$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and _cervixPumpAcheLocation, but $he knows enough about surgery and sex slaves to believe that $he has modified in $his most private place. $He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he's been subject of such modifications. Even after what has been implanted into $his womb is explained to $him, $he is no less defiant; though $he is relieved that it isn't some permanent mutilation, $he only feels dirty and humiliated when $he thinks of vaginal sex slowly rounding $his middle. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body.
+		<<else>>
+			$He leaves the surgery with nothing but a nonspecific ache in $his lower abdomen and _cervixPumpAcheLocation, but $he knows enough about surgery and sex slaves to believe that $he has modified in $his backdoor. $He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ at the potential that $he's been subject of such modifications. Even after what has been implanted into $his rear hole is explained to $him, $he is no less defiant; though $he is relieved that it isn't some permanent mutilation, $he only feels dirty and humiliated when $he thinks of anal sex slowly rounding $his middle. As with all surgery @@.red;$his health has been slightly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body.
+		<</if>>
 		<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>>
 	<</if>>
+	<<if $surgeryType == "cervixPumpA" && $activeSlave.mpreg == 1>>
+		$His existing anal womb made the surgery @@.green;slightly easier.@@
+		<<set $activeSlave.health += 10>>
+	<</if>>
 
 <<case "bellyInMale">>
 	<<if $activeSlave.fetish == "mindbroken">>