diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 4bd49fb8953eb04ea8bc460c50f5ee090ffd6706..efc598d180d04457c07a77bb74b3972d33db074e 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -1474,7 +1474,7 @@ type of kemonomimi ears if any
 "inu"
 "kit"
 "tanuki"
-"human"
+"normal"
 
 earTColor:
 
diff --git a/src/002-config/fc-js-init.js b/src/002-config/fc-js-init.js
index 0a927718feb845b3d9a8ff27fb6857fafcce063a..27db52b134934fac831a6d5f4bdd700180d9ed4a 100644
--- a/src/002-config/fc-js-init.js
+++ b/src/002-config/fc-js-init.js
@@ -36,6 +36,8 @@ App.Facilities = {
 	HGSuite: {}
 };
 App.Medicine = {};
+App.Medicine.OrganFarm = {};
+App.Medicine.OrganFarm.Organs = {};
 App.RA = {};
 App.SF = {};
 App.Corporate = {};
diff --git a/src/004-base/organFarmBase.js b/src/004-base/organFarmBase.js
new file mode 100644
index 0000000000000000000000000000000000000000..f38973632a31e9984a8ca14ff3a1c9cfd90c60ea
--- /dev/null
+++ b/src/004-base/organFarmBase.js
@@ -0,0 +1,103 @@
+/*
+type (string) !!!--UNIQUE--!!!
+name, tooltip (string)
+cost (number)
+growRequirement (slave) -> bool
+time (number)
+implantAction[] {
+	name (string)
+	requirement (slave) -> bool
+	errorMessage (slave) -> string
+	effect (slave) -> ()
+	surgeryType (string)   --for surgery Degradation
+	autoImplant (bool)
+	autoErrorMessage (slave) -> string
+}
+dependencies[] (string)		--organ types
+ */
+
+App.Medicine.OrganFarm.Organ = class {
+	/**
+	 *
+	 * @param {string} type
+	 * @param {string} name
+	 * @param {string} tooltip
+	 * @param {number} cost
+	 * @param {number} time
+	 * @param {function(App.Entity.SlaveState):boolean} canGrow
+	 * @param {string[]} dependencies
+	 * @param {App.Medicine.OrganFarm.OrganImplantAction[]} actions
+	 */
+	constructor({type: type, name, tooltip= "", cost, time, canGrow = () => true, dependencies = [], actions= []} = {}) {
+		this.type = type;
+		this.name = name;
+		this.tooltip = tooltip;
+		this.cost = cost;
+		this.time = time;
+		/** @type {function(App.Entity.SlaveState):boolean} */
+		this.canGrow = canGrow;
+		/** @type {string[]} */
+		this.dependencies = dependencies;
+		/** @type {App.Medicine.OrganFarm.OrganImplantAction[]} */
+		this.implantActions = actions;
+
+		App.Medicine.OrganFarm.Organs[type] = this;
+	}
+};
+
+/*
+implantAction[] {
+	name (string)
+	requirement (slave) -> bool
+	errorMessage (slave) -> string
+	effect (slave) -> ()
+	surgeryType (string)   --for surgery Degradation
+	autoImplant (bool)
+	autoErrorMessage (slave) -> string
+}
+ */
+
+App.Medicine.OrganFarm.OrganImplantAction = class {
+	/**
+	 * @param {string} name
+	 * @param {string} tooltip
+	 * @param {number} healthImpact
+	 * @param {string} surgeryType
+	 * @param {boolean} autoImplant
+	 * @param {function(App.Entity.SlaveState):boolean} canImplant
+	 * @param {function(App.Entity.SlaveState):string} implantError
+	 * @param {function(App.Entity.SlaveState)} implant
+	 */
+	constructor({name, tooltip = "", healthImpact, surgeryType, autoImplant = true, canImplant, implantError, implant} = {}) {
+		this.name = name;
+		this.tooltip = tooltip;
+		this.healthImpact = healthImpact;
+		this.surgeryType = surgeryType;
+		this.autoImplant = autoImplant;
+		/**
+		 * True if this action can implant the organ
+		 * @type {function(App.Entity.SlaveState):boolean}
+		 */
+		this.canImplant = canImplant;
+		/**
+		 * Error message if the organ cannot be implanted.
+		 * @type {function(App.Entity.SlaveState):string}
+		 */
+		this.implantError = implantError;
+		/**
+		 * Implant the organ
+		 * @type {function(App.Entity.SlaveState)}
+		 */
+		this.implant = implant;
+	}
+
+	/**
+	 * Error message if the organ cannot be implanted automatically.
+	 * @param {App.Entity.SlaveState} slave
+	 * @returns {string}
+	 */
+	autoImplantError(slave) {
+		return this.implantError(slave);
+	}
+
+};
diff --git a/src/gui/css/mainStyleSheet.css b/src/gui/css/mainStyleSheet.css
index 0b0d6254b92fceccecfbd03926f4edda4a69c80a..dabe0b08b77d1ae90668886dcf62a56488ff24e1 100644
--- a/src/gui/css/mainStyleSheet.css
+++ b/src/gui/css/mainStyleSheet.css
@@ -345,13 +345,16 @@ table.corporate td {
 	margin-top: 0.5em;
 	margin-bottom: 1.5em;
 }
+div.organContainer {
+	display: grid;
+	grid-template-columns: max-content auto;
+}
 div.tab {
 	margin-left: 20px;
 }
 div.indent {
 	text-indent: 2em;
 }
-
 div.double-indent {
 	text-indent: 4em;
-}
\ No newline at end of file
+}
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index b15f8aacceca1f5aea2c30e320a6e04cbdab916c..008044413dee80374e3f15e1139a14c5254b8ff8 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -3217,3 +3217,63 @@ window.mapIdList = function(list) {
 	}
 	return mappedList;
 };
+
+/**
+ * Topological sorting algorithm
+ * https://gist.github.com/shinout/1232505
+ * Added keys parameter since it better suits our needs and updated to project code style.
+ *
+ * @param {[]} keys
+ * @param {[[]]} edges: list of edges. each edge forms Array<ID,ID> e.g. [12 , 3]
+ * @returns Array: topological sorted list of IDs
+ * @throws Error: in case there is a closed chain.
+ **/
+App.Utils.topologicalSort = function(keys, edges) {
+	let nodes = {}; // hash: stringified id of the node => { id: id, afters: list of ids }
+	let sorted = []; // sorted list of IDs ( returned value )
+	let visited = {}; // hash: id of already visited node => true
+
+	const Node = function(id) {
+		this.id = id;
+		this.afters = [];
+	};
+
+	// 1. build data structures
+	keys.forEach(key => {
+		nodes[key] = new Node(key);
+	});
+
+	edges.forEach(edge => {
+		const from = edge[0], to = edge[1];
+		if (!nodes[from]) { nodes[from] = new Node(from); }
+		if (!nodes[to]) { nodes[to] = new Node(to); }
+		nodes[from].afters.push(to);
+	});
+
+	// 2. topological sort
+	Object.keys(nodes).forEach(function visit(idstr, ancestors) {
+		let node = nodes[idstr];
+		let id = node.id;
+
+		// if already exists, do nothing
+		if (visited[idstr]) { return; }
+
+		if (!Array.isArray(ancestors)) { ancestors = []; }
+
+		ancestors.push(id);
+
+		visited[idstr] = true;
+
+		node.afters.forEach((afterID) => {
+			if (ancestors.indexOf(afterID) >= 0) { // if already in ancestors, a closed chain exists.
+				throw new Error('closed chain : ' + afterID + ' is in ' + id);
+			}
+
+			visit(afterID.toString(), ancestors.map(v => v)); // recursive call
+		});
+
+		sorted.unshift(id);
+	});
+
+	return sorted;
+};
diff --git a/src/npc/surgery/organFarm.js b/src/npc/surgery/organFarm.js
new file mode 100644
index 0000000000000000000000000000000000000000..3a0b8120e0c37432460eb86fdd9b67d1526b14f7
--- /dev/null
+++ b/src/npc/surgery/organFarm.js
@@ -0,0 +1,183 @@
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @param {string} slaveString
+ * @returns {string}
+ */
+App.Medicine.OrganFarm.growActions = function(slave, slaveString) {
+	const organOrder = App.Medicine.OrganFarm.organDisplayOrder;
+	const O = App.Medicine.OrganFarm.Organs;
+
+	// find already being grown/ready to implant organs
+	const slaveOrgans = {};
+	organOrder.forEach(organ => slaveOrgans[organ] = 0);
+	V.completedOrgans.forEach(organ => {
+		if (organ.ID === slave.ID) {
+			slaveOrgans[organ.type] = -1;
+		}
+	});
+	V.organs.forEach(organ => {
+		if (organ.ID === slave.ID) {
+			slaveOrgans[organ.type] = organ.weeksToCompletion;
+		}
+	});
+
+	function weeksLeft(time) {
+		if (V.organFarmUpgrade === 1) {
+			return time;
+		} else if (V.organFarmUpgrade === 2) {
+			return Math.ceil(time / 2);
+		} else {
+			return Math.ceil(time / 4);
+		}
+	}
+
+	const {His, him} = getPronouns(slave);
+
+	// create entries for each organ
+	let grow = "";
+	let wait = [];
+	for (const organ of organOrder) {
+		if (slaveOrgans[organ] === 0) {
+			if (O[organ].canGrow()) {
+				grow += `<div><<link "${O[organ].name}" "Remote Surgery">><<run App.Medicine.OrganFarm.growOrgan(${slaveString}, "${organ}")>><</link>></div>`;
+				grow += `<div>//Costs ${cashFormat(O[organ].cost)}${O[organ].tooltip !== "" ? ` and ${O[organ].tooltip}` : ""}.//</div>`;
+			}
+		} else if (slaveOrgans[organ] > 0) {
+			wait.push({
+				time: slaveOrgans[organ],
+				text: `${His} ${O[organ].name.toLowerCase()} will be ready for implantation in ${weeksLeft(slaveOrgans[organ])} weeks.`
+			});
+		}
+	}
+
+	// put everything in one string
+	let r = "";
+	if (grow !== "") {
+		// organContainer is defined in mainStyleSheet.css
+		r += `The fabricator is ready to grow an organ for ${him}. Extract tissue to begin growing:<div class="organContainer">${grow}</div>`;
+	}
+	if (wait !== []) {
+		wait.sort((a, b) => a.time - b.time);
+		for (let i = 0; i < wait.length; i++) {
+			r += `<div>${wait[i].text}</div>`;
+		}
+	}
+
+	return r;
+};
+
+App.Medicine.OrganFarm.growOrgan = function(slave, organType) {
+	const organ = App.Medicine.OrganFarm.Organs[organType];
+
+	V.organs.push({type: organType, weeksToCompletion: organ.time, ID: slave.ID});
+
+	cashX(-organ.cost, "slaveSurgery", slave);
+};
+
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @param {string} slaveString
+ * @returns {string}
+ */
+App.Medicine.OrganFarm.implantActions = function(slave, slaveString) {
+	let slaveOrgans = V.completedOrgans.filter(o => o.ID === slave.ID);
+	if (slaveOrgans.length === 0) { return ""; }
+
+	const F = App.Medicine.OrganFarm;
+	let r = "";
+
+	for (const organ of slaveOrgans) {
+		r += `<div>${F.Organs[organ.type].name}:</div><div>`;
+
+		let anyAction = false;
+		let lines = [];
+		for (let i = 0; i < F.Organs[organ.type].implantActions.length; i++) {
+			const action = F.Organs[organ.type].implantActions[i];
+			if (action.canImplant(slave)) {
+				lines.push(`//${action.tooltip === "" ? "" : `${capFirstChar(action.tooltip)}: `}//[[${action.name}|Surgery Degradation][App.Medicine.OrganFarm.implant(${slaveString}, "${organ.type}", ${i})]]`);
+				anyAction = true;
+				break;
+			} else {
+				const error = action.implantError(slave);
+				if (error !== "") {
+					lines.push(`ERROR: ${error} `);
+				}
+			}
+		}
+
+		for (let i = 0; i < lines.length; i++) {
+			if (i + 1 < lines.length) {
+				r += `<div>${lines[i]}</div>`;
+			} else {
+				r += `<div>${lines[i]}`;
+
+				if (anyAction) {
+					r += " | ";
+				}
+
+				r += `[[Discard|Remote Surgery][App.Medicine.OrganFarm.removeOrgan(${slaveString}, "${organ.type}")]]</div></div>`;
+			}
+		}
+
+	}
+
+	return `The fabricator has completed ${slaveOrgans.length} organ(s):<div class="organContainer">${r}</div>`;
+};
+
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @param {string} type
+ * @param {number} actionIndex
+ */
+App.Medicine.OrganFarm.implant = function(slave, type, actionIndex) {
+	const A = App.Medicine.OrganFarm.Organs[type].implantActions[actionIndex];
+
+	A.implant(slave);
+	slave.health -= A.healthImpact;
+	if (V.organFarmUpgrade >= 2) {
+		slave.chem -= 20;
+	}
+
+	App.Medicine.OrganFarm.removeOrgan(slave, type);
+	V.surgeryType = A.surgeryType;
+};
+
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @param {string} type
+ */
+App.Medicine.OrganFarm.removeOrgan = function(slave, type) {
+	let organIndex = V.completedOrgans.findIndex(o => (o.ID === slave.ID && o.type === type));
+
+	if (organIndex !== -1) {
+		V.completedOrgans.deleteAt(organIndex);
+	}
+};
+
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {[string]}
+ */
+App.Medicine.OrganFarm.getSortedOrgans = function(slave) {
+	const F = App.Medicine.OrganFarm;
+	const organs = [];
+	const dependencies = [];
+	V.completedOrgans.forEach(organ => {
+		if (organ.ID === slave.ID) {
+			organs.push(organ.type);
+		}
+	});
+	organs.forEach(o => {
+		F.Organs[o].dependencies.forEach(d => {
+			if (organs.includes(d)) { /* inefficient, is there a better way? */
+				dependencies.push([d, o]);
+			}
+		});
+	});
+	try {
+		return App.Utils.topologicalSort(organs, dependencies);
+	} catch (e) { // closed loop
+		console.log(e.message);
+		return [];
+	}
+};
diff --git a/src/npc/surgery/organs.js b/src/npc/surgery/organs.js
new file mode 100644
index 0000000000000000000000000000000000000000..aabcd517f2e111662e45833a0a54953950b96b1f
--- /dev/null
+++ b/src/npc/surgery/organs.js
@@ -0,0 +1,356 @@
+/**
+ * Organs will usually be displayed in this order.
+ * If an organ is not part of this array, it will be unreachable.
+ *
+ * @type {string[]}
+ */
+App.Medicine.OrganFarm.organDisplayOrder = ["penis", "testicles", "scrotum", "pigTesticles", "dogTesticles", "horseTesticles", "cowTesticles", "foreskin", "prostate", "ovaries", "asexualReproOvaries", "pigOvaries", "dogOvaries", "horseOvaries", "cowOvaries", "freshOvaries", "leftEye", "rightEye", "ears", "topEars", "cochleae", "voicebox", "mpreg", "mpregPig", "mpregDog", "mpregHorse", "mpregCow"];
+
+App.Medicine.OrganFarm.init = function() {
+	new App.Medicine.OrganFarm.Organ({
+		type: "penis", name: "Penis", tooltip: "will add a prostate if one is not already present", cost: 5000, time: 5,
+		canGrow: () => (V.seeDicks !== 0 || V.makeDicks === 1),
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 20, surgeryType: "addDick",
+				canImplant: slave => (slave.dick <= 0),
+				implantError: () => "this slave already has a penis",
+				implant: slave => {
+					if (slave.prostate === 0) {
+						slave.prostate = 1;
+					}
+					slave.dick = 2;
+					slave.clit = 0;
+					slave.foreskin = slave.dick;
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "foreskin", name: "Foreskin", cost: 2500, time: 5,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Graft on", healthImpact: 10, surgeryType: "addForeskin",
+				canImplant: slave => (slave.foreskin <= 0),
+				implantError: slave => `This slave already has a ${slave.dick > 0 ? "foreskin" : "clitoral hood"}.`,
+				implant: slave => {
+					if (slave.dick > 0) {
+						slave.foreskin = slave.dick;
+					} else if (slave.clit > 0) {
+						slave.foreskin = slave.clit;
+					} else {
+						slave.foreskin = 1;
+					}
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Testicles({type: "testicles", name: "Testicles", ballType: "human", animal: false});
+	new App.Medicine.OrganFarm.Testicles({type: "pigTesticles", name: "Pig testicles", ballType: "pig", animal: true});
+	new App.Medicine.OrganFarm.Testicles({type: "dogTesticles", name: "Dog testicles", ballType: "dog", animal: true});
+	new App.Medicine.OrganFarm.Testicles({type: "horseTesticles", name: "Horse testicles", ballType: "horse", animal: true});
+	new App.Medicine.OrganFarm.Testicles({type: "cowTesticles", name: "Cow testicles", ballType: "cow", animal: true});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "scrotum", name: "Scrotum", tooltip: "requires balls for successful implantation", cost: 2500, time: 5,
+		dependencies: ["testicles", "pigTesticles", "dogTesticles", "horseTesticles", "cowTesticles"],
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Graft on", healthImpact: 10, surgeryType: "addScrotum",
+				canImplant: slave => (slave.scrotum <= 0 && slave.balls > 0),
+				implantError: slave => (slave.scrotum > 0) ? "This slave already has a scrotum." : "This slave lacks the balls necessary to accept a scrotum.",
+				implant: slave => {
+					slave.scrotum = slave.balls;
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Ovaries({type: "ovaries", name: "Ovaries", eggType: "human", pregData: "human", animal: false});
+	new App.Medicine.OrganFarm.Ovaries({type: "pigOvaries", name: "Pig ovaries", eggType: "pig", pregData: "pig", animal: true});
+	new App.Medicine.OrganFarm.Ovaries({
+		type: "dogOvaries",
+		name: "Dog ovaries",
+		eggType: "dog",
+		pregData: "canineM",
+		animal: true
+	});
+	new App.Medicine.OrganFarm.Ovaries({
+		type: "horseOvaries",
+		name: "Horse ovaries",
+		eggType: "horse",
+		pregData: "equine",
+		animal: true
+	});
+	new App.Medicine.OrganFarm.Ovaries({type: "cowOvaries", name: "Cow ovaries", eggType: "cow", pregData: "cow", animal: true});
+
+	new App.Medicine.OrganFarm.AnalWomb({
+		type: "mpreg",
+		name: "Anal womb and ovaries",
+		eggType: "human",
+		pregData: "human",
+		animal: false
+	});
+	new App.Medicine.OrganFarm.AnalWomb({
+		type: "mpregPig",
+		name: "Anal pig womb and ovaries",
+		eggType: "pig",
+		pregData: "pig",
+		animal: true
+	});
+	new App.Medicine.OrganFarm.AnalWomb({
+		type: "mpregDog",
+		name: "Anal dog womb and ovaries",
+		eggType: "dog",
+		pregData: "canineM",
+		animal: true
+	});
+	new App.Medicine.OrganFarm.AnalWomb({
+		type: "mpregHorse",
+		name: "Anal horse womb and ovaries",
+		eggType: "horse",
+		pregData: "equine",
+		animal: true
+	});
+	new App.Medicine.OrganFarm.AnalWomb({
+		type: "mpregCow",
+		name: "Anal cow womb and ovaries",
+		eggType: "cow",
+		pregData: "cow",
+		animal: true
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "freshOvaries", name: "Younger Ovaries",
+		tooltip: "requires a womb for successful implantation",
+		cost: 10000, time: 10,
+		canGrow: () => (V.youngerOvaries === 1),
+		dependencies: ["ovaries", "pigOvaries", "dogOvaries", "horseOvaries", "cowOvaries", "mpreg", "mpregPig", "mpregDog", "mpregHorse", "mpregCow"],
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 20, surgeryType: "freshOvaries",
+				canImplant: s => ((s.mpreg !== 0 || s.ovaries !== 0) && s.bellyImplant === -1 && s.physicalAge < 70),
+				implantError: s => (s.physicalAge >= 70) ? "This slave's body is too old to handle pregnancy." : "This slave lacks a viable womb.",
+				implant: s => {
+					if (s.ovaryAge >= 47) {
+						s.ovaryAge = 45;
+					} else {
+						s.ovaryAge = -2; // It shouldn't matter if this goes negative as it is just a signal for menopause to occur.
+					}
+					if (s.preg < 0) {
+						s.preg = 0;
+					}
+					if (s.pubertyXX === 0 && s.physicalAge >= V.fertilityAge) {
+						if (V.precociousPuberty === 1) {
+							s.pubertyAgeXX = s.physicalAge + 1;
+						} else {
+							s.pubertyXX = 1;
+						}
+					}
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "asexualReproOvaries", name: "Asexual reproduction modification",
+		tooltip: "requires existing ovaries for successful implantation",
+		cost: 10000, time: 10,
+		canGrow: () => (V.asexualReproOvaries === 1),
+		dependencies: ["ovaries", "pigOvaries", "dogOvaries", "horseOvaries", "cowOvaries", "mpreg", "mpregPig", "mpregDog", "mpregHorse", "mpregCow"],
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 20, surgeryType: "asexualReproOvaries",
+				canImplant: s => (s.mpreg !== 0 || s.ovaries !== 0),
+				implantError: () => "This slave lacks ovaries.",
+				implant: s => {
+					if (s.preg < 0) {
+						s.preg = 0;
+					}
+					s.eggType = "human";
+					s.pregData = clone(setup.pregData.human);
+					if (s.pubertyXX === 0 && s.physicalAge >= V.fertilityAge) {
+						if (V.precociousPuberty === 1) {
+							s.pubertyAgeXX = s.physicalAge + 1;
+						} else {
+							s.pubertyXX = 1;
+						}
+					}
+					s.ovaImplant = "asexual";
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "prostate", name: "Prostate", cost: 5000, time: 5,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 20, surgeryType: "addProstate",
+				canImplant: s => (s.prostate === 0),
+				implantError: () => "This slave already has a prostate.",
+				implant: s => {
+					s.prostate = 1;
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "leftEye", name: "Left Eye", cost: 5000, time: 10,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 10, surgeryType: "newEyes",
+				canImplant: s => (getLeftEyeVision(s) === 0 && getLeftEyeType(s) !== 2),
+				implantError: () => "Slave has a working left eye.",
+				implant: s => {
+					eyeSurgery(s, "left", "normal");
+				}
+			}),
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Replace", tooltip: "replace the existing ocular implant with an organic eye",
+				healthImpact: 10, surgeryType: "newEyes", autoImplant: false,
+				canImplant: s => (getLeftEyeType(s) === 2),
+				implantError: () => "",
+				implant: s => {
+					eyeSurgery(s, "left", "normal");
+				}
+			})
+		]
+	});
+	new App.Medicine.OrganFarm.Organ({
+		type: "rightEye", name: "Right Eye", cost: 5000, time: 10,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 10, surgeryType: "newEyes",
+				canImplant: s => (getRightEyeVision(s) === 0 && getRightEyeType(s) !== 2),
+				implantError: () => "Slave has a working right eye.",
+				implant: s => {
+					eyeSurgery(s, "right", "normal");
+				}
+			}),
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Replace", tooltip: "replace the existing ocular implant with an organic eye",
+				healthImpact: 20, surgeryType: "newEyes", autoImplant: false,
+				canImplant: s => (getRightEyeType(s) === 2),
+				implantError: () => "",
+				implant: s => {
+					eyeSurgery(s, "right", "normal");
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "ears", name: "Normal Ears", cost: 1000, time: 2,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Attach", healthImpact: 15, surgeryType: "earMinor",
+				canImplant: s => (s.earShape === "none"),
+				implantError: () => "This slave already has ears.",
+				implant: s => {
+					s.earShape = "normal";
+					if (s.hears === -1) {
+						s.hears = 0;
+					}
+				}
+			}),
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Replace", tooltip: "replace current ears with normal human ears",
+				healthImpact: 20, surgeryType: "earMinor", autoImplant: false,
+				canImplant: s => (s.earShape !== "normal"),
+				implantError: () => "This slave already has normal ears.",
+				implant: s => {
+					s.earShape = "normal";
+				}
+			})
+		]
+	});
+	new App.Medicine.OrganFarm.Organ({
+		type: "topEars", name: "Top Ears", cost: 1000, time: 2,
+		canGrow: () => (V.surgeryUpgrade >= 1),
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Attach", healthImpact: 10, surgeryType: "earMinor",
+				canImplant: s => (s.earT === "none"),
+				implantError: () => "This slave already has ears at the top of the head.",
+				implant: s => {
+					s.earT = "normal";
+					s.earTColor = "hairless";
+				}
+			}),
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Replace", tooltip: "replace current top ears with normal ears",
+				healthImpact: 20, surgeryType: "earMinor", autoImplant: false,
+				canImplant: s => (s.earT !== "normal"),
+				implantError: () => "This slave already has normal ears at the top of the head.",
+				implant: s => {
+					s.earT = "normal";
+					s.earTColor = "hairless";
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "cochleae", name: "Cochleae", cost: 8000, time: 6,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 20, surgeryType: "undeafen",
+				canImplant: s => (s.hears <= -2 && s.earImplant === 0),
+				implantError: () => "This slave already has working ears.",
+				implant: s => {
+					s.hears = 0;
+				}
+			}),
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Replace", tooltip: "remove cochlear implants before implanting organic cochleae",
+				healthImpact: 20, surgeryType: "newEars", autoImplant: false,
+				canImplant: s => (s.earImplant === 1),
+				implantError: () => "",
+				implant: s => {
+					s.hears = 0;
+					s.earImplant = 0;
+				}
+			})
+		]
+	});
+
+	new App.Medicine.OrganFarm.Organ({
+		type: "voicebox", name: "Vocal Cords", cost: 5000, time: 5,
+		actions: [
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Implant", healthImpact: 10, surgeryType: "restoreVoice",
+				canImplant: s => (s.voice === 0 && s.electrolarynx === 0),
+				implantError: () => "This slave is not mute.",
+				implant: s => {
+					if (s.ovaries === 1 && s.hormoneBalance >= 200) {
+						s.voice = 3;
+					} else if (s.balls > 0 || s.hormoneBalance < -20) {
+						s.voice = 1;
+					} else {
+						s.voice = 2;
+					}
+				}
+			}),
+			new App.Medicine.OrganFarm.OrganImplantAction({
+				name: "Replace", tooltip: "remove electrolarynx and implant organic vocal cords",
+				healthImpact: 20, surgeryType: "newVoice", autoImplant: false,
+				canImplant: s => (s.electrolarynx === 1),
+				implantError: () => "",
+				implant: s => {
+					s.electrolarynx = 0;
+					if (s.ovaries === 1 && s.hormoneBalance >= 200) {
+						s.voice = 3;
+					} else if (s.balls > 0 || s.hormoneBalance < -20) {
+						s.voice = 1;
+					} else {
+						s.voice = 2;
+					}
+				}
+			})
+		]
+	});
+};
diff --git a/src/npc/surgery/reproductiveOrgans.js b/src/npc/surgery/reproductiveOrgans.js
new file mode 100644
index 0000000000000000000000000000000000000000..321bb7c5ed5dc05f2fabbfba2138c8fbbb1e0cc7
--- /dev/null
+++ b/src/npc/surgery/reproductiveOrgans.js
@@ -0,0 +1,273 @@
+App.Medicine.OrganFarm.TesticlesImplantAction = class extends App.Medicine.OrganFarm.OrganImplantAction {
+	/**
+	 * @param {string} name
+	 * @param {string} tooltip
+	 * @param {string} ballType
+	 * @param {boolean} animal
+	 * @param {boolean} autoImplant
+	 * @param {function(App.Entity.SlaveState):boolean} canImplant
+	 * @param {function(App.Entity.SlaveState):string} implantError
+	 * @param {function(App.Entity.SlaveState)} implant
+	 */
+	constructor({name, tooltip = "", animal, autoImplant = true, canImplant, implantError, implant} = {}) {
+		super({
+			name: name,
+			tooltip: tooltip,
+			healthImpact: 20,
+			surgeryType: animal ? "addAnimalBalls" : "addBalls",
+			autoImplant: autoImplant,
+			canImplant: s => (!this.animal || V.animalTesticles > 0) && canImplant(s),
+			implantError: s => (this.animal && V.animalTesticles === 0) ? "" : implantError(s),
+			implant: implant
+		});
+		this.animal = animal;
+	}
+};
+
+App.Medicine.OrganFarm.Testicles = class extends App.Medicine.OrganFarm.Organ {
+	/**
+	 * @param {string} type
+	 * @param {string} name
+	 * @param {string} ballType
+	 * @param {boolean} animal
+	 */
+	constructor({type, name, ballType, animal} = {}) {
+		super({
+			type: type, name: name,
+			tooltip: "will add a prostate if one is not already present; requires a penis for successful implantation",
+			cost: 5000, time: 10,
+			canGrow: () => (!this.animal || V.animalTesticles > 0), dependencies: ["penis"],
+			actions: [
+				new App.Medicine.OrganFarm.TesticlesImplantAction({
+					name: "Implant", ballType: ballType, animal: animal,
+					canImplant: slave => (slave.balls <= 0 && slave.dick > 0),
+					implantError: slave => {
+						if (slave.dick === 0) {
+							return "This slave lacks the penis necessary to accept testicles.";
+						} else {
+							return "This slave already has testicles.";
+						}
+					},
+					implant: slave => {
+						if (slave.prostate === 0) {
+							slave.prostate = 1;
+						}
+						slave.balls = 2;
+						slave.ballType = this.ballType;
+						slave.scrotum = 2;
+						if (slave.pubertyAgeXY === 0) {
+							if (V.precociousPuberty === 1) {
+								if (slave.physicalAge >= V.potencyAge) {
+									slave.pubertyAgeXY = slave.physicalAge + 1;
+								}
+							} else {
+								if (slave.physicalAge >= V.potencyAge) {
+									slave.pubertyXY = 1;
+								}
+							}
+						}
+					}
+				}),
+				new App.Medicine.OrganFarm.TesticlesImplantAction({
+					name: "Implant",
+					tooltip: "you can forgo standard procedure and implant testicles directly into $his abdomen",
+					ballType: ballType, animal: animal, surgeryType: "addTesticles", autoImplant: false,
+					canImplant: slave => (slave.dick === 0 && slave.balls <= 0),
+					implantError: slave => ((slave.balls > 0) ? "This slave already has testicles." : ""),
+					implant: slave => {
+						if (slave.prostate === 0) {
+							slave.prostate = 1;
+						}
+						slave.balls = 2;
+						slave.ballType = this.ballType;
+						if (slave.pubertyAgeXY === 0) {
+							if (V.precociousPuberty === 1) {
+								if (slave.physicalAge >= V.potencyAge) {
+									slave.pubertyAgeXY = slave.physicalAge + 1;
+								}
+							} else {
+								if (slave.physicalAge >= V.potencyAge) {
+									slave.pubertyXY = 1;
+								}
+							}
+						}
+					}
+				}),
+				new App.Medicine.OrganFarm.TesticlesImplantAction({
+					name: "Replace",
+					tooltip: "you can replace the existing testicles with a new pair",
+					healthImpact: 20,
+					surgeryType: "addTesticles",
+					autoImplant: false,
+					canImplant: slave => (slave.balls > 0 && slave.ballType !== this.ballType),
+					implantError: slave => (slave.balls > 0 ? `This slave already has ${this.ballType} testicles.` : ""),
+					implant: slave => {
+						slave.balls = 2;
+						slave.ballType = this.ballType;
+						if (slave.pubertyAgeXY === 0) {
+							if (V.precociousPuberty === 1) {
+								if (slave.physicalAge >= V.potencyAge) {
+									slave.pubertyAgeXY = slave.physicalAge + 1;
+								}
+							} else {
+								if (slave.physicalAge >= V.potencyAge) {
+									slave.pubertyXY = 1;
+								}
+							}
+						}
+					}
+				})
+			]
+		});
+		this.animal = animal;
+		this.ballType = ballType;
+	}
+};
+
+App.Medicine.OrganFarm.OvariesImplantAction = class extends App.Medicine.OrganFarm.OrganImplantAction {
+	/**
+	 * @param {string} name
+	 * @param {string} tooltip
+	 * @param {boolean} animal
+	 * @param {boolean} autoImplant
+	 * @param {function(App.Entity.SlaveState):boolean} canImplant
+	 * @param {function(App.Entity.SlaveState):string} implantError
+	 * @param {function(App.Entity.SlaveState)} implant
+	 */
+	constructor({name, tooltip = "", animal, autoImplant = true, canImplant, implantError, implant} = {}) {
+		super({
+			name: name, tooltip: tooltip, healthImpact: 20,
+			surgeryType: animal ? "addAnimalOvaries" : "addOvaries", autoImplant: autoImplant,
+			canImplant: s => (!this.animal || V.animalTesticles > 0) && canImplant(s),
+			implantError: s => (this.animal && V.animalTesticles === 0) ? "" : implantError(s),
+			implant: implant
+		});
+		this.animal = animal;
+	}
+};
+
+App.Medicine.OrganFarm.Ovaries = class extends App.Medicine.OrganFarm.Organ {
+	/**
+	 * @param {string} type
+	 * @param {string} name
+	 * @param {string} eggType
+	 * @param {string} pregData
+	 * @param {boolean} animal
+	 */
+	constructor({type, name, eggType, pregData, animal} = {}) {
+		super({
+			type: type, name: name, tooltip: "requires a vagina for successful implantation",
+			cost: 10000, time: 10,
+			canGrow: () => (!this.animal || V.animalTesticles > 0),
+			actions: [
+				new App.Medicine.OrganFarm.OvariesImplantAction({
+					name: "Implant", animal: animal,
+					canImplant: s => (s.vagina >= 0 && s.ovaries <= 0 && s.mpreg === 0 && s.bellyImplant === -1),
+					implantError: s => {
+						if (s.vagina < 0) { return "This slave lacks the vagina necessary to accept ovaries."; }
+						if (s.ovaries >= 0) { return "This slave already has ovaries."; }
+						return "This slave's body cavity is filled with another organ.";
+					},
+					implant: s => {
+						s.ovaries = 1;
+						s.eggType = this.eggType;
+						s.preg = 0;
+						s.pregData = clone(setup.pregData[this.pregData]);
+						if (s.pubertyXX === 0 && s.physicalAge >= V.fertilityAge) {
+							if (V.precociousPuberty === 1) {
+								s.pubertyAgeXX = s.physicalAge + 1;
+							} else {
+								s.pubertyXX = 1;
+							}
+						}
+					}
+				}),
+				new App.Medicine.OrganFarm.OvariesImplantAction({
+					name: "Replace",
+					tooltip: "you can replace the existing ovaries with a new pair",
+					animal: animal,
+					autoImplant: false,
+					canImplant: s => (s.vagina >= 0 && s.mpreg === 0 && s.bellyImplant === -1 && s.eggType !== this.eggType),
+					implantError: s => (s.eggType === this.eggType) ? `This slave already has ${s.eggType} ovaries.` : "",
+					implant: s => {
+						s.eggType = this.eggType;
+						s.preg = 0;
+						s.pregData = clone(setup.pregData[this.pregData]);
+						if (s.pubertyXX === 0 && s.physicalAge >= V.fertilityAge) {
+							if (V.precociousPuberty === 1) {
+								s.pubertyAgeXX = s.physicalAge + 1;
+							} else {
+								s.pubertyXX = 1;
+							}
+						}
+					}
+				})
+			]
+		});
+		this.animal = animal;
+		this.eggType = eggType;
+		this.pregData = pregData;
+	}
+};
+
+App.Medicine.OrganFarm.AnalWombImplantAction = class extends App.Medicine.OrganFarm.OrganImplantAction {
+	/**
+	 * @param {string} eggType
+	 * @param {string} pregData
+	 * @param {boolean} animal
+	 */
+	constructor({eggType, pregData, animal} = {}) {
+		super({
+			name: "Implant", healthImpact: 40,
+			surgeryType: "mpreg",
+			canImplant: s => ((!this.animal || V.animalTesticles > 0) && s.ovaries === 0 && s.vagina <= -1 && s.mpreg === 0 && s.bellyImplant < 0),
+			implantError: s => {
+				if (this.animal && V.animalTesticles === 0) { return ""; }
+				if (s.bellyImplant >= 0) {return "This slave has a fillable abdominal implant."; }
+				return "This slave has existing reproductive Organs.";
+			},
+			implant: s => {
+				s.mpreg = 1;
+				s.eggType = this.eggType;
+				s.preg = 0;
+				s.pregData = clone(setup.pregData[this.pregData]);
+				if (s.pubertyXX === 0 && s.physicalAge >= V.fertilityAge) {
+					if (V.precociousPuberty === 1) {
+						s.pubertyAgeXX = s.physicalAge + 1;
+					} else {
+						s.pubertyXX = 1;
+					}
+				}
+			}
+		});
+		this.animal = animal;
+		this.eggType = eggType;
+		this.pregData = pregData;
+	}
+};
+
+App.Medicine.OrganFarm.AnalWomb = class extends App.Medicine.OrganFarm.Organ {
+	/**
+	 * @param {string} type
+	 * @param {string} name
+	 * @param {string} eggType
+	 * @param {string} pregData
+	 * @param {boolean} animal
+	 */
+	constructor({type, name, eggType, pregData, animal} = {}) {
+		super({
+			type: type, name: name,
+			tooltip: "the slave must not have female reproductive organs for successful implantation",
+			cost: 20000, time: 10,
+			canGrow: () => (V.arcologies[0].FSGenderRadicalistResearch === 1 && (!this.animal || V.animalMpreg > 0)),
+			actions: [
+				new App.Medicine.OrganFarm.AnalWombImplantAction({
+					eggType: eggType,
+					pregData: pregData,
+					animal: animal
+				})
+			]
+		});
+		this.animal = animal;
+	}
+};
diff --git a/src/pregmod/organFarmOptions.tw b/src/pregmod/organFarmOptions.tw
deleted file mode 100644
index 93e569fa714402ec571e0304bb5dfb478bf1ebf0..0000000000000000000000000000000000000000
--- a/src/pregmod/organFarmOptions.tw
+++ /dev/null
@@ -1,2571 +0,0 @@
-:: organFarmOptions [nobr]
-
-<<set _newOrgan = {type: "0", weeksToCompletion: "0", ID: 0}>>
-<<set $slaveOrgans = {
-	penis: 0,
-	testicles: 0,
-	scrotum: 0,
-	pigTesticles: 0,
-	dogTesticles: 0,
-	horseTesticles: 0,
-	cowTesticles: 0,
-	foreskin: 0,
-	ovaries: 0,
-	freshOvaries: 0,
-	asexualReproOvaries: 0,
-	prostate: 0,
-	pigOvaries: 0,
-	dogOvaries: 0,
-	horseOvaries: 0,
-	cowOvaries: 0,
-	eyes: 0,
-	ears: 0,
-	cochleae: 0,
-	voicebox: 0,
-	mpreg: 0,
-	mpregPig: 0,
-	mpregDog: 0,
-	mpregHorse: 0,
-	mpregCow: 0}>>
-<<for _i = 0; _i < $organs.length; _i++>>
-	<<if $activeSlave.ID == $organs[_i].ID>>
-		<<if $organs[_i].type == "penis">>
-			<<set $slaveOrgans.penis = 1>>
-		<<elseif $organs[_i].type == "testicles">>
-			<<set $slaveOrgans.testicles = 1>>
-		<<elseif $organs[_i].type == "scrotum">>
-			<<set $slaveOrgans.scrotum = 1>>
-		<<elseif $organs[_i].type == "pigTesticles">>
-			<<set $slaveOrgans.pigTesticles = 1>>
-		<<elseif $organs[_i].type == "dogTesticles">>
-			<<set $slaveOrgans.dogTesticles = 1>>
-		<<elseif $organs[_i].type == "horseTesticles">>
-			<<set $slaveOrgans.horseTesticles = 1>>
-		<<elseif $organs[_i].type == "cowTesticles">>
-			<<set $slaveOrgans.cowTesticles = 1>>
-		<<elseif $organs[_i].type == "foreskin">>
-			<<set $slaveOrgans.foreskin = 1>>
-		<<elseif $organs[_i].type == "ovaries">>
-			<<set $slaveOrgans.ovaries = 1>>
-		<<elseif $organs[_i].type == "prostate">>
-			<<set $slaveOrgans.prostate = 1>>
-		<<elseif $organs[_i].type == "pigOvaries">>
-			<<set $slaveOrgans.pigOvaries = 1>>
-		<<elseif $organs[_i].type == "dogOvaries">>
-			<<set $slaveOrgans.dogOvaries = 1>>
-		<<elseif $organs[_i].type == "horseOvaries">>
-			<<set $slaveOrgans.horseOvaries = 1>>
-		<<elseif $organs[_i].type == "cowOvaries">>
-			<<set $slaveOrgans.cowOvaries = 1>>
-		<<elseif $organs[_i].type == "eyes">>
-			<<set $slaveOrgans.eyes = 1>>
-		<<elseif $organs[_i].type == "ears">>
-			<<set $slaveOrgans.ears = 1>>
-		<<elseif $organs[_i].type == "cochleae">>
-			<<set $slaveOrgans.cochleae = 1>>
-		<<elseif $organs[_i].type == "voicebox">>
-			<<set $slaveOrgans.voicebox = 1>>
-		<<elseif $organs[_i].type == "mpreg">>
-			<<set $slaveOrgans.mpreg = 1>>
-		<<elseif $organs[_i].type == "mpregPig">>
-			<<set $slaveOrgans.mpregPig = 1>>
-		<<elseif $organs[_i].type == "mpregDog">>
-			<<set $slaveOrgans.mpregDog = 1>>
-		<<elseif $organs[_i].type == "mpregHorse">>
-			<<set $slaveOrgans.mpregHorse = 1>>
-		<<elseif $organs[_i].type == "mpregCow">>
-			<<set $slaveOrgans.mpregCow = 1>>
-		<<elseif $organs[_i].type == "freshOvaries">>
-			<<set $slaveOrgans.freshOvaries = 1>>
-		<<elseif $organs[_i].type == "asexualReproOvaries">>
-			<<set $slaveOrgans.asexualReproOvaries = 1>>
-		<</if>>
-	<</if>>
-<</for>>
-
-The fabricator is ready to grow an organ for $him. Extract tissue to begin growing:
-<<if $seeDicks != 0 || $makeDicks == 1>>
-	<<if $slaveOrgans.penis != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Penis">>
-			<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "penis", weeksToCompletion: "5", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(5000)>> and will add a prostate if one is not already present//
-	<</if>>
-	<<if $slaveOrgans.testicles != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Testicles">>
-			<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "testicles", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(5000)>> and will add a prostate if one is not already present; requires a penis for successful implantation//
-	<</if>>
-	<<if $slaveOrgans.scrotum != 1>>
-		<<if $activeSlave.scrotum == 0>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Scrotum">>
-				<<run cashX(-2500, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "scrotum", weeksToCompletion: "5", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(2500)>> and requires balls for successful implantation//
-		<</if>>
-	<</if>>
-	<<if $animalTesticles > 0>>
-		<<if $slaveOrgans.pigTesticles != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Pig testicles">>
-				<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "pigTesticles", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
-		<</if>>
-		<<if $slaveOrgans.dogTesticles != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Dog testicles">>
-				<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "dogTesticles", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
-		<</if>>
-		<<if $slaveOrgans.horseTesticles != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Horse testicles">>
-				<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "horseTesticles", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
-		<</if>>
-		<<if $slaveOrgans.cowTesticles != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Cow testicles">>
-				<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "cowTesticles", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
-		<</if>>
-	<</if>>
-	<<if $slaveOrgans.foreskin != 1>>
-		<<if $activeSlave.foreskin <= 0>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Foreskin">>
-				<<run cashX(-2500, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "foreskin", weeksToCompletion: "5", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(2500)>>//
-		<</if>>
-	<</if>>
-<</if>>
-<<if $slaveOrgans.prostate != 1>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	<<link "Prostate">>
-		<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-		<<set _newOrgan = {type: "prostate", weeksToCompletion: "5", ID: 0}>>
-		<<set _newOrgan.ID = $activeSlave.ID>>
-		<<set $organs.push(_newOrgan)>>
-		<<goto "Remote Surgery">>
-	<</link>> //Costs <<print cashFormat(5000)>> and does not require the presence any specific organ for successful implantation//
-<</if>>
-<<if $slaveOrgans.ovaries != 1>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	<<link "Ovaries">>
-		<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-		<<set _newOrgan = {type: "ovaries", weeksToCompletion: "10", ID: 0}>>
-		<<set _newOrgan.ID = $activeSlave.ID>>
-		<<set $organs.push(_newOrgan)>>
-		<<goto "Remote Surgery">>
-	<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
-<</if>>
-<<if $asexualReproduction == 1>>
-	<<if $slaveOrgans.asexualReproOvaries != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Asexual reproduction modification">>
-			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "asexualReproOvaries", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(10000)>> and requires existing ovaries for successful implantation//
-	<</if>>
-<</if>>
-<<if $animalOvaries > 0>>
-	<<if $slaveOrgans.pigOvaries != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Pig ovaries">>
-			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "pigOvaries", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
-	<</if>>
-	<<if $slaveOrgans.dogOvaries != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Dog ovaries">>
-			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "dogOvaries", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
-	<</if>>
-	<<if $slaveOrgans.horseOvaries != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Horse ovaries">>
-			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "horseOvaries", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
-	<</if>>
-	<<if $slaveOrgans.cowOvaries != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Cow ovaries">>
-			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "cowOvaries", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
-	<</if>>
-<</if>>
-<<if $youngerOvaries == 1>>
-	<<if $slaveOrgans.freshOvaries != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Younger Ovaries">>
-			<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "freshOvaries", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(10000)>> and requires a womb for successful implantation//
-	<</if>>
-<</if>>
-<<if $slaveOrgans.eyes != 1>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	<<link "Eyes">>
-		<<run cashX(-10000, "slaveSurgery", $activeSlave)>>
-		<<set _newOrgan = {type: "eyes", weeksToCompletion: "10", ID: 0}>>
-		<<set _newOrgan.ID = $activeSlave.ID>>
-		<<set $organs.push(_newOrgan)>>
-		<<goto "Remote Surgery">>
-	<</link>> //Costs <<print cashFormat(10000)>>, currently eyes can only be implanted in pairs.//
-<</if>>
-<<if $slaveOrgans.ears != 1>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	<<link "Normal Ears">>
-		<<run cashX(-1000, "slaveSurgery", $activeSlave)>>
-		<<set _newOrgan = {type: "ears", weeksToCompletion: "2", ID: 0}>>
-		<<set _newOrgan.ID = $activeSlave.ID>>
-		<<set $organs.push(_newOrgan)>>
-		<<goto "Remote Surgery">>
-	<</link>> //Costs <<print cashFormat(1000)>>//
-<</if>>
-<<if $slaveOrgans.cochleae != 1>>
-	<<if $activeSlave.hears <= -2>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Cochleae">>
-			<<run cashX(-8000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "cochleae", weeksToCompletion: "6", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(8000)>>//
-	<</if>>
-<</if>>
-<<if $slaveOrgans.voicebox != 1>>
-	<<if ($activeSlave.voice == 0)>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Vocal cords">>
-			<<run cashX(-5000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "voicebox", weeksToCompletion: "5", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(5000)>>//
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSGenderRadicalistResearch == 1>>
-	<<if $slaveOrgans.mpreg != 1>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Anal womb and ovaries">>
-			<<run cashX(-20000, "slaveSurgery", $activeSlave)>>
-			<<set _newOrgan = {type: "mpreg", weeksToCompletion: "10", ID: 0}>>
-			<<set _newOrgan.ID = $activeSlave.ID>>
-			<<set $organs.push(_newOrgan)>>
-			<<goto "Remote Surgery">>
-		<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
-	<</if>>
-
-	<<if $animalMpreg > 0>>
-		<<if $slaveOrgans.mpregPig != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Anal pig womb and ovaries">>
-				<<run cashX(-20000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "mpregPig", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
-		<</if>>
-		<<if $slaveOrgans.mpregDog != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Anal dog womb and ovaries">>
-				<<run cashX(-20000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "mpregDog", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
-		<</if>>
-		<<if $slaveOrgans.mpregHorse != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Anal horse womb and ovaries">>
-				<<run cashX(-20000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "mpregHorse", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
-		<</if>>
-		<<if $slaveOrgans.mpregCow != 1>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Anal cow womb and ovaries">>
-				<<run cashX(-20000, "slaveSurgery", $activeSlave)>>
-				<<set _newOrgan = {type: "mpregCow", weeksToCompletion: "10", ID: 0}>>
-				<<set _newOrgan.ID = $activeSlave.ID>>
-				<<set $organs.push(_newOrgan)>>
-				<<goto "Remote Surgery">>
-			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if $organs.length > 0>>
-	<<for _i = 0; _i < $organs.length; _i++>>
-		<<if $organs[_i].ID == $activeSlave.ID>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			$His
-			<<switch $organs[_i].type>>
-			<<case "foreskin" "penis" "prostate" "scrotum" "voicebox">>
-				$organs[_i].type is
-			<<case "cochleae" "ears" "eyes" "ovaries" "testicles">>
-				$organs[_i].type are
-			<<case "pigTesticles">>
-				pig testicles are
-			<<case "dogTesticles">>
-				dog testicles are
-			<<case "horseTesticles">>
-				horse testicles are
-			<<case "cowTesticles">>
-				cow testicles are
-			<<case "freshOvaries">>
-				revitalized ovaries are
-			<<case "pigOvaries">>
-				pig ovaries are
-			<<case "dogOvaries">>
-				dog ovaries are
-			<<case "horseOvaries">>
-				horse ovaries are
-			<<case "cowOvaries">>
-				cow ovaries are
-			<<case "mpreg">>
-				anal womb and ovaries are
-			<<case "mpregPig">>
-				anal womb and pig ovaries are
-			<<case "mpregDog">>
-				anal womb and dog ovaries are
-			<<case "mpregHorse">>
-				anal womb and horse ovaries are
-			<<case "mpregCow">>
-				anal womb and cow ovaries are
-			<<case "asexualReproOvaries">>
-				sperm producing ovary replacement is
-			<</switch>>
-			expected to be ready in <<if $organFarmUpgrade == 1>><<print $organs[_i].weeksToCompletion>><<elseif $organFarmUpgrade == 2>><<print Math.ceil($organs[_i].weeksToCompletion/2)>><<elseif $organFarmUpgrade == 3>><<print Math.ceil($organs[_i].weeksToCompletion/4)>><</if>> weeks.
-		<</if>>
-	<</for>>
-<</if>>
-
-<<if $completedOrgans.length > 0>>
-	<<for _i = 0; _i < $completedOrgans.length; _i++>>
-		<<if $completedOrgans[_i].ID == $activeSlave.ID>>
-			<br>The fabricator has completed $his $completedOrgans[_i].type.
-			<<switch $completedOrgans[_i].type>>
-			<<case "penis">>
-				<<if $activeSlave.dick > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has a penis.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "penis"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "penis"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate == 0>>
-							<<set $activeSlave.prostate = 1>>
-						<</if>>
-						<<set $activeSlave.dick = 2>>
-						<<set $activeSlave.clit = 0>>
-						<<set $activeSlave.foreskin = $activeSlave.dick>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "addDick">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "penis"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "testicles">>
-				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "human">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.balls > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.ballType testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing testicles with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "human">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addTesticles">>
-					<</link>>
-				<<elseif $activeSlave.dick == 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the penis necessary to accept testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "human">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addTesticles">>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate == 0>>
-							<<set $activeSlave.prostate = 1>>
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "human">>
-						<<set $activeSlave.scrotum = 2>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addBalls">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "testicles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "pigTesticles">>
-				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "pig">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.balls > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.ballType testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing testicles with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "pig">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<elseif $activeSlave.dick == 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the penis necessary to accept testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "pig">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 3>>
-						<<set $activeSlave.scrotum = 3>>
-						<<set $activeSlave.ballType = "pig">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "dogTesticles">>
-				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "dog">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.balls > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.ballType testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing testicles with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "dog">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<elseif $activeSlave.dick == 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the penis necessary to accept testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "dog">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "dog">>
-						<<set $activeSlave.scrotum = 2>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-						<<goto "Surgery Degradation">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "horseTesticles">>
-				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "horse">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.balls > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.ballType testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing testicles with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "horse">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<elseif $activeSlave.dick == 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the penis necessary to accept testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "horse">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 3>>
-						<<set $activeSlave.scrotum = 3>>
-						<<set $activeSlave.ballType = "horse">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "cowTesticles">>
-				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "cow">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.balls > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.ballType testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing testicles with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "cow">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<elseif $activeSlave.dick == 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the penis necessary to accept testicles.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
-						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "cow">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.balls = 3>>
-						<<set $activeSlave.scrotum = 3>>
-						<<set $activeSlave.ballType = "cow">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXY == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $potencyAge>>
-									<<set $activeSlave.pubertyXY = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalBalls">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowTesticles"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "scrotum">>
-				<<if $activeSlave.scrotum > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has a scrotum.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "scrotum"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.balls == 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the balls necessary to accept a scrotum.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "scrotum"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Graft on" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "scrotum"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.scrotum = $activeSlave.balls>>
-						<<set $activeSlave.health -= 10>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 10>>
-						<</if>>
-						<<set $surgeryType = "addScrotum">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "scrotum"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "foreskin">>
-				<<if $activeSlave.foreskin > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has a <<if $activeSlave.dick > 0>>foreskin<<else>>clitoral hood<</if>>.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "foreskin"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Graft on" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "foreskin"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.dick > 0>>
-							<<set $activeSlave.foreskin = $activeSlave.dick>>
-						<<elseif $activeSlave.clit > 0>>
-							<<set $activeSlave.foreskin = $activeSlave.clit>>
-						<<else>>
-							<<set $activeSlave.foreskin = 1>>
-						<</if>>
-						<<set $activeSlave.health -= 10>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 10>>
-						<</if>>
-						<<set $surgeryType = "addForeskin">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "foreskin"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "ovaries">>
-				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "human">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.ovaries > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.eggType ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing ovaries with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.eggType = "human">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.human)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addOvaries">>
-					<</link>>
-				<<elseif $activeSlave.vagina < 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the vagina necessary to accept ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.mpreg != 0 || $activeSlave.bellyImplant != -1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave's body cavity is filled with another organ.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.ovaries = 1>>
-						<<set $activeSlave.eggType = "human">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.human)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ovaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "pigOvaries">>
-				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "pig">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.ovaries > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.eggType ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing ovaries with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.eggType = "pig">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.pig)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-				<<elseif $activeSlave.vagina < 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the vagina necessary to accept ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.mpreg != 0 || $activeSlave.bellyImplant != -1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave's body cavity is filled with another organ.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.ovaries = 1>>
-						<<set $activeSlave.eggType = "pig">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.pig)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "pigOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "dogOvaries">>
-				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "dog">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.ovaries > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.eggType ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing ovaries with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.eggType = "dog">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.canineM)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-				<<elseif $activeSlave.vagina < 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the vagina necessary to accept ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.mpreg != 0 || $activeSlave.bellyImplant != -1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave's body cavity is filled with another organ.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.ovaries = 1>>
-						<<set $activeSlave.eggType = "dog">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.canineM)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "horseOvaries">>
-				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "horse">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.ovaries > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.eggType ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing ovaries with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.eggType = "horse">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.equine)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-				<<elseif $activeSlave.vagina < 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the vagina necessary to accept ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.mpreg != 0 || $activeSlave.bellyImplant != -1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave's body cavity is filled with another organ.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.ovaries = 1>>
-						<<set $activeSlave.eggType = "horse">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<set $activeSlave.pregData = clone(setup.pregData.equine)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "cowOvaries">>
-				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "cow">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.ovaries > 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has $activeSlave.eggType ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-					<br>You can replace $his existing ovaries with a new pair.
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.eggType = "cow">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-				<<elseif $activeSlave.vagina < 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks the vagina necessary to accept ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.mpreg != 0 || $activeSlave.bellyImplant != -1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave's body cavity is filled with another organ.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.ovaries = 1>>
-						<<set $activeSlave.eggType = "cow">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "addAnimalOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cowOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "freshOvaries">>
-				<<if ($activeSlave.mpreg == 0 && $activeSlave.ovaries == 0) || $activeSlave.bellyImplant != -1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks a viable womb.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "freshOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.physicalAge >= 70>>
-					ERROR: this slave's body is too old to handle pregnancy.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "freshOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "freshOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.ovaryAge >= 47>>
-							<<set $activeSlave.ovaryAge = 45>>
-						<<else>>
-							<<set $activeSlave.ovaryAge -= 2>> /* It shouldn't matter if this goes negative as it is just a signal for menopause to occur. */
-						<</if>>
-						<<if $activeSlave.preg < 0>>
-							<<set $activeSlave.preg = 0>>
-						<</if>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "freshOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "freshOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "asexualReproOvaries">>
-				<<if ($activeSlave.mpreg == 0 && $activeSlave.ovaries == 0)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave lacks ovaries.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "asexualReproOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "asexualReproOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.preg < 0>>
-							<<set $activeSlave.preg = 0>>
-						<</if>>
-						<<set $activeSlave.eggType = "human">>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $activeSlave.ovaImplant = "asexual">>
-						<<set $surgeryType = "asexualReproOvaries">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "asexualReproOvaries"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "prostate">>
-				<<if $activeSlave.prostate != 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave already has a prostate.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "prostate"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "prostate"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.prostate = 1>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "addProstate">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "prostate"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "eyes">>
-				<<if hasBothCyberneticEyes($activeSlave)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Remove ocular implants and implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "eyes"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<run eyeSurgery($activeSlave, "both", "normal")>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "newEyes">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "eyes"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif getBestVision($activeSlave) === 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "eyes"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<run eyeSurgery($activeSlave, "both", "normal")>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "unblind">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "eyes"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has working eyes.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "eyes"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-
-				<</if>>
-			<<case "ears">>
-				<<if $activeSlave.earShape == "normal" && $activeSlave.earT != "none">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has normal ears.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ears"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<if $activeSlave.earShape == "none">>
-						<<link "Attach" "Surgery Degradation">>
-							<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-							<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ears"; })>>
-							<<if _ofo != -1>>
-								<<set $completedOrgans.deleteAt(_ofo)>>
-							<<else>>
-								@@.red;Organ not found for deletion!@@
-							<</if>>
-							<<set $activeSlave.earShape = "normal">>
-							<<if $activeSlave.hears == -1>>
-								<<set $activeSlave.hears = 0>>
-							<</if>>
-							<<set $activeSlave.health -= 15>>
-							<<if $organFarmUpgrade == 2>>
-								<<set $activeSlave.chem += 20>>
-							<</if>>
-							<<set $surgeryType = "earMinor">>
-						<</link>>
-					<<elseif $activeSlave.earShape != "normal">>
-						<<link "Remove current ears and attach" "Surgery Degradation">>
-							<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-							<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ears"; })>>
-							<<if _ofo != -1>>
-								<<set $completedOrgans.deleteAt(_ofo)>>
-							<<else>>
-								@@.red;Organ not found for deletion!@@
-							<</if>>
-							<<set $activeSlave.earShape = "normal">>
-							<<set $activeSlave.health -= 20>>
-							<<if $organFarmUpgrade == 2>>
-								<<set $activeSlave.chem += 20>>
-							<</if>>
-							<<set $surgeryType = "earMinor">>
-						<</link>>
-					<</if>>
-					|
-					<<if $surgeryUpgrade == 1>>
-						<<if $activeSlave.earT == "none">>
-							<<link "Attach to top of head" "Surgery Degradation">>
-								<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-								<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ears"; })>>
-								<<if _ofo != -1>>
-									<<set $completedOrgans.deleteAt(_ofo)>>
-								<<else>>
-									@@.red;Organ not found for deletion!@@
-								<</if>>
-								<<set $activeSlave.earT = "normal", $activeSlave.earTColor = "hairless">>
-								<<set $activeSlave.health -= 10>>
-								<<if $organFarmUpgrade == 2>>
-									<<set $activeSlave.chem += 20>>
-								<</if>>
-								<<set $surgeryType = "earMinor">>
-							<</link>>
-						<<else>>
-							<<link "Remove current upper ears and attach" "Surgery Degradation">>
-								<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-								<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ears"; })>>
-								<<if _ofo != -1>>
-									<<set $completedOrgans.deleteAt(_ofo)>>
-								<<else>>
-									@@.red;Organ not found for deletion!@@
-								<</if>>
-								<<set $activeSlave.earT = "normal", $activeSlave.earTColor = "hairless">>
-								<<set $activeSlave.health -= 20>>
-								<<if $organFarmUpgrade == 2>>
-									<<set $activeSlave.chem += 20>>
-								<</if>>
-								<<set $surgeryType = "earMinor">>
-							<</link>>
-						<</if>>
-					<<else>>
-						//Upgraded autosurgery required for non-standard grafting//
-					<</if>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "ears"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "cochleae">>
-				<<if $activeSlave.hears > -2 && $activeSlave.earImplant != 1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has working cochleae.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.earImplant == 1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Remove cochlear implants and implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.hears = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "newEars">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.hears = 0>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "undeafen">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "cochleae"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "mpreg">>
-				<<if ($activeSlave.ovaries != 0) || ($activeSlave.vagina > -1) || ($activeSlave.mpreg != 0)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has existing reproductive Organs.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpreg"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.bellyImplant >= 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has a fillable abdominal implant.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpreg"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpreg"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.mpreg = 1>>
-						<<set $activeSlave.eggType = "human">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 40>>
-						<<set $activeSlave.pregData = clone(setup.pregData.human)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "mpreg">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpreg"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "mpregPig">>
-				<<if ($activeSlave.ovaries != 0) || ($activeSlave.vagina > -1) || ($activeSlave.mpreg != 0)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has existing reproductive Organs.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregPig"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.bellyImplant >= 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has a fillable abdominal implant.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregPig"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregPig"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.mpreg = 1>>
-						<<set $activeSlave.eggType = "pig">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 40>>
-						<<set $activeSlave.pregData = clone(setup.pregData.pig)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "mpregPig">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregPig"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "mpregDog">>
-				<<if ($activeSlave.ovaries != 0) || ($activeSlave.vagina > -1) || ($activeSlave.mpreg != 0)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has existing reproductive completedOrgans.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.bellyImplant >= 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has a fillable abdominal implant.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.mpreg = 1>>
-						<<set $activeSlave.eggType = "dog">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 40>>
-						<<set $activeSlave.pregData = clone(setup.pregData.canineM)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "mpregDog">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "mpregHorse">>
-				<<if ($activeSlave.ovaries != 0) || ($activeSlave.vagina > -1) || ($activeSlave.mpreg != 0)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has existing reproductive Organs.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.bellyImplant >= 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has a fillable abdominal implant.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.mpreg = 1>>
-						<<set $activeSlave.eggType = "horse">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 40>>
-						<<set $activeSlave.pregData = clone(setup.pregData.equine)>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "mpregHorse">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "mpregCow">>
-				<<if ($activeSlave.ovaries != 0) || ($activeSlave.vagina > -1) || ($activeSlave.mpreg != 0)>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has existing reproductive Organs.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCow"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.bellyImplant >= 0>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave has a fillable abdominal implant.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCow"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCow"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<set $activeSlave.mpreg = 1>>
-						<<set $activeSlave.eggType = "cow">>
-						<<set $activeSlave.preg = 0>>
-						<<set $activeSlave.health -= 40>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<if $activeSlave.pubertyXX == 0>>
-							<<if $precociousPuberty == 1>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-								<</if>>
-							<<else>>
-								<<if $activeSlave.physicalAge >= $fertilityAge>>
-									<<set $activeSlave.pubertyXX = 1>>
-								<</if>>
-							<</if>>
-						<</if>>
-						<<set $surgeryType = "mpregCow">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCow"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<<case "voicebox">>
-				<<if $activeSlave.voice > 0 && $activeSlave.electrolarynx != 1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					ERROR: this slave is not mute.
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "voicebox"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<elseif $activeSlave.electrolarynx == 1>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Remove electrolarynx and implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "voicebox"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.ovaries == 1 && $activeSlave.hormoneBalance >= 200>>
-							<<set $activeSlave.voice = 3>>
-						<<elseif ($activeSlave.balls > 0) || ($activeSlave.hormoneBalance < -20)>>
-							<<set $activeSlave.voice = 1>>
-						<<else>>
-							<<set $activeSlave.voice = 2>>
-						<</if>>
-						<<set $activeSlave.health -= 20>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 20>>
-						<</if>>
-						<<set $surgeryType = "newVoice">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "voicebox"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<<else>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					<<link "Implant" "Surgery Degradation">>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "voicebox"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-						<<if $activeSlave.ovaries == 1 && $activeSlave.hormoneBalance >= 200>>
-							<<set $activeSlave.voice = 3>>
-						<<elseif ($activeSlave.balls > 0) || ($activeSlave.hormoneBalance < -20)>>
-							<<set $activeSlave.voice = 1>>
-						<<else>>
-							<<set $activeSlave.voice = 2>>
-						<</if>>
-						<<set $activeSlave.health -= 10>>
-						<<if $organFarmUpgrade == 2>>
-							<<set $activeSlave.chem += 10>>
-						<</if>>
-						<<set $surgeryType = "restoreVoice">>
-					<</link>>
-					|
-					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "voicebox"; })>>
-						<<if _ofo != -1>>
-							<<set $completedOrgans.deleteAt(_ofo)>>
-						<<else>>
-							@@.red;Organ not found for deletion!@@
-						<</if>>
-					<</link>>
-				<</if>>
-			<</switch>>
-		<</if>>
-	<</for>> /* for of the $completedOrgans loop */
-<</if>>
diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw
index 853b25a7d4b19d247e7f81197553e29befb38b8e..463533c33a7ef8298f43329fd2f80f2dbf971dff 100644
--- a/src/uncategorized/multiImplant.tw
+++ b/src/uncategorized/multiImplant.tw
@@ -1,1125 +1,192 @@
 :: Multiple Organ Implant [nobr]
 
-You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized remote surgery<<else>>remote surgery<</if>> and start having the slaves with <<if ($completedOrgans.length > 0) && ($adjustProstheticsCompleted > 0)>>organs or prosthetics <<elseif ($completedOrgans.length > 1)>>organs <<elseif ($adjustProstheticsCompleted > 1)>>prosthetics <</if>>that are ready be sent down.
+You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized<</if>> remote surgery and start having the slaves with <<if ($completedOrgans.length > 0) && ($adjustProstheticsCompleted > 0)>>organs or prosthetics <<elseif ($completedOrgans.length > 1)>>organs <<elseif ($adjustProstheticsCompleted > 1)>>prosthetics <</if>>that are ready be sent down.
 
-/* builds a list for each slave and adds the appropriate organs to it */
+<h1>Implant Organs</h1>
+
+<<set _F = App.Medicine.OrganFarm>>
+<<for _i = 0; _i < $slaves.length; _i++>>
+	<<set $activeSlave = $slaves[_i]>>
+	<<set _sortedOrgans = _F.getSortedOrgans($activeSlave)>>
+	<<if _sortedOrgans.length === 0>><<continue>><</if>>
+
+	<h2>$activeSlave.slaveName</h2>
+
+	<<for _k = 0; _k < _sortedOrgans.length; _k++>>
+		<h3><<print _F.Organs[_sortedOrgans[_k]].name>></h3>
+		<<set _actions = _F.Organs[_sortedOrgans[_k]].implantActions>>
+		<<set _manual = false, _success = false, _break = false>>
+		<<for _l = 0; _l < _actions.length; _l++>>
+			<<if !_actions[_l].autoImplant>>
+				<<if _actions[_l].canImplant($activeSlave)>>
+					<<set _manual = true>>
+				<</if>>
+				<<continue>>
+			<</if>>
+			<<if !_actions[_l].canImplant($activeSlave)>>
+				@@.red;ERROR: <<print _actions[_l].implantError($activeSlave)>>@@<br>
+			<<elseif $activeSlave.health - _actions[_l].healthImpact < -75>>
+				Estimated health impact too high, skipping further surgeries.
+				<<set _break = true>>
+				<<break>>
+			<<else>>
+				<<run App.Medicine.OrganFarm.implant($activeSlave, _sortedOrgans[_k], _l)>>
+				<<include "Surgery Degradation">><br><br>
+				<<set _success = true>>
+			<</if>>
+		<</for>>
+		<<if _break>><<break>><</if>>
+		<<if !_success && _manual>>
+			//Cannot implant <<print _F.Organs[_sortedOrgans[_k]].name.toLowerCase()>> automatically, try implanting manually in the remote surgery.//
+		<</if>>
+	<</for>>
+
+	<<set $slaves[_i] = $activeSlave>>
+<</for>>
+
+
+<h1>Implant prosthetics</h1>
+
+/* prosthetics */
 <<for _i = 0; _i < $slaves.length; _i++>>
 	<<set $activeSlave = $slaves[_i]>>
 
 	/* count for estimating health impact */
-	<<set _organCount = $completedOrgans.filter(o => o.ID == $activeSlave.ID).length>>
 	<<set _prostheticCount = $adjustProsthetics.filter(p => p.slaveID == $activeSlave.ID && p.workLeft <= 0).length>>
 
 	/* since we already have count, skip slaves that don't need work */
-	<<if _organCount + _prostheticCount < 1>>
+	<<if _prostheticCount < 1>>
 		<<continue>>
 	<</if>>
 	/*
 	Ensures that a slave can never die during the execution of this passage.
 	Calculation based on worst case, so when changing worst case change it here too.
 	*/
-	<<if $activeSlave.health - (_organCount * 40 + _prostheticCount * 20) < -75>>
+	<<if $activeSlave.health - (_prostheticCount * 20) < -75>>
 		<br><hr>
 		@@.red;Estimated health impact too great; $activeSlave.slaveName skipped.@@
 		<<continue>>
 	<</if>>
 
-	/* start actual work */
-	<<if _organCount > 0>> /* check _organCount */
-	<<setLocalPronouns $activeSlave>>
-	<<set _slaveOrgans = {
-		penis: 0,
-		testicles: 0,
-		scrotum: 0,
-		pigTesticles: 0,
-		canineTesticles: 0,
-		horseTesticles: 0,
-		cowTesticles: 0,
-		foreskin: 0,
-		ovaries: 0,
-		freshOvaries: 0,
-		asexualReproOvaries: 0,
-		prostate: 0,
-		pigOvaries: 0,
-		canineOvaries: 0,
-		horseOvaries: 0,
-		cowOvaries: 0,
-		eyes: 0,
-		ears: 0,
-		cochleae: 0,
-		voicebox: 0,
-		mpreg: 0,
-		mpregPig: 0,
-		mpregCanine: 0,
-		mpregHorse: 0,
-		mpregCow: 0
-		}>>
-	<<for _j = 0; _j < $completedOrgans.length; _j++>>
-		<<if $activeSlave.ID == $completedOrgans[_j].ID>>
-			<<if $completedOrgans[_j].type == "penis">>
-				<<set _slaveOrgans.penis = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "testicles">>
-				<<set _slaveOrgans.testicles = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "scrotum">>
-				<<set _slaveOrgans.scrotum = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "pigTesticles">>
-				<<set _slaveOrgans.pigTesticles = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "canineTesticles">>
-				<<set _slaveOrgans.canineTesticles = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "horseTesticles">>
-				<<set _slaveOrgans.horseTesticles = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "cowTesticles">>
-				<<set _slaveOrgans.cowTesticles = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "foreskin">>
-				<<set _slaveOrgans.foreskin = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "ovaries">>
-				<<set _slaveOrgans.ovaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "freshOvaries">>
-				<<set _slaveOrgans.freshOvaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "asexualReproOvaries">>
-				<<set _slaveOrgans.asexualReproOvaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "prostate">>
-				<<set _slaveOrgans.prostate = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "pigOvaries">>
-				<<set _slaveOrgans.pigOvaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "canineOvaries">>
-				<<set _slaveOrgans.canineOvaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "horseOvaries">>
-				<<set _slaveOrgans.horseOvaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "cowOvaries">>
-				<<set _slaveOrgans.cowOvaries = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "eyes">>
-				<<set _slaveOrgans.eyes = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "ears">>
-				<<set _slaveOrgans.ears = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "cochleae">>
-				<<set _slaveOrgans.cochleae = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "voicebox">>
-				<<set _slaveOrgans.voicebox = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "mpreg">>
-				<<set _slaveOrgans.mpreg = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "mpregPig">>
-				<<set _slaveOrgans.mpregPig = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "mpregCanine">>
-				<<set _slaveOrgans.mpregCanine = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "mpregHorse">>
-				<<set _slaveOrgans.mpregHorse = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "mpregCow">>
-				<<set _slaveOrgans.mpregCow = $completedOrgans[_j]>>
-				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<else>>
-				<br>Error: unrecognized organ.
-			<</if>>
-		<</if>>
-	<</for>>
-	/* read _slaveOrgans and install them when appropriate */
-	/* order here is important, do not change it without good reason */
-	/* eyes */
-	<<if _slaveOrgans.eyes != 0>>
-		<<if !hasAnyCyberneticEyes($activeSlave) && getBestVision($activeSlave) === 0>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<run eyeSurgery($activeSlave, "both", "normal")>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<set $surgeryType = "unblind">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif hasBothCyberneticEyes($activeSlave)>>
-			<br><hr>
-			@@.red;Could not implant eyes on $activeSlave.slaveName: $he has ocular implants installed, visit the remote surgery to install manually.@@
-			<<set $completedOrgans.push(_slaveOrgans.eyes)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant eyes on $activeSlave.slaveName: $he is not blind.@@
-			<<set $completedOrgans.push(_slaveOrgans.eyes)>>
-		<</if>>
-	<</if>>
-	/* ears */
-	<<if _slaveOrgans.ears != 0>>
-		<<if $activeSlave.earShape == "none">>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.earShape = "normal">>
-			<<if $activeSlave.hears == -1>>
-				<<set $activeSlave.hears = 0>>
-			<</if>>
-			<<set $activeSlave.health -= 15>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<set $surgeryType = "earMinor">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant ears on $activeSlave.slaveName: $he already has them. Additional options available under individual surgery.@@
-			<<set $completedOrgans.push(_slaveOrgans.ears)>>
-		<</if>>
-	<</if>>
-	/* cochleae */
-	<<if _slaveOrgans.cochleae != 0>>
-		<<if ($activeSlave.hears == -2) && $activeSlave.earImplant != 1>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.hears = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<set $surgeryType = "undeafen">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.earImplant == 1>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.hears = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<set $surgeryType = "newEars">>
-			<<include "Surgery Degradation">>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant cochleae on $activeSlave.slaveName: $he is not deaf.@@
-			<<set $completedOrgans.push(_slaveOrgans.cochleae)>>
-		<</if>>
-	<</if>>
-	/* voice */
-	<<if _slaveOrgans.voicebox != 0>>
-		<<if ($activeSlave.voice == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<if $activeSlave.ovaries == 1 && $activeSlave.hormoneBalance >= 200>>
-				<<set $activeSlave.voice = 3>>
-			<<elseif ($activeSlave.balls > 0) || ($activeSlave.hormoneBalance < -20)>>
-				<<set $activeSlave.voice = 1>>
-			<<else>>
-				<<set $activeSlave.voice = 2>>
-			<</if>>
-			<<set $activeSlave.health -= 10>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 10>>
-			<</if>>
-			<<set $surgeryType = "restoreVoice">>
-			<br><hr>
-			<<run Enunciate($activeSlave)>>
-			<<include "Surgery Degradation">>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant vocal cords on $activeSlave.slaveName: $he is not mute.@@
-			<<set $completedOrgans.push(_slaveOrgans.voicebox)>>
-		<</if>>
-	<</if>>
-	/* foreskin */
-	<<if _slaveOrgans.foreskin != 0>>
-		<<if ($activeSlave.foreskin == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<if $activeSlave.dick > 0>>
-				<<set $activeSlave.foreskin = $activeSlave.dick>>
-			<<elseif $activeSlave.clit > 0>>
-				<<set $activeSlave.foreskin = $activeSlave.clit>>
-			<<else>>
-				<<set $activeSlave.foreskin = 1>>
-			<</if>>
-			<<set $activeSlave.health -= 10>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 10>>
-			<</if>>
-			<<set $surgeryType = "addForeskin">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant <<if $activeSlave.dick > 0>>foreskin<<else>>clitoral hood<</if>> on $activeSlave.slaveName: $he already has one.@@
-			<<set $completedOrgans.push(_slaveOrgans.foreskin)>>
-		<</if>>
-	<</if>>
-	/* prostate */
-	<<if _slaveOrgans.prostate != 0>>
-		<<if ($activeSlave.prostate == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.prostate = 1>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<set $surgeryType = "addProstate">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant prostate on $activeSlave.slaveName: $he already has a prostate.@@
-			<<set $completedOrgans.push(_slaveOrgans.prostate)>>
-		<</if>>
-	<</if>>
-	/* ovaries */
-	<<if _slaveOrgans.ovaries != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.eggType = "human">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "addOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant ovaries on $activeSlave.slaveName: $he already has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.ovaries)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant ovaries on $activeSlave.slaveName: $he lacks a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.ovaries)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant ovaries on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.ovaries)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant ovaries on $activeSlave.slaveName: $he has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.ovaries)>>
-		<</if>>
-	<</if>>
-	/* asexual reproduction modifiction */
-	<<if _slaveOrgans.asexualReproOvaries != 0>>
-		<<if ($activeSlave.mpreg == 1 || $activeSlave.ovaries == 1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.eggType = "human">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "asexualReproOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant modified ovary in $activeSlave.slaveName: $he has no ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.asexualReproOvaries)>>
-		<</if>>
-	<</if>>
-	/* pig ovaries */
-	<<if _slaveOrgans.pigOvaries != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.eggType = "pig">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant pig ovaries on $activeSlave.slaveName: $he already has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.pigOvaries)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant pig ovaries on $activeSlave.slaveName: $he lacks a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.pigOvaries)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant pig ovaries on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.pigOvaries)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant pig ovaries on $activeSlave.slaveName: $he has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.pigOvaries)>>
-		<</if>>
-	<</if>>
-	/* dog ovaries */
-	<<if _slaveOrgans.canineOvaries != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.eggType = "dog">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: $he already has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: $he lacks a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: $he has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
-		<</if>>
-	<</if>>
-	/* horse ovaries */
-	<<if _slaveOrgans.horseOvaries != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.eggType = "horse">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: $he already has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: $he lacks a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: $he has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
-		<</if>>
-	<</if>>
-	/* cow ovaries */
-	<<if _slaveOrgans.cowOvaries != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.eggType = "cow">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant cow ovaries on $activeSlave.slaveName: $he already has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.cowOvaries)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant cow ovaries on $activeSlave.slaveName: $he lacks a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.cowOvaries)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant cow ovaries on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.cowOvaries)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant cow ovaries on $activeSlave.slaveName: $he has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.cowOvaries)>>
-		<</if>>
-	<</if>>
-	/* male preg */
-	<<if _slaveOrgans.mpreg != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.mpreg = 1>>
-			<<set $activeSlave.eggType = "human">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 40>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "mpreg">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant anal womb on $activeSlave.slaveName: $he has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpreg)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant anal womb on $activeSlave.slaveName: $he has a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpreg)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant anal womb on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpreg)>>
-		<<elseif $activeSlave.mpreg == 1>>
-			<br><hr>
-			@@.red;Could not implant anal womb on $activeSlave.slaveName: $he already has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpreg)>>
-		<</if>>
-	<</if>>
-	/* male pig preg */
-	<<if _slaveOrgans.mpregPig != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.mpreg = 1>>
-			<<set $activeSlave.eggType = "pig">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 40>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "mpregAnimal">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant pig anal womb on $activeSlave.slaveName: $he has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregPig)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant pig anal womb on $activeSlave.slaveName: $he has a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregPig)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant pig anal womb on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregPig)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant pig anal womb on $activeSlave.slaveName: $he already has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregPig)>>
-		<</if>>
-	<</if>>
-	/* male dog preg */
-	<<if _slaveOrgans.mpregCanine != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.mpreg = 1>>
-			<<set $activeSlave.eggType = "dog">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 40>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "mpregAnimal">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: $he has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: $he has a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: $he already has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
-		<</if>>
-	<</if>>
-	/* male horse preg */
-	<<if _slaveOrgans.mpregHorse != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.mpreg = 1>>
-			<<set $activeSlave.eggType = "horse">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 40>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "mpregAnimal">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: $he has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: $he has a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: $he already has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
-		<</if>>
-	<</if>>
-	/* male cow preg */
-	<<if _slaveOrgans.mpregCow != 0>>
-		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.mpreg = 1>>
-			<<set $activeSlave.eggType = "cow">>
-			<<set $activeSlave.preg = 0>>
-			<<set $activeSlave.health -= 40>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "mpregAnimal">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.ovaries == 1>>
-			<br><hr>
-			@@.red;Could not implant cow anal womb on $activeSlave.slaveName: $he has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCow)>>
-		<<elseif $activeSlave.vagina < 0>>
-			<br><hr>
-			@@.red;Could not implant cow anal womb on $activeSlave.slaveName: $he has a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCow)>>
-		<<elseif $activeSlave.bellyImplant >= 0>>
-			<br><hr>
-			@@.red;Could not implant cow anal womb on $activeSlave.slaveName: $he has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCow)>>
-		<<elseif $activeSlave.mpreg != 0>>
-			<br><hr>
-			@@.red;Could not implant cow anal womb on $activeSlave.slaveName: $he already has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregCow)>>
-		<</if>>
-	<</if>>
-	/* ovary renewal */
-	<<if _slaveOrgans.freshOvaries != 0>>
-		<<if (($activeSlave.ovaries == 1) || ($activeSlave.mpreg == 1)) && ($activeSlave.bellyImplant == -1) && ($activeSlave.physicalAge < 60)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<if $activeSlave.ovaryAge >= 47>>
-				<<set $activeSlave.ovaryAge = 45>>
-			<<else>>
-				<<set $activeSlave.ovaryAge -= 2>> /* It shouldn't matter if this goes negative as it is just a signal for menopause to occur. */
-			<</if>>
-			<<if $activeSlave.preg < 0>>
-				<<set $activeSlave.preg = 0>>
-			<</if>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXX == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.physicalAge >= $fertilityAge>>
-						<<set $activeSlave.pubertyXX = 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<set $surgeryType = "freshOvaries">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif ($activeSlave.physicalAge >= 70)>>
-			<br><hr>
-			@@.red;This slave's body is too old to handle pregnancy.@@
-		<<elseif ($activeSlave.mpreg == 0 && $activeSlave.ovaries == 0) || $activeSlave.bellyImplant != -1>>
-			<br><hr>
-			@@.red;This slave lacks a viable womb to accept fertile ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.freshOvaries)>>
-		<</if>>
-	<</if>>
-	/* penis */
-	<<if _slaveOrgans.penis != 0>>
-		<<if $activeSlave.dick == 0>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<if $activeSlave.prostate == 0>>
-				<<set $activeSlave.prostate = 1>>
-			<</if>>
-			<<set $activeSlave.dick = 2>>
-			<<set $activeSlave.clit = 0>>
-			<<set $activeSlave.foreskin = $activeSlave.dick>>
-			<<set $activeSlave.health -= 20>>
-			<<set $surgeryType = "addDick">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<else>>
-			@@.red;Could not implant penis on $activeSlave.slaveName: $he already has a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.penis)>>
-		<</if>>
-	<</if>>
-	/* testicles */
-	<<if _slaveOrgans.testicles != 0>>
-		<<if ($activeSlave.dick >= 1) && ($activeSlave.balls == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<if $activeSlave.prostate == 0>>
-				<<set $activeSlave.prostate = 1>>
-			<</if>>
-			<<set $activeSlave.balls = 2>>
-			<<set $activeSlave.ballType = "human">>
-			<<set $activeSlave.scrotum = 2>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXY == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-					<</if>>
+	<<for _k = 0; _k < $adjustProsthetics.length; _k++>>
+		<<set _p = $adjustProsthetics[_k]>>
+		<<if _p.slaveID == $activeSlave.ID && _p.workLeft <= 0>>
+			<<set $adjustProsthetics.splice(_k, 1), _k-->>
+			<<set addProsthetic($activeSlave, _p.id)>>
+			<br><hr>
+			<<switch _p.id>>
+			<<case "ocular">>
+				<<if getBestVision($activeSlave) === 0>>
+					<<run eyeSurgery($activeSlave, "both", "cybernetic"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
+					<<set $activeSlave.health -= 20, $surgeryType = "ocular implant">>
+					<<include "Surgery Degradation">>
 				<<else>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyXY = 1>>
-					<</if>>
+					//Since $he has working eyes the <<= setup.prosthetics.ocular.name>> will be put into storage.//
 				<</if>>
-			<</if>>
-			<<set $surgeryType = "addBalls">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.dick == 0>>
-			<br><hr>
-			@@.red;Could not implant testicles on $activeSlave.slaveName: $he lacks a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.testicles)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant testicles on $activeSlave.slaveName: $he already has testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.testicles)>>
-		<</if>>
-	<</if>>
-	/* pig testicles */
-	<<if _slaveOrgans.pigTesticles != 0>>
-		<<if ($activeSlave.dick >= 1) && ($activeSlave.balls == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.balls = 3>>
-			<<set $activeSlave.scrotum = 3>>
-			<<set $activeSlave.ballType = "pig">>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXY == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-					<</if>>
+			<<case "cochlear">>
+				<<if $activeSlave.hears != 0>>
+					<<set $activeSlave.earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "cochlear implant">>
+					<<include "Surgery Degradation">>
 				<<else>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyXY = 1>>
-					<</if>>
+					//Since $he has working ears the <<= setup.prosthetics.cochlear.name>> will be put into storage.//
 				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalBalls">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.dick == 0>>
-			<br><hr>
-			@@.red;Could not implant pig testicles on $activeSlave.slaveName: $he lacks a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.pigTesticles)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant pig testicles on $activeSlave.slaveName: $he already has testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.pigTesticles)>>
-		<</if>>
-	<</if>>
-	/* dog testicles */
-	<<if _slaveOrgans.canineTesticles != 0>>
-		<<if ($activeSlave.dick >= 0) && ($activeSlave.balls == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.balls = 2>>
-			<<set $activeSlave.ballType = "dog">>
-			<<set $activeSlave.scrotum = 2>>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXY == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-					<</if>>
+			<<case "electrolarynx">>
+				<<if $activeSlave.voice <= 0>>
+					<<set $activeSlave.electrolarynx = 1, $activeSlave.voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "electrolarynx">>
+					<<include "Surgery Degradation">>
 				<<else>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyXY = 1>>
-					<</if>>
+					//Since $he has a voice the <<= setup.prosthetics.electrolarynx.name>> will be put into storage.//
 				<</if>>
-			<</if>>
-			<br><hr>
-			<<set $surgeryType = "addAnimalBalls">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.dick == 0>>
-			<br><hr>
-			@@.red;Could not implant dog testicles on $activeSlave.slaveName: $he lacks a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.canineTesticles)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant dog testicles on $activeSlave.slaveName: $he already has testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.canineTesticles)>>
-		<</if>>
-	<</if>>
-	/* horse testicles */
-	<<if _slaveOrgans.horseTesticles != 0>>
-		<<if ($activeSlave.dick >= 1) && ($activeSlave.balls == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.balls = 3>>
-			<<set $activeSlave.scrotum = 3>>
-			<<set $activeSlave.ballType = "horse">>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXY == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-					<</if>>
+			<<case "interfaceP1">>
+				<<if hasAnyNaturalLimbs($activeSlave)>>
+					//Since $he has at least one healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
+				<<elseif $activeSlave.PLimb == 2>>
+					//Since $he already has <<= addA(setup.prosthetics.interfaceP2.name)>> installed the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
 				<<else>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyXY = 1>>
-					<</if>>
+					<<set $activeSlave.PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface1">>
+					<<include "Surgery Degradation">>
 				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalBalls">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.dick == 0>>
-			<br><hr>
-			@@.red;Could not implant horse testicles on $activeSlave.slaveName: $he lacks a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.horseTesticles)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant horse testicles on $activeSlave.slaveName: $he already has testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.horseTesticles)>>
-		<</if>>
-	<</if>>
-	/* cow testicles */
-	<<if _slaveOrgans.cowTesticles != 0>>
-		<<if ($activeSlave.dick >= 1) && ($activeSlave.balls == 0)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.balls = 3>>
-			<<set $activeSlave.scrotum = 3>>
-			<<set $activeSlave.ballType = "cow">>
-			<<set $activeSlave.health -= 20>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 20>>
-			<</if>>
-			<<if $activeSlave.pubertyXY == 0>>
-				<<if $precociousPuberty == 1>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
-					<</if>>
+			<<case "interfaceP2">>
+				<<if hasAllNaturalLimbs($activeSlave)>>
+					//Since $he has no amputated limbs the <<= setup.prosthetics.interfaceP2.name>> will be put into storage.//
+				<<elseif $activeSlave.PLimb == 1>>
+					<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 5, $surgeryType = "PLimb interface3">>
+					<<include "Surgery Degradation">>
 				<<else>>
-					<<if $activeSlave.physicalAge >= $potencyAge>>
-						<<set $activeSlave.pubertyXY = 1>>
-					<</if>>
+					<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface2">>
+					<<include "Surgery Degradation">>
 				<</if>>
-			<</if>>
-			<<set $surgeryType = "addAnimalBalls">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.dick == 0>>
-			<br><hr>
-			@@.red;Could not implant cow testicles on $activeSlave.slaveName: $he lacks a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.cowTesticles)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant cow testicles on $activeSlave.slaveName: $he already has testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.cowTesticles)>>
-		<</if>>
-	<</if>>
-	/* scrotum */
-	<<if _slaveOrgans.scrotum != 0>>
-		<<if ($activeSlave.scrotum == 0) && ($activeSlave.balls >= 1)>>
-			<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-			<<set $activeSlave.scrotum = $activeSlave.balls>>
-			<<set $activeSlave.health -= 10>>
-			<<if $organFarmUpgrade == 2>>
-				<<set $activeSlave.chem += 10>>
-			<</if>>
-			<<set $surgeryType = "addScrotum">>
-			<br><hr>
-			<<include "Surgery Degradation">>
-		<<elseif $activeSlave.balls == 0>>
-			<br><hr>
-			@@.red;Could not implant scrotum on $activeSlave.slaveName: $he lacks testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.scrotum)>>
-		<<else>>
-			<br><hr>
-			@@.red;Could not implant scrotum on $activeSlave.slaveName: $he already has a scrotum.@@
-			<<set $completedOrgans.push(_slaveOrgans.scrotum)>>
-		<</if>>
-	<</if>>
-	/* finished checking _slaveOrgans */
-	<</if>> /* check _organCount closed */
-
-	/* start prosthetics */
-	<<if _prostheticCount > 0>>
-		<<for _k = 0; _k < $adjustProsthetics.length; _k++>>
-			<<set _p = $adjustProsthetics[_k]>>
-			<<if _p.slaveID == $activeSlave.ID && _p.workLeft <= 0>>
-				<<set $adjustProsthetics.splice(_k, 1), _k-->>
-				<<set addProsthetic($activeSlave, _p.id)>>
-				<br><hr>
-				<<switch _p.id>>
-				<<case "ocular">>
-					<<if getBestVision($activeSlave) === 0>>
-						<<run eyeSurgery($activeSlave, "both", "cybernetic"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-						<<set $activeSlave.health -= 20, $surgeryType = "ocular implant">>
-						<<include "Surgery Degradation">>
-					<<else>>
-						//Since $he has working eyes the <<= setup.prosthetics.ocular.name>> will be put into storage.//
-					<</if>>
-				<<case "cochlear">>
-					<<if $activeSlave.hears != 0>>
-						<<set $activeSlave.earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "cochlear implant">>
-						<<include "Surgery Degradation">>
-					<<else>>
-						//Since $he has working ears the <<= setup.prosthetics.cochlear.name>> will be put into storage.//
-					<</if>>
-				<<case "electrolarynx">>
-					<<if $activeSlave.voice <= 0>>
-						<<set $activeSlave.electrolarynx = 1, $activeSlave.voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "electrolarynx">>
-						<<include "Surgery Degradation">>
-					<<else>>
-						//Since $he has a voice the <<= setup.prosthetics.electrolarynx.name>> will be put into storage.//
-					<</if>>
-				<<case "interfaceP1">>
-					<<if hasAnyNaturalLimbs($activeSlave)>>
-						//Since $he has at least one healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
-					<<elseif $activeSlave.PLimb == 2>>
-						//Since $he already has <<= addA(setup.prosthetics.interfaceP2.name)>> installed the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
-					<<else>>
-						<<set $activeSlave.PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface1">>
-						<<include "Surgery Degradation">>
-					<</if>>
-				<<case "interfaceP2">>
-					<<if hasAllNaturalLimbs($activeSlave)>>
-						//Since $he has no amputated limbs the <<= setup.prosthetics.interfaceP2.name>> will be put into storage.//
-					<<elseif $activeSlave.PLimb == 1>>
-						<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 5, $surgeryType = "PLimb interface3">>
-						<<include "Surgery Degradation">>
-					<<else>>
-						<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface2">>
-						<<include "Surgery Degradation">>
-					<</if>>
-				<<case "basicL" "sexL" "beautyL" "combatL" "cyberneticL">>
-					<<if $activeSlave.fuckdoll != 0>>
-						//Since a Fuckdoll can't use prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-					<<elseif hasAllNaturalLimbs($activeSlave)>>
-						//Since $he needs an amputated limb to attach prosthetics the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-					<<elseif $activeSlave.PLimb == 0>>
-						//Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+			<<case "basicL" "sexL" "beautyL" "combatL" "cyberneticL">>
+				<<if $activeSlave.fuckdoll != 0>>
+					//Since a Fuckdoll can't use prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+				<<elseif hasAllNaturalLimbs($activeSlave)>>
+					//Since $he needs an amputated limb to attach prosthetics the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+				<<elseif $activeSlave.PLimb == 0>>
+					//Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+				<<else>>
+					<<if _p.id == "basicL">>
+						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 2)>>
+						<<if _change>>
+							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+						<<else>>
+							//Since $he already has more advanced prosthetic limbs attached the <<= setup.prosthetics.basicL.name>> will be put into storage.//
+						<</if>>
+					<<elseif _p.id == "sexL">>
+						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 3)>>
+						<<if _change>>
+							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+						<<else>>
+							//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.sexL.name>> will be put into storage.//
+						<</if>>
+					<<elseif _p.id == "beautyL">>
+						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 4)>>
+						<<if _change>>
+							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+						<<else>>
+							//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.beautyL.name>> will be put into storage.//
+						<</if>>
+					<<elseif _p.id == "combatL">>
+						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 5)>>
+						<<if _change>>
+							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+						<<else>>
+							//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.combatL.name>> will be put into storage.//
+						<</if>>
 					<<else>>
-						<<if _p.id == "basicL">>
+						<<if $activeSlave.PLimb == 2>>
 							<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 2)>>
 							<<if _change>>
 								<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
-							<<else>>
-								//Since $he already has more advanced prosthetic limbs attached the <<= setup.prosthetics.basicL.name>> will be put into storage.//
-							<</if>>
-						<<elseif _p.id == "sexL">>
-							<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 3)>>
-							<<if _change>>
-								<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
-							<<else>>
-								//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.sexL.name>> will be put into storage.//
-							<</if>>
-						<<elseif _p.id == "beautyL">>
-							<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 4)>>
-							<<if _change>>
-								<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
-							<<else>>
-								//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.beautyL.name>> will be put into storage.//
-							<</if>>
-						<<elseif _p.id == "combatL">>
-							<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 5)>>
-							<<if _change>>
-								<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
-							<<else>>
-								//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.combatL.name>> will be put into storage.//
 							<</if>>
 						<<else>>
-							<<if $activeSlave.PLimb == 2>>
-								<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 2)>>
-								<<if _change>>
-									<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
-								<</if>>
-							<<else>>
-								//Since $he must have <<= addA(setup.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= setup.prosthetics.cyberneticL.name>> will be put into storage.//
-							<</if>>
+							//Since $he must have <<= addA(setup.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= setup.prosthetics.cyberneticL.name>> will be put into storage.//
 						<</if>>
 					<</if>>
-				<<case "interfaceTail">>
-					<<set $activeSlave.PTail = 1, $activeSlave.tail = "none", $activeSlave.tailColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "tailInterface">>
-					<<include "Surgery Degradation">>
-				<<case "modT" "sexT" "combatT">>
-					<<if $activeSlave.PTail == 0>>
-						//Since $he must have <<= addA(setup.prosthetics.interfaceTail.name)>> installed to attach tails the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-					<<elseif $activeSlave.tail != "none">>
-						//Since $he currently has a tail attached the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-					<<elseif _p.id == "modT">>
-						//Since installing <<= addA(setup.prosthetics.modT.name)>> is complicated it can't be automated.//
-						/*Reason: there are different designs player can choose from.*/
-					<<elseif _p.id == "combatT">>
-						<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "combat", $activeSlave.tailColor = "jet black">>
-						<<include "Prosthetics Configuration">>
-					<<elseif _p.id == "sexT">>
-						<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "sex", $activeSlave.tailColor = "pink">>
-						<<include "Prosthetics Configuration">>
-					<</if>>
-				<<default>>
-					//Since there is no automated procedure to implant/attach <<= setup.prosthetics[_p.id].name>> it will be put into storage.//
-				<</switch>>
-				<br>
-			<</if>>
-		<</for>>
-	<</if>>
-	/* end prosthetics */
+				<</if>>
+			<<case "interfaceTail">>
+				<<set $activeSlave.PTail = 1, $activeSlave.tail = "none", $activeSlave.tailColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "tailInterface">>
+				<<include "Surgery Degradation">>
+			<<case "modT" "sexT" "combatT">>
+				<<if $activeSlave.PTail == 0>>
+					//Since $he must have <<= addA(setup.prosthetics.interfaceTail.name)>> installed to attach tails the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+				<<elseif $activeSlave.tail != "none">>
+					//Since $he currently has a tail attached the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+				<<elseif _p.id == "modT">>
+					//Since installing <<= addA(setup.prosthetics.modT.name)>> is complicated it can't be automated.//
+					/*Reason: there are different designs player can choose from.*/
+				<<elseif _p.id == "combatT">>
+					<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "combat", $activeSlave.tailColor = "jet black">>
+					<<include "Prosthetics Configuration">>
+				<<elseif _p.id == "sexT">>
+					<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "sex", $activeSlave.tailColor = "pink">>
+					<<include "Prosthetics Configuration">>
+				<</if>>
+			<<default>>
+				//Since there is no automated procedure to implant/attach <<= setup.prosthetics[_p.id].name>> it will be put into storage.//
+			<</switch>>
+			<br>
+		<</if>>
+	<</for>>
 	/* updates the interrogated slave */
 	<<set $slaves[_i] = $activeSlave>>
 <</for>> /* end of the $slaves loop */
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 22ca773d6af76fe5ac6eb2732a80fdce611a1504..8378cd551120c38ca4d53a4496b4170fe5f9b3d4 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -1908,13 +1908,17 @@
 	<</if>>
 </div>
 
-<div class="indent">
-	<<if $organFarmUpgrade >= 1>> /* ORGAN FARM */
-		<<if $activeSlave.indentureRestrictions < 2>>
-			<<include "organFarmOptions">>
-		<</if>>
-	<</if>> /* CLOSES ORGAN FARM */
-</div>
+<<if $organFarmUpgrade >= 1 && $activeSlave.indentureRestrictions < 2>>
+	<h2>Organ Farm</h2>
+	<h3>Grow new organs</h3>
+	<div class="indent">
+		<<print App.Medicine.OrganFarm.growActions($activeSlave, "$activeSlave")>>
+	</div>
+	<h3>Implant organs</h3>
+	<div class="indent">
+		<<print App.Medicine.OrganFarm.implantActions($activeSlave, "$activeSlave")>>
+	</div>
+<</if>>
 
 
 <h3>Perform more extreme surgery:</h3>
diff --git a/src/zz1-last/initOrganFarm.js b/src/zz1-last/initOrganFarm.js
new file mode 100644
index 0000000000000000000000000000000000000000..4c1d2e41d1cc0d82cc1072adf0a1d640af4be26b
--- /dev/null
+++ b/src/zz1-last/initOrganFarm.js
@@ -0,0 +1 @@
+App.Medicine.OrganFarm.init();