diff --git a/Changelog.txt b/Changelog.txt
index 4d07d7d5bb4748a921e71ac60df9730784718da6..01c43c94873ba06a27f64372dd1d42c293153ece 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -4,6 +4,7 @@ Pregmod
 
 	-added overflow feedback to demand
 	-added pit assign/remove rules to the RA
+	-fixes and cleaning
 
 	12/11/2019
 
diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 986ab6d2edf7d361bf293421bf842d398bea340d..e09e803a2d4803c8181e8b735a635894c7adb9d3 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -1069,7 +1069,20 @@ window.generateChild = function(mother, ova, destination) {
 			child.genes = "XX";
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveName = `Your clone`;
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						child.slaveName = `${genes.clone}'s clone`;
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed !== undefined) {
+							if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+								child.slaveSurname = cloneSeed.slaveSurname;
+							}
+						}
+					}
+				} else if (genes.mother === -1) {
 					if (genes.father <= 0) {
 						child.slaveName = `Your daughter`;
 					} else {
@@ -1108,7 +1121,20 @@ window.generateChild = function(mother, ova, destination) {
 			} else {
 				let childName = genes.name;
 				if (childName.indexOf("ovum") === 0) {
-					if (genes.mother === -1) {
+					if (genes.clone) {
+						if (genes.cloneID === -1) {
+							child.slaveName = `Your clone`;
+							child.slaveSurname = V.PC.slaveSurname;
+						} else {
+							child.slaveName = `${genes.clone}'s clone`;
+							let cloneSeed = getSlave(genes.cloneID);
+							if (cloneSeed !== undefined) {
+								if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+									child.slaveSurname = cloneSeed.slaveSurname;
+								}
+							}
+						}
+					} else if (genes.mother === -1) {
 						if (genes.father <= 0) {
 							child.slaveName = "Your son";
 						} else {
@@ -1126,7 +1152,18 @@ window.generateChild = function(mother, ova, destination) {
 				} else {
 					child.slaveName = genes.name;
 				}
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed !== undefined) {
+							if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+								child.slaveSurname = cloneSeed.slaveSurname;
+							}
+						}
+					}
+				} else if (genes.mother === -1) {
 					child.slaveSurname = V.PC.slaveSurname;
 				} else {
 					if (genes.father === -1) {
@@ -1159,7 +1196,20 @@ window.generateChild = function(mother, ova, destination) {
 			child.genes = "XY";
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveName = `Your clone`;
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						child.slaveName = `${genes.clone}'s clone`;
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed !== undefined) {
+							if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+								child.slaveSurname = cloneSeed.slaveSurname;
+							}
+						}
+					}
+				} else if (genes.mother === -1) {
 					if (genes.father <= 0) {
 						child.slaveName = "Your son";
 					} else {
@@ -1198,7 +1248,20 @@ window.generateChild = function(mother, ova, destination) {
 			} else {
 				let childName = genes.name;
 				if (childName.indexOf("ovum") === 0) {
-					if (genes.mother === -1) {
+					if (genes.clone) {
+						if (genes.cloneID === -1) {
+							child.slaveName = `Your clone`;
+							child.slaveSurname = V.PC.slaveSurname;
+						} else {
+							child.slaveName = `${genes.clone}'s clone`;
+							let cloneSeed = getSlave(genes.cloneID);
+							if (cloneSeed !== undefined) {
+								if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+									child.slaveSurname = cloneSeed.slaveSurname;
+								}
+							}
+						}
+					} else if (genes.mother === -1) {
 						if (genes.father <= 0) {
 							child.slaveName = "Your son";
 						} else {
@@ -1216,7 +1279,18 @@ window.generateChild = function(mother, ova, destination) {
 				} else {
 					child.slaveName = genes.name;
 				}
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed !== undefined) {
+							if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+								child.slaveSurname = cloneSeed.slaveSurname;
+							}
+						}
+					}
+				} else if (genes.mother === -1) {
 					child.slaveSurname = V.PC.slaveSurname;
 				} else {
 					if (genes.father === -1) {
@@ -1338,7 +1412,18 @@ window.generateChild = function(mother, ova, destination) {
 			child = GenerateNewSlave("XX");
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveName = `Your clone`;
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						child.slaveName = `${genes.clone}'s clone`;
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+							child.slaveSurname = cloneSeed.slaveSurname;
+						}
+					}
+				} else if (genes.mother === -1) {
 					if (genes.father <= 0) {
 						child.slaveName = `Your daughter`;
 					} else {
@@ -1377,7 +1462,18 @@ window.generateChild = function(mother, ova, destination) {
 			} else {
 				let childName = genes.name;
 				if (childName.indexOf("ovum") === 0) {
-					if (genes.mother === -1) {
+					if (genes.clone) {
+						if (genes.cloneID === -1) {
+							child.slaveName = `Your clone`;
+							child.slaveSurname = V.PC.slaveSurname;
+						} else {
+							child.slaveName = `${genes.clone}'s clone`;
+							let cloneSeed = getSlave(genes.cloneID);
+							if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+								child.slaveSurname = cloneSeed.slaveSurname;
+							}
+						}
+					} else if (genes.mother === -1) {
 						if (genes.father <= 0) {
 							child.slaveName = `Your daughter`;
 						} else {
@@ -1395,7 +1491,16 @@ window.generateChild = function(mother, ova, destination) {
 				} else {
 					child.slaveName = genes.name;
 				}
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+							child.slaveSurname = cloneSeed.slaveSurname;
+						}
+					}
+				} else if (genes.mother === -1) {
 					child.slaveSurname = V.PC.slaveSurname;
 				} else {
 					if (genes.father === -1) {
@@ -1428,7 +1533,18 @@ window.generateChild = function(mother, ova, destination) {
 			child = GenerateNewSlave("XY");
 			child.slaveSurname = genes.surname;
 			if (!pregUpgrade) {
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveName = `Your clone`;
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						child.slaveName = `${genes.clone}'s clone`;
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+							child.slaveSurname = cloneSeed.slaveSurname;
+						}
+					}
+				} else if (genes.mother === -1) {
 					if (genes.father <= 0) {
 						child.slaveName = "Your son";
 					} else {
@@ -1467,7 +1583,18 @@ window.generateChild = function(mother, ova, destination) {
 			} else {
 				let childName = genes.name;
 				if (childName.indexOf("ovum") === 0) {
-					if (genes.mother === -1) {
+					if (genes.clone) {
+						if (genes.cloneID === -1) {
+							child.slaveName = `Your clone`;
+							child.slaveSurname = V.PC.slaveSurname;
+						} else {
+							child.slaveName = `${genes.clone}'s clone`;
+							let cloneSeed = getSlave(genes.cloneID);
+							if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+								child.slaveSurname = cloneSeed.slaveSurname;
+							}
+						}
+					} else if (genes.mother === -1) {
 						if (genes.father <= 0) {
 							child.slaveName = "Your son";
 						} else {
@@ -1485,7 +1612,16 @@ window.generateChild = function(mother, ova, destination) {
 				} else {
 					child.slaveName = genes.name;
 				}
-				if (genes.mother === -1) {
+				if (genes.clone) {
+					if (genes.cloneID === -1) {
+						child.slaveSurname = V.PC.slaveSurname;
+					} else {
+						let cloneSeed = getSlave(genes.cloneID);
+						if (cloneSeed.slaveSurname !== 0 && cloneSeed.slaveSurname !== "") {
+							child.slaveSurname = cloneSeed.slaveSurname;
+						}
+					}
+				} else if (genes.mother === -1) {
 					child.slaveSurname = V.PC.slaveSurname;
 				} else {
 					if (genes.father === -1) {
@@ -1517,12 +1653,10 @@ window.generateChild = function(mother, ova, destination) {
 		}
 
 		child.actualAge = 0;
-
 		if (genes.clone !== undefined) {
 			child.clone = genes.clone;
 			child.cloneID = genes.cloneID;
 		}
-
 		child.mother = genes.mother;
 		child.father = genes.father;
 		child.nationality = genes.nationality;
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index 2259d449d7a688ee12cad341ebb9e0b16728cdb0..d568e9d8675c4b58dc5aa35a57c817e137c51a23 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -332,6 +332,24 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 	<<set $activeSlave.health = random(-70, -60)>>
 	<<set $activeSlave.behavioralFlaw = "odd">>
 	<<set $activeSlave.sexualFlaw = either("idealistic", "repressed", "self hating", "shamefast")>>
+<<case "sex double">>
+	You sold $him to a film studio to act as a double for a famous actress where $he was used for a sex scene. "They didn't <<s>>top after the <<sh>>oot. They just kept fucking me and fucking me until they ju<<s>>t to<<ss>>ed me a<<s>>ide, <<s>>in<<c>>e that bitch
+	<<if $seePreg != 0 && $activeSlave.ovaries == 1 && ($activeSlave.preg == 0 || $activeSlave.preg == -1) && $activeSlave.bellyImplant < 0>>
+		'i<<s>>n't a bloated whore like you'. Like I even had a choi<<c>>e in getting pregnant."
+	<<else>>
+		'i<<s>>n't a blown out whore like you'."
+	<</if>>
+	<<set $activeSlave.vagina = 3>>
+	<<set $activeSlave.anus = 3>>
+	<<if $seePreg != 0>><<if $activeSlave.ovaries>><<set $activeSlave.preg = random(5,_pregWeeks-1), $activeSlave.pregType = 1, $activeSlave.pregSource = 0, $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1, SetBellySize($activeSlave)>><</if>><</if>>
+<<case "monster movie">>
+	You sold $him to a film studio to act as a double for a famous actress where $he was used installed with a massive fake pregnancy for the ending. "It'<<s>> too big... Can't breath right... Wa<<s>> going to be <<s>>old... <<S>>in<<c>>e I wa<<s>> a di<<s>>po<<s>>able prop... I'd rather be your prop." $He returns to wheezing against the solid mass bulging from $his middle.
+	<<set $activeSlave.health = random(-70, -60)>>
+	<<if $seeHyperPreg != 1>>
+		<<set $activeSlave.bellyImplant = 120000, $activeSlave.belly = 120000>>
+	<<else>>
+		<<set $activeSlave.bellyImplant = 300000, $activeSlave.belly = 300000>>
+	<</if>>
 <<default>>
 	<<switch _buyer>>
 	<<case "housekeeper">>
diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw
index cae5087bfe47a5bba74430b98ca2e79a6c8287c8..504441cbd58905442ad94cf328efc2fcffc0c6ac 100644
--- a/src/uncategorized/sellSlave.tw
+++ b/src/uncategorized/sellSlave.tw
@@ -1149,6 +1149,43 @@ __Bids Received__
 	<</if>>
 <</if>>
 
+<<if $activeSlave.vagina > 0 && $activeSlave.dick == 0 && $activeSlave.balls == 0>>
+	<<if $activeSlave.physicalAge >= 20 && $activeSlave.physicalAge < 25>>
+		<<if $activeSlave.visualAge >= 20 && $activeSlave.visualAge < 25>>
+			<<if $activeSlave.preg <= 0 && $activeSlave.bellyImplant <= 0>>
+				<<if $activeSlave.weight < 10 && $activeSlave.weight > -10>>
+					<<if $activeSlave.waist < 10 && $activeSlave.waist > -50>>
+						<<if $activeSlave.boobs >= 550 && $activeSlave.boobs < 1000>>
+							<<if $activeSlave.butt > 2 && $activeSlave.butt < 5>>
+								<<if $activeSlave.hips > 0 && $activeSlave.hips < 3>>
+									<<if $activeSlave.face >= 20>>
+										<<set _movieDouble = random(1,100)>>
+										<<if _movieDouble > 90 && $seePreg != 0>>
+											<br>''<<print cashFormat(700*Math.trunc(($slaveCost*1.35)/700))>>'' from a production studio interested in using $him as a double.
+											<<link "Accept bid" "Slave Sold">>
+												<<set _Price = 700*Math.trunc(($slaveCost*1.35)/700)>>
+												<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
+												<<set $buyer = "monster movie">>
+											<</link>>
+										<<elseif _movieDouble > 70>>
+											<br>''<<print cashFormat(700*Math.trunc(($slaveCost*1.35)/700))>>'' from a production studio interested in using $him as a double.
+											<<link "Accept bid" "Slave Sold">>
+												<<set _Price = 700*Math.trunc(($slaveCost*1.35)/700)>>
+												<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
+												<<set $buyer = "sex double">>
+											<</link>>
+										<</if>>
+									<</if>>
+								<</if>>
+							<</if>>
+						<</if>>
+					<</if>>
+				<</if>>
+			<</if>>
+		<</if>>
+	<</if>>
+<</if>>
+
 <<if $activeSlave.dick > 0>>
 	<<if $activeSlave.skill.oral >= 100>>
 		<<if $activeSlave.height < 160>>
diff --git a/src/uncategorized/slaveSold.tw b/src/uncategorized/slaveSold.tw
index 94e6c2b3510aee07d8d4602d1b35257c88734303..55f18e48ceabd8361bc3f6102084bf132fa39e63 100644
--- a/src/uncategorized/slaveSold.tw
+++ b/src/uncategorized/slaveSold.tw
@@ -1138,6 +1138,32 @@
 		Your other slaves lacking in manners consider being turned into a proper member of polite society @@.gold;a fate wore than death.@@
 	<</if>>
 
+<<case "sex double">>
+	$activeSlave.slaveName soon makes $his debut on the big screen in a debaucherous gangbang in place of the popular lead. $He is a spitting image of the actress, even when coated in layers of semen.
+	<<for _ss = 0; _ss < $slaves.length; _ss++>>
+		<<if ($slaves[_ss].sexualFlaw == "attention whore")>>
+			<<run clearSummaryCache($slaves[_ss])>>
+			<<set $slaves[_ss].devotion -= 2>>
+			<<set _slaveImpact = 1>>
+		<</if>>
+	<</for>>
+	<<if (_slaveImpact == 1)>>
+		The attention whores among your slaves are @@.mediumorchid;envious@@ of $activeSlave.slaveName's good fortune.
+	<</if>>
+
+<<case "monster movie">>
+	$activeSlave.slaveName soon makes $his debut on the big screen in a thrilling horror movie. At its end, the male lead finds his partner, played by $him in this scene, glued to a wall with a massively distended middle filled to capacity with the monster's spawn. The camera slowly zooms in on $him as $he gives birth to a future sequel.
+	<<for _ss = 0; _ss < $slaves.length; _ss++>>
+		<<if ($slaves[_ss].sexualFlaw == "breeder")>>
+			<<run clearSummaryCache($slaves[_ss])>>
+			<<set $slaves[_ss].devotion -= 2>>
+			<<set _slaveImpact = 1>>
+		<</if>>
+	<</for>>
+	<<if (_slaveImpact == 1)>>
+		The pregnancy obsessed sluts among your slaves are @@.mediumorchid;envious@@ of $activeSlave.slaveName's new experience, even if it is fake.
+	<</if>>
+
 <<case "peacekeepers">>
 	$activeSlave.slaveName is delivered to General $peacekeepers.generalName's forces, to serve as a barracks whore. Several days later, the purchasing officer forwards a short shot of $activeSlave.slaveName
 	<<if $peacekeepers.tastes == 0>>
diff --git a/src/utility/descriptionWidgetsPiercings.tw b/src/utility/descriptionWidgetsPiercings.tw
index fd1db41e6079e9669f5bb5a662a8f28eb75f387c..91e83e21e8682b7fbfb53cfe8e40ff4e42a04d49 100644
--- a/src/utility/descriptionWidgetsPiercings.tw
+++ b/src/utility/descriptionWidgetsPiercings.tw
@@ -139,6 +139,8 @@
 			$He can barely enunciate
 			<<if $activeSlave.lipsPiercing == 2>>
 				past $his piercings;
+			<<else>>
+				with $his fat lips;
 			<</if>>
 			<<run Enunciate($activeSlave)>>
 			<<if $writtenTitle === $titleEnunciate>>