diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index b9b93188e5983ae5b448fb0ca0f8fc7be91bd51d..0472e604961381c774aefda4351118369aca3cb5 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -4,8 +4,11 @@
 
 2/11/18
 
+	341
+	-broodmother shutdown added
+
 	340
-	-implented broodmother shutdown variable
+	-implemented broodmother shutdown variable
 	-fixed HG + slave display on the arcology layout
 	-fixed issues with the old-style UI
 	-various little fixes
diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw
index ee1791f1fce698afe8098f1d149d52b8dcf45be0..ebc975daa32cacf021b79430dbcd7caf5a27671e 100644
--- a/src/init/setupVars.tw
+++ b/src/init/setupVars.tw
@@ -12,7 +12,7 @@
 
 /* sizes for broodmothers - easier than trying to sum it week to week */
 <<set setup.broodSizeOne = [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 30, 80, 180, 340, 600, 990, 1540, 2300, 3300, 4590, 6210, 8200, 10600, 13440, 16770, 20620, 25020, 30020, 35660, 42000, 49100, 57030, 65900, 75700, 86300, 97720, 109970, 123060, 137000]>>
-<<set setup.broodSizeOneShutDown = [0, 13.09, 25.34, 36.76, 47.36, 57.16, 66.03, 73.96, 81.06, 87.4, 93.04, 98.04, 102.44, 106.29, 109.62, 112.46, 114.86, 116.85, 118.47, 119.76, 120.76, 121.52, 122.07, 122.46, 122.72, 122.88, 122.98, 123.03, 123.05, 123.06, 123.06, 123.06, 123.06, 123.06, 123.06, 123.06, 123.06, 123.06]>>
+<<set setup.broodSizeOneShutDown = [0, 13090, 25340, 36760, 47360, 57160, 66030, 73960, 81060, 87400, 93040, 98040, 102440, 106290, 109620, 112460, 114860, 116850, 118470, 119760, 120760, 121520, 122070, 122460, 122720, 122880, 122980, 123030, 123050, 123060, 123060, 123060, 123060, 123060, 123060, 123060, 123060, 123060]>>
 
 /* START Custom Nationalities region filter */
 <<set setup.northamericaNationalities = ["American", "Mexican", "Dominican", "Canadian", "Haitian", "Cuban", "Puerto Rican", "Jamaican", "Guatemalan", "Bermudian", "Greenlandic", "Belizean", "Grenadian", "Honduran", "Costa Rican", "Salvadoran", "Nicaraguan", "Panamanian"]>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 5cce543fc7e5437dd4e3675b6b81f5f2b26f6094..dfa43ff31c4bc1b4b019b5a7f2c2e5dd9117dd7f 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -32,6 +32,9 @@
 			<<if $seeAge == 1>>
 				<<set $slaves[_i].physicalAge += 1, $slaves[_i].actualAge += 1, $slaves[_i].visualAge += 1>>
 				<<set $slaves[_i].ovaryAge += either(.8, .9, .9, 1, 1, 1, 1.1)>> /*Hopefully this works. It is intended, over a slave's lifetime, to cause her menopause to shift.*/
+				<<if $slaves[$i].broodmother == 1>>
+					<<set $slaves[_i].ovaryAge += .2>>
+				<</if>>
 				<<if $slaves[_i].physicalAge <= 18 && $loliGrow == 0>>
 					<<PhysicalDevelopment $slaves[_i]>>
 				<</if>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index dc7ee978a849b73045b2ceded676caf4d724ff28..5606d1a5b22031b6b4e82894e96a409a690f392f 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -739,12 +739,14 @@ Work on her sex:
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		$possessiveCap womb is already rented out for the production of calfs.
 	<<else>>
-		<<if isFertile($activeSlave)>>
+		<<if isFertile($activeSlave) && $activeSlave.ovaryAge <= 46>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			$pronounCap could be made into a broodmother.
 		<<elseif $activeSlave.broodmother > 0>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			$pronounCap has been made into a <<if $activeSlave.broodmother > 1>>hyper-<</if>>broodmother.
+		<<else>>
+			$possessiveCap body can not support being a broodmother.
 		<</if>>
 		<<if $activeSlave.indentureRestrictions < 1 && $activeSlave.breedingMark != 1>>
 			<<if isFertile($activeSlave)>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 6a96d93513f7d22dbf6cea4d1237b6964583bba1..7be5035a7ef3ab6cb9cdeccd03d527383328c8b5 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -7290,6 +7290,9 @@
 <<elseif ($slaves[$i].preg > 37) && ($slaves[$i].broodmother > 0) && ($slaves[$i].assignment != "labor in the production line")>>
 	<<set $slaves[$i].labor = 1>>
 	<<set $birthee = 1>>
+	<<if $slaves[$i].ovaryAge >= 47>>
+		<<set $slaves[$i].broodmotherCountDown = 37>>
+	<</if>>
 <</if>>
 
 <<if $slaves[$i].burst == 1>>
diff --git a/src/uncategorized/seBirth.tw b/src/uncategorized/seBirth.tw
index 2fdece195136cb990de918ad2da71d166fda8be0..739bff49e0a78cdc6343aa2abaee851275512330 100644
--- a/src/uncategorized/seBirth.tw
+++ b/src/uncategorized/seBirth.tw
@@ -188,7 +188,7 @@
 
 <<if $slaves[$i].fuckdoll == 0>>
 
-<<if $slaves[$i].broodmother == 0>>
+<<if $slaves[$i].broodmother == 0 || $slaves[$i].broodmotherCountDown == 1>>
 
 <<if $slaves[$i].assignment != "work in the dairy">>
 
@@ -328,6 +328,19 @@ As a human cow, $pronoun @@.orange;gave birth@@<<if $slaves[$i].broodmother > 1>
 	<<if $slaves[$i].pregSource == -1>>
 		<<set $PC.slavesFathered += 1>>
 	<</if>>
+	<<if $slaves[$i].broodmotherCountDown > 0>>
+		<<set $slaves[$i].broodmotherCountDown-->>
+		<<if $slaves[$i].broodmotherCountDown == 0>>
+			$pronounCap also passed the implant making $object a broodmother alongside the afterbirth.
+			<<set $slaves[$i].preg = 0>>
+			<<set $slaves[$i].pregType = 0>>
+			<<set $slaves[$i].pregSource = 0>>
+			<<set $slaves[$i].pregKnown = 0>>
+			<<set $slaves[$i].pregWeek = 0>>
+			<<set $slaves[$i].broodmother = 0>>
+		<</if>>
+	<<if>>
+	<<SetBellySize $slaves[$i]>>
 <<else>>
 	<<set $slaves[$i].preg = 0>>
 	<<set $slaves[$i].births += $slaves[$i].pregType>>
@@ -1021,6 +1034,19 @@ Childbirth has @@.lime;stretched out $possessive vagina.@@
 		<</if>>
 	<</if>>
 	<<set $slaves[$i].preg = 37>>
+	<<if $slaves[$i].broodmotherCountDown > 0>>
+		<<set $slaves[$i].broodmotherCountDown-->>
+		<<if $slaves[$i].broodmotherCountDown == 0>>
+			$pronounCap also passed the implant making $object a broodmother alongside the afterbirth.
+			<<set $slaves[$i].preg = 0>>
+			<<set $slaves[$i].pregType = 0>>
+			<<set $slaves[$i].pregSource = 0>>
+			<<set $slaves[$i].pregKnown = 0>>
+			<<set $slaves[$i].pregWeek = 0>>
+			<<set $slaves[$i].broodmother = 0>>
+		<</if>>
+	<<if>>
+	<<SetBellySize $slaves[$i]>>
 <<else>>
 	<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
 	<<set $slaves[$i].births += $slaves[$i].pregType>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index acad8ae1267c3352337fb27db49bdfe9c3ca48df..71b05031b0d98bc1426da068cbcfd94d32e6128f 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1038,6 +1038,9 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 		<<set $activeSlave.preg = 0>>
 		<<SetBellySize $activeSlave>>
 	<</if>>
+<<elseif $activeSlave.broodmotherCountDown > 0>>
+	//Her pregnancy implant is shutting down; she will be completely emptied of her remaining brood in $activeSlave.broodmotherCountDown week<<if $activeSlave.broodmotherCountDown > 1>>s<</if>>//
+	<<set $slaves[$i].broodmotherCountDown = 37>>
 <<elseif $activeSlave.preg >= -1>>
 Contraception: <span id="fertility"><strong><<if $activeSlave.preg == -1>><<print "using contraceptives">><<elseif $activeSlave.preg == 0>><<print "fertile">><<elseif $activeSlave.preg < 4>><<print "may be pregnant">><<else>><<print $activeSlave.preg>><<print " weeks pregnant">><</if>></strong></span>.
 <<if ($activeSlave.preg == 0)>>
@@ -1055,7 +1058,7 @@ Contraception: <span id="fertility"><strong><<if $activeSlave.preg == -1>><<prin
 <<elseif ($activeSlave.preg > 38) && ($activeSlave.broodmother == 0) && ($activeSlave.labor == 0)>>
 	[[Induce labor|Slave Interact][$activeSlave.labor = 1,$activeSlave.induce = 1,$birthee = 1]]
 <<elseif ($activeSlave.broodmother > 0) && ($activeSlave.preg > 37)>>
-	[[Induce mass childbirth|BirthStorm]]
+	[[Induce mass childbirth|BirthStorm]] | [[Begin implant shutdown|Slave Interact][$activeSlave.broodmotherCountDown = 37]]
 <<elseif ($activeSlave.preg > 0) && ($activeSlave.broodmother == 0) && $activeSlave.breedingMark == 1 && $activeSlave.pregSource == -1>>
 	//You are forbidden from aborting an elite child//
 <<elseif ($activeSlave.preg > 0) && ($activeSlave.broodmother == 0)>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 6d455b932676fed6ac89bad7a4385010508cbe49..73c5959afb896740c5cfa4d8a2613ca5ee7a222a 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -2964,8 +2964,13 @@ This experience
 */
 <<widget "SetBellySize">>
 	<<if $args[0].broodmother == 1>>
-		<<set $args[0].bellyPreg = setup.broodSizeOne[$args[0].preg]>>
-		<<set $args[0].pregType = $args[0].preg>>
+		<<if $args[0].broodmotherCountDown > 0>>
+			<<set $args[0].bellyPreg = setup.broodSizeOneShutDown[$args[0].broodmotherCountDown]>>
+			<<set $args[0].pregType = $args[0].broodmotherCountDown>>
+		<<else>>
+			<<set $args[0].bellyPreg = setup.broodSizeOne[$args[0].preg]>>
+			<<set $args[0].pregType = $args[0].preg>>
+		<</if>>
 	<<elseif $args[0].preg > 5>>
 		<<set $args[0].bellyPreg = getPregBellySize($args[0])>>
 	<<else>>