diff --git a/src/pregmod/FSlaveSelfImplreg.tw b/src/pregmod/FSlaveSelfImplreg.tw
new file mode 100644
index 0000000000000000000000000000000000000000..f70c22e62ee5dd3f289193fe8809d8b1c928bab4
--- /dev/null
+++ b/src/pregmod/FSlaveSelfImplreg.tw
@@ -0,0 +1,148 @@
+:: FSlaveSelfImpreg [nobr]
+
+<<ClearSummaryCache $activeSlave>>
+
+<<set _pfh = ($activeSlave.fetish == 'pregnancy' && $activeSlave.fetishStrength > 50)>>
+<<set _pfk = (_pfh && $activeSlave.fetishKnown == 1) || $activeSlave.sexualFlaw == "breeder">>
+<<set _coop = true, _enjoy = true>>
+
+<<if ($activeSlave.devotion < 20)>>
+	<<if ($activeSlave.devotion <= -20)>>
+	   $activeSlave.slaveName despises you, and tends to resent everything you do on principle, 
+	<<elseif ($activeSlave.devotion < 20)>>
+		$activeSlave.slaveName dislikes you, 
+	</if>
+	<<if ($activeSlave.sexualFlaw == "breeder" || (_pfh && $activeSlave.fetishStrength > 90))>>
+		but the idea of simultaneously impregnating and being impregnated is @@.hotpink;so tempting@@ that she's @@.mediumaquamarine;grateful@@ to you despite herself.
+		<<set $activeSlave.devotion += 2, $activeSlave.trust += 1>>
+	<<elseif (_pfk)>>
+		but her obvious predilection for being pregnant significantly lessens the @@.mediumorchid;indignity@@ of the situation.
+		<<set _coop = false>>
+		<<set $activeSlave.devotion -= 2>>
+	<<else>>
+		and this @@.gold;uniquely degrading@@ violation of her person only reinforces her @@.mediumorchid;hatred@@ towards you. She resists so violently that you must @@.red;physically coerce her@@ into cooperating with the procedure.
+		<<set _coop = false, _enjoy = false>>
+		<<set $activeSlave.devotion -= 5, $activeSlave.trust -= 6>>
+	</if>
+<<elseif (_pfk)>>
+	$activeSlave.slaveName @@.hotpink;genuinely enjoys@@ impregnation and pregnancy, so she is @@.mediumaquamarine;grateful@@ that you're giving her a chance to become so intimately acquainted with both aspects of her fetish at the same time.
+	<<set $activeSlave.devotion += 4, $activeSlave.trust += 2>>
+	<<if ($activeSlave.devotion > 50 && $arcologies[0].FSRepopulationFocus > 10)>>
+		She also feels @@.hotpink;proud@@ that she can be a @@.mediumaquamarine;self-sustaining@@ source of offspring to support your vision of the future.
+		<<set $activeSlave.devotion += 1, $activeSlave.trust += 1>>
+	<</if>>
+<<else>>
+	<<if (_pfh)>>
+		Even though you aren't aware of any special fondness for pregnancy, $activeSlave.slaveName seems @@.hotpink;oddly eager@@ to cooperate with you. It quickly becomes obvious that she is @@.lightcoral;fascinated with pregnancy@@ and you've @@.mediumaquamarine;helped her discover this@@ about herself.
+		<<set $activeSlave.devotion += 1, $activeSlave.trust += 1, $activeSlave.fetishKnown = 1>>
+	<<elseif ($activeSlave.behavioralQuirk == "perverted")>>
+		Despite having no particular interest in pregnancy, the @@.hotpink;sheer perversity@@ of impregnating herself is palpably arousing to $activeSlave.slaveName.
+		<<set $activeSlave.trust += 1>>
+	<<elseif ($activeSlave.energy > 90)>>
+		Despite having no particular interest in pregnancy, $activeSlave.slaveName's overwhelming sex drive causes her to be aroused at the prospect of any sex, even if it happens to be with herself.
+	<<elseif ($activeSlave.devotion > 50)>>
+		Despite having no particular interest in pregnancy, $activeSlave.slaveName is eager to @@.hotpink;submit to your vision@@ of her.
+		<<set $activeSlave.trust += 1>>
+		<<if ($activeSlave.devotion > 50 && $arcologies[0].FSRepopulationFocus > 10)>>
+			She also feels @@.hotpink;proud@@ that she can be a @@.mediumaquamarine;self-sustaining@@ source of offspring to support your vision of the future.
+			<<set $activeSlave.devotion += 1, $activeSlave.trust += 1>>
+		<</if>>
+		<<set _enjoy = false>>
+	<<else>>
+		$activeSlave.slaveName cooperates without any protest. She may not particularly enjoy pregnancy or impregnation, but she's too well-broken to resist or speak against you.
+		<<set _enjoy = false>>
+	<</if>>
+<</if>>
+
+<<if (_coop))>>
+	<<if (_enjoy)>>
+		<<if ($activeSlave.dick > 6>>
+			Although she is aroused by the idea of impregnating herself, $activeSlave.slaveName's cock is simply too large to easily become erect. A quick injection of vasodilators later, and she's ready to go. Because she's so eager, you simply stand back and let the magic happen.
+			<<if ($activeSlave.vagina == 0)>>
+				As ways to lose one's virginity go, this is one hell of a way to do it. Without needing any instruction, $activeSlave.slaveName grasps her massive shaft in both hands and feeds it around so the head is nestled between her own labia. She shows only the tiniest hesitation before easing her cock inside her own body, @@.lime;past her maidenhead@@, until you can tell the head is nestled snugly against her own cervix.
+				<<set $activeSlave.vagina = 1>>
+			<<else>>
+				Without needing any instruction, $activeSlave.slaveName grasps her massive shaft in both hands and feeds it around so the head is nestled between her own labia. She works it up and down for a second, relishing the sensation, and then plunges her cock into her own body until you can tell the tip is wedged against her own cervix.
+			<</if>>
+			Without another partner to rut against, $activeSlave.slaveName has to rely on her own hands, bucking her hips up against them to drive the impressively curved shaft into her own body with increasing desperation until her whole body shudders; her cock throbs as her vagina eagerly drinks up her own seed.
+		<<else>>
+			<<if ($activeSlave.trust < -20)>>
+				Although she is aroused by the idea of impregnating herself, $activeSlave.slaveName is too terrified to achieve an erection without assistance. It takes an injection of vasodilators to overcome her nerves and restore her manhood to proper functioning.
+			<<else>>
+				Merely thinking about what you're about to do has $activeSlave.slaveName fully erect, with a small bead of precum running down her shaft and blending with the feminine wetness dripping from between her legs.
+			<</if>>
+			<!-- todo: if slave has lover/wife, let them "do the honors" -->
+			Since she's not large enough to simply fuck herself, you produce a special toy for $activeSlave.slaveName - an onahole attached by a flexible tube to a dildo, with an embedded micro-pump to ensure any fluid in the onahole makes its way out of the dildo.
+			<<if ($activeSlave.vagina == 0)>>
+				As ways to lose one's virginity go, this is one hell of a way to do it. $activeSlave.slaveName trembles with excitement as she brings the synthetic shaft between her legs and slowly works it @@.lime;into her virgin pussy@@.
+				<<set $activeSlave.vagina = 1>>
+			<<else>>
+				$activeSlave.slaveName eagerly rams the synthetic shaft as deeply into her pussy as it will go, obviously fantasizing that she's driving her own dick into her dripping pussy.
+			</if>>
+			You help her keep the dildo in place while she works the onahole onto her cock and begins stroking up and down. The stimulation of being filled and having her dick stroked don't give her much time to enjoy what she's doing before her hips buck wildly and you see semen travelling from the pump, along the clear plastic tub, and into the base of the dildo embedded deeply in $activeSlave.slaveName's throbbing vagina.
+		<</if>>
+	<<else>>
+		<<if ($activeSlave.devotion > 50)>>
+			<<if ($activeSlave.dick > 6>>
+				No matter how hard she tries, $activeSlave.slaveName's dick is simply too large for her to achieve erection on her own. You're about to inject her with a vasodilator to remedy the problem, when she tries to take the syringe from your hand. Normally such impudence would be a grave violation, but it's obvious that her actions are only motivated by loyalty - she wants to fix this problem herself so she can feel like she isn't failing you because of a physical inadequacy that is, admittedly, not her fault. You relinquish the syringe and watch as she injects herself with the drugs necessary to achieve a full erection.
+			<<else>>
+				Despite a complete lack of sexual interest in the procedure, $activeSlave.slaveName is able to quickly bring herself to full erectness without any help.
+			<</if>>
+		<<else>>
+			<<if ($activeSlave.dick > 6>>
+				$activeSlave.slaveName doesn't try all that hard to achieve erection, but it's obvious that the sheer size of her cock would make it impossible anyway. She silently cooperates as you inject her with vasodilators to forcibly make her erect.
+			<<else>>
+				Despite a complete lack of sexual interest in the procedure, $activeSlave.slaveName is able to eventually bring herself to full erectness without any help.
+			<</if>>
+		<</if>
+		<!-- todo: if slave has lover/wife, let them "do the honors" -->
+		You produce a sample container and syringe; $activeSlave.slaveName gets the idea and immediately begins jacking off. When she ejaculates, she carefully holds the cup with one hand to catch every drop of her virile seed. A moment later she dips the syringe into the container and withdraws the plunger.
+		<<if ($activeSlave.devotion > 50)>>
+			She blushes a bit, hands you the syringe, and lies back on the bench, spreading her legs invitingly. You insert the syringe carefully into her vagina as far as it will go, and spray her sperm directly against her waiting cervix.
+		<<else>>
+			You take the syringe from her and gesture for her to lie back; once she's in position, you insert the syringe carefully into her vagina and spray her sperm directly against her waiting cervix.
+		<</if>
+	<</if>>
+<<else>>
+	<<if (_enjoy)>>
+		Although $activeSlave.slaveName is anything but eager to cooperate, you don't have to drag her. It's obvious that her resistance is conflicting with the raw desire to fill herself with her own seed.
+		<<if ($activeSlave.dick > 6>>
+			While the size of her cock makes it necessary for you to inject her with vasodilators for her to become properly erect, her resistance is minimal.
+			<<if $activeSlave.vagina == 0>>
+				You instruct her to fuck herself; by this point, she's too far gone to object, even though obeying will rob her of her virginity. Her hands shake with roiling emotions as she lines her cock up with her own opening and gingerly works it into her @@.lime;virgin pussy@@.
+			<<else>>
+				 You instruct her to fuck herself; by this point, she's too far gone to object. Her hands shake as she lines her cock up with her own opening; she lets out a sound halfway between a sob and a moan as she penetrates herself.
+			<</if>>
+			Without another partner to thrust against, $activeSlave.slaveName has to use her remarkable shaft like a dildo, sliding it in and out of her increasingly dripping sex. The potent mix of shame and arousal drives her to orgasm quickly, and only a couple of minutes pass before you see her shaft throbbing as she fucks a baby into her own belly.
+		<<else>>
+			Her cock is rigidly erect almost immediately, a fact which brings a confusing mixture of shame and arousal to her face. You produce a sample container and syringe; $activeSlave.slaveName gets the idea and reluctantly begins jacking off. When she ejaculates, she carefully holds the cup with one hand to catch every drop of her seed. A moment later she dips the syringe into the container and withdraws the plunger. She hesitates, likely because the release has restored some of her self control to her, but before she can do anything to escape, you press her down with one hand and feed the syringe into her pussy, depressing the plunger as soon as it's deeply inside her.
+			<!-- possible todo: allow head girl to do this part?-->
+		<</if>>
+	<<else>>
+		The repulsion $activeSlave.slaveName feels toward both you and what you're about to force her to do make her cooperation entirely out of the question. You are forced to restrain her with straps, kicking and sobbing; the sobbing only gets louder when she feels the prick of a needle shooting vasodilators into her crotch. Moments later, despite her best efforts, she is painfully erect and ready for you to proceed. Since she's guaranteed to make this as difficult as possible, you opt for the simplest solution: you take a condom and apply it to her penis; once she's sheathed, you forcibly stimulate her until she ejaculates and remove the condom. Loading the contents into a syringe and injecting them into her vagina is a simple matter, because of the straps, and moments later she sobs in despair as her sperm begins racing into her waiting womb.
+	<</if>>
+<</if>>
+
+<<set _actCount = random(2,8)+1>>
+<<set $activeSlave.penetrativeCount += _actCount, $penetrativeTotal += _actCount>>
+<<if $activeSlave.mpreg == 1>>
+	<<set $activeSlave.analCount += _actCount, $analTotal += _actCount>>
+<<else>>
+	<<set $activeSlave.vaginalCount += _actCount, $vaginalTotal += _actCount>>
+<</if>>
+
+You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName is carrying her own child.
+
+<<KnockMeUp $activeSlave 100 2 $activeSlave.ID 1>>
+
+<<if $arcologies[0].FSRestart != "unset">>
+	<<if $activeSlave.breedingMark != 1>>
+		Rumors spread about you having your slaves breed; the Societal Elite are @@.red; very displeased@@ by these rumors.
+		<<set $failedElite += 5>>
+	<</if>>
+<</if>>
+<<if $arcologies[0].FSGenderFundamentalist != "unset">>
+	Society @@.red;is disgusted@@ by this degenerate form of reproduction.
+	<<set $rep -= $FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+	<<set $arcologies[0].FSGenderFundamentalist -= 0.05*$FSSingleSlaveRep>>
+<</if>>
\ No newline at end of file