diff --git a/CHANGELOG.md b/CHANGELOG.md
index c7fa0015fbc6382029f173d3962c3dcba128019c..3b9326fcdb3f42a10095c153bd6490a31dfde781 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 ## Unreleased
 
+## 0.10.7.1-4.0.0-alpha.17 - 2022-06-09
+
+* PC endWeek effects added
+* PC diet controls added
+* added event ressGorging
+* womb system optimization
+* fixes
+
 ## 0.10.7.1-4.0.0-alpha.16 - 2022-05-25
 
 * fixes
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index 409e553cd8c87e433e8b95df315664559558ad7a..39cb83be86f21ba4839ff7b4c999fbd7d7988c6c 100644
--- a/src/002-config/fc-version.js
+++ b/src/002-config/fc-version.js
@@ -1,6 +1,6 @@
 App.Version = {
 	base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed.
-	pmod: "4.0.0-alpha.16",
+	pmod: "4.0.0-alpha.17",
 	commitHash: null,
 	release: 1170, // When getting close to 2000, please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
 };
diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js
index 020e0ef4e45174cdda7d074c5b9e4ddeafaf8f4b..c4d10c54f608e19f2c98417680d56a16171dac2c 100644
--- a/src/events/intro/introSummary.js
+++ b/src/events/intro/introSummary.js
@@ -314,6 +314,7 @@ App.Intro.summary = function() {
 								V.PC.skill.hacking = -100;
 								V.PC.muscles = 0;
 								V.PC.geneticQuirks.fertility = 1;
+								V.PC.digestiveSystem = "atrophied";
 								break;
 							case "handmaiden":
 								V.PC.clothes = "a nice maid outfit";
@@ -332,6 +333,7 @@ App.Intro.summary = function() {
 								V.PC.skill.hacking = -100;
 								V.PC.muscles = 0;
 								V.PC.geneticQuirks.fertility = 1;
+								V.PC.digestiveSystem = "atrophied";
 								break;
 							case "child servant":
 								V.PC.clothes = "a nice maid outfit";
@@ -350,6 +352,7 @@ App.Intro.summary = function() {
 								V.PC.skill.hacking = -100;
 								V.PC.muscles = 0;
 								V.PC.geneticQuirks.fertility = 1;
+								V.PC.digestiveSystem = "atrophied";
 								break;
 							case "gang":
 								if (V.PC.vagina === 1) {
diff --git a/src/player/managePersonalAffairs.js b/src/player/managePersonalAffairs.js
index f92557c841068509a6d6f8dbc422759561aeaf76..9374d7c79e7fb7d525db2cbae7205c6b07f47c6b 100644
--- a/src/player/managePersonalAffairs.js
+++ b/src/player/managePersonalAffairs.js
@@ -33,7 +33,7 @@ App.UI.managePersonalAffairs = function() {
 		drugs(),
 	);
 
-	if (PC.lactation > 0) {
+	if (PC.lactation > 0 || PC.boobs >= 300) {
 		frag.append(lactation());
 	}
 
@@ -1290,65 +1290,126 @@ App.UI.managePersonalAffairs = function() {
 
 		const text = [];
 
-		text.push(`Your breasts are laden with milk.`);
+		if (PC.lactation > 1) {
+			text.push(`Your breasts are swollen with milk.`);
 
-		if (PC.rules.lactation === "sell") {
-			text.push(
-				`You are spending time with the penthouse milkers and making a quick ¤ from your efforts.`,
-				App.UI.DOM.generateLinksStrip([
-					App.UI.DOM.link(`Stop milking yourself`, () => {
-						V.PC.rules.lactation = "none";
+			if (PC.rules.lactation === "sell") {
+				text.push(
+					`You are spending time with the penthouse milkers and making a quick ¤ from your efforts.`,
+					App.UI.DOM.generateLinksStrip([
+						App.UI.DOM.disabledLink(`Stop milking yourself`, [
+							`Your breasts would leak uncontrollably.`
+						]),
+						App.UI.DOM.link(`Stop using the milkers`, () => {
+							V.PC.rules.lactation = "maintain";
 
-						App.UI.DOM.replace(lactationDiv, lactation);
-					}),
-					App.UI.DOM.link(`Stop using the milkers`, () => {
-						V.PC.rules.lactation = "maintain";
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+						App.UI.DOM.disabledLink(`Use the penthouse milkers`, [
+							`You are already selling your breast milk.`
+						])
+					])
+				);
+			} else if (PC.rules.lactation === "maintain") {
+				text.push(
+					`You have no choice but to regularly drain yourself.`,
+					App.UI.DOM.generateLinksStrip([
+						App.UI.DOM.disabledLink(`Stop milking yourself`, [
+							`Your breasts would leak uncontrollably.`
+						]),
+						App.UI.DOM.disabledLink(`Keep yourself milked`, [
+							`You need to do this to remain comfortable.`
+						]),
+						App.UI.DOM.link(`Use the penthouse milkers`, () => {
+							V.PC.rules.lactation = "sell";
+
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+					])
+				);
+			}
+		} else if (PC.lactation > 0) {
+			text.push(`Your breasts are laden with milk.`);
 
-						App.UI.DOM.replace(lactationDiv, lactation);
-					}),
-					App.UI.DOM.disabledLink(`Use the penthouse milkers`, [
-						`You are already selling your breast milk.`
+			if (PC.rules.lactation === "sell") {
+				text.push(
+					`You are spending time with the penthouse milkers and making a quick ¤ from your efforts.`,
+					App.UI.DOM.generateLinksStrip([
+						App.UI.DOM.link(`Stop milking yourself`, () => {
+							V.PC.rules.lactation = "none";
+
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+						App.UI.DOM.link(`Stop using the milkers`, () => {
+							V.PC.rules.lactation = "maintain";
+
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+						App.UI.DOM.disabledLink(`Use the penthouse milkers`, [
+							`You are already selling your breast milk.`
+						])
 					])
-				])
-			);
-		} else if (PC.rules.lactation === "maintain") {
-			text.push(
-				`You are taking the time to keep yourself lactating.`,
-				App.UI.DOM.generateLinksStrip([
-					App.UI.DOM.link(`Stop milking yourself`, () => {
-						V.PC.rules.lactation = "none";
+				);
+			} else if (PC.rules.lactation === "maintain") {
+				text.push(
+					`You are taking the time to keep yourself lactating.`,
+					App.UI.DOM.generateLinksStrip([
+						App.UI.DOM.link(`Stop milking yourself`, () => {
+							V.PC.rules.lactation = "none";
 
-						App.UI.DOM.replace(lactationDiv, lactation);
-					}),
-					App.UI.DOM.disabledLink(`Keep yourself milked`, [
-						`You are already maintaining lactation.`
-					]),
-					App.UI.DOM.link(`Use the penthouse milkers`, () => {
-						V.PC.rules.lactation = "sell";
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+						App.UI.DOM.disabledLink(`Keep yourself milked`, [
+							`You are already maintaining lactation.`
+						]),
+						App.UI.DOM.link(`Use the penthouse milkers`, () => {
+							V.PC.rules.lactation = "sell";
 
-						App.UI.DOM.replace(lactationDiv, lactation);
-					}),
-				])
-			);
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+					])
+				);
+			} else {
+				text.push(
+					`You are currently letting nature run its course.`,
+					App.UI.DOM.generateLinksStrip([
+						App.UI.DOM.disabledLink(`Stop milking yourself`, [
+							`You aren't currently milking yourself.`
+						]),
+						App.UI.DOM.link(`Keep yourself milked`, () => {
+							V.PC.rules.lactation = "maintain";
+
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+						App.UI.DOM.link(`Use the penthouse milkers`, () => {
+							V.PC.rules.lactation = "sell";
+
+							App.UI.DOM.replace(lactationDiv, lactation);
+						}),
+					])
+				);
+			}
 		} else {
-			text.push(
-				`You are currently letting nature run its course.`,
-				App.UI.DOM.generateLinksStrip([
-					App.UI.DOM.disabledLink(`Stop milking yourself`, [
-						`You aren't currently milking yourself.`
-					]),
-					App.UI.DOM.link(`Keep yourself milked`, () => {
-						V.PC.rules.lactation = "maintain";
+			text.push(`You could induce yourself to begin lactating.`);
+
+			if (PC.rules.lactation === "induce") {
+				text.push(
+					`You are spending time stimulating your breasts and nipples to bring in your milk.`,
+					App.UI.DOM.link(`Lose interest.`, () => {
+						V.PC.rules.lactation = "none";
 
 						App.UI.DOM.replace(lactationDiv, lactation);
-					}),
-					App.UI.DOM.link(`Use the penthouse milkers`, () => {
-						V.PC.rules.lactation = "sell";
+					})
+				);
+			} else {
+				text.push(
+					App.UI.DOM.link(`Sounds fun!`, () => {
+						V.PC.rules.lactation = "induce";
 
 						App.UI.DOM.replace(lactationDiv, lactation);
-					}),
-				])
-			);
+					})
+				);
+			}
 		}
 
 		App.Events.addNode(lactationDiv, text);