diff --git a/src/interaction/cyberConfig.tw b/src/interaction/cyberConfig.tw
index 4947cc921ff0e66bd554c0ba48a9f0d94c8bf31b..73d5523cce7be010b4f3190e5de4624ca588eff0 100644
--- a/src/interaction/cyberConfig.tw
+++ b/src/interaction/cyberConfig.tw
@@ -146,24 +146,24 @@ This room is lined with shelves and cabinets, it could be easily mistaken for a
 	<<else>>
 		/*TODO save .legsTat and .armsTat / link them to prosthetic*/
 		<<if $activeSlave.amp != -1 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "basicL"})>>
-			[[Attach <<print setup.prosthetics.basicL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "basicPLimbs"]]
+			[[Attach <<= setup.prosthetics.basicL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "basicPLimbs"]]
 			<br>
 		<</if>>
 		<<if $activeSlave.amp != -2 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "sexL"})>>
-			[[Attach <<print setup.prosthetics.sexL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "sexPLimbs"]]
+			[[Attach <<= setup.prosthetics.sexL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "sexPLimbs"]]
 			<br>
 		<</if>>
 		<<if $activeSlave.amp != -3 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "beauty"})>>
-			[[Attach <<print setup.prosthetics.beautyL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "beautyPLimbs"]]
+			[[Attach <<= setup.prosthetics.beautyL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "beautyPLimbs"]]
 			<br>
 		<</if>>
 		<<if $activeSlave.amp != -4 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "combatL"})>>
-			[[Attach <<print setup.prosthetics.combatL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "combatPLimbs"]]
+			[[Attach <<= setup.prosthetics.combatL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "combatPLimbs"]]
 			<br>
 		<</if>>
 		<<if $activeSlave.amp != -5 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "cyberneticL"})>>
 			<<if $activeSlave.amp == 2>>
-				[[Attach <<print setup.prosthetics.basicL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "cyberPLimbs"]]
+				[[Attach <<= setup.prosthetics.basicL.name>>|Prosthetics][$activeSlave.amp = -1, $prostheticsConfig = "cyberPLimbs"]]
 			<<else>>
 				// $He must have an advanced prosthetic interface installed to attach cybernetic limbs. //
 			<</if>>
@@ -228,47 +228,39 @@ This room is lined with shelves and cabinets, it could be easily mistaken for a
 	| [[Bovine|Prosthetics][$activeSlave.tailShape = "ushi",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 <</if>>
 
+<<if $activeSlave.readyProsthetics.length > 0>>
+	<br><br>
+	These prosthetics are in storage or already equipped by $him:<br>
+	<<for _p range $activeSlave>>
+		setup.prosthetics[_p.id].name <br>
+	<</for>>
+<</if>>
+
 <br><br>
 Fit prosthetics to this slave:
 <<for _p range setup.prostheticIDs>>
 	<<if _p != "erectile">> /* exclude erectile implant */
-	<<if $adjustProsthetics.findIndex(function(p) {return p.id == _p && p.slaveID == $activeSlave.ID}) == -1 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == _p}) == -1 && setup.prosthetics[_p].level <= $prostheticsUpgrade>>
+	<<if $adjustProsthetics.findIndex(function(p) {return p.id == _p && p.slaveID == $activeSlave.ID}) != -1>><br>
+		//<<= setup.prosthetics[_p].name>> already being fitted to this slave.//
+	<<elseif setup.prosthetics[_p].level > $prostheticsUpgrade>><br>
+		//You need better contracts to buy <<= setup.prosthetics[_p].name>>.//
+	<<elseif $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == _p}) == -1>>
 	<br>
 	<<capture _p>>
 	<<if $prosthetics[_p].amount > 0>>
-		<<link "Fit a <<print addA(setup.prosthetics[_p].name)>> from storage to this slave" "Prosthetics">>
+		<<link "Fit <<= addA(setup.prosthetics[_p].name)>> from storage to this slave" "Prosthetics">>
 			<<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: $activeSlave.ID}), $prosthetics[_p].amount -= 1>>
 		<</link>>
 	<<else>>
-		<<link "Buy and fit <<print addA(setup.prosthetics[_p].name)>> to this slave" "Prosthetics">>
+		<<link "Buy and fit <<= addA(setup.prosthetics[_p].name)>> to this slave" "Prosthetics">>
 			<<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: $activeSlave.ID}), cashX(forceNeg(setup.prosthetics[_p].costs), "slaveMod", $activeSlave)>>
-			//Costs <<print cashFormat(setup.prosthetics[_p].costs)>>.//
+			//Costs <<= cashFormat(setup.prosthetics[_p].costs)>>.//
 		<</link>>
 	<</if>>
 	<</capture>>
 	<</if>>
 	<</if>>
 <</for>>
-/*
-<<for _i = 0; _i < $prosthetics.length; _i++>>
-	<<if _i != setup.prostheticIDs.erectile>> /* exclude erectile implant */
-/*	<<if $adjustProsthetics.findIndex(function(p) {return p.id == _i && p.slaveID == $activeSlave.ID}) == -1 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == _i}) == -1>>
-	<br>
-	<<capture _i>>
-	<<if $prosthetics[_i].amount > 0>>
-		<<link "Fit a <<print addA(setup.prosthetics[_i].name)>> from storage to this slave" "Prosthetics">>
-			<<set $adjustProsthetics.push({id: _i, workLeft: setup.prosthetics[_i].adjust, slaveID: $activeSlave.ID}), $prosthetics[_i].amount -= 1>>
-		<</link>>
-	<<else>>
-		<<link "Buy and fit <<print addA(setup.prosthetics[_i].name)>> to this slave" "Prosthetics">>
-			<<set $adjustProsthetics.push({id: _i, workLeft: setup.prosthetics[_i].adjust, slaveID: $activeSlave.ID}), cashX(forceNeg(setup.prosthetics[_i].costs), "slaveMod", $activeSlave)>>
-			//Costs <<print cashFormat(setup.prosthetics[_i].costs)>>.//
-		<</link>>
-	<</if>>
-	<</capture>>
-	<</if>>
-	<</if>>
-<</for>>*/
 
 /* base screen END */
 
diff --git a/src/interaction/researchLab.tw b/src/interaction/researchLab.tw
index 95e8583d47fab259854b0e34d7132dfdb2cdd64c..f607c09d7ec0484aa325f9f982725f8517f1f38b 100644
--- a/src/interaction/researchLab.tw
+++ b/src/interaction/researchLab.tw
@@ -161,14 +161,14 @@ __Research__
 Available research projects:<br>
 <<for _p range setup.prostheticIDs>>
 	<<if $prosthetics[_p].research == 0>>
-		<<if _p != setup.prostheticIDs.erectile>> /*excludes erectile*/
-		<<if setup.prosthetics[_p].level <= prostheticsUpgrade>>
+		<<if _p != "erectile">> /*excludes erectile*/
+		<<if setup.prosthetics[_p].level <= $prostheticsUpgrade>>
 			<<capture _i>>
 			<<link "Reverse engineer <<print setup.prosthetics[_p].name>>" "Research Lab">>
 				<<set cashX(forceNeg(setup.prosthetics[_p].costs), "lab"), $prosthetics[_p].research = -1, $researchLab.tasks.push({type: "research", id: _p, workLeft: setup.prosthetics[_p].research})>>
 			<</link>>
 			<</capture>>
-				//Costs <<print cashFormat(setup.prosthetics[_i].costs)>> of initial investment.//
+				//Costs <<print cashFormat(setup.prosthetics[_p].costs)>> of initial investment.//
 		<<else>>
 			//You need better contracts to get the needed research material before you can research advanced technologies.//
 		<</if>>
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index 18a5005afd3d1bdf740a65cf1940f8bb1ebb9a03..eb610688f3481fe0181443a5383991734dd0866d 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -1036,21 +1036,26 @@ window.induceLactation = /** @param {App.Entity.SlaveState} slave */ function in
 
 window.ResearchLabStockPile = function() {
 	const V = State.variables;
-	return `__Stockpile__
-	Prosthetics interfaces: ${num(V.stockpile.basicPLimbInterface + V.stockpile.advPLimbInterface)}
-	&nbsp;Basic : $stockpile.basicPLimbInterface
-	&nbsp;Advanced: $stockpile.advPLimbInterface
-	Limbs: ${num(V.stockpile.basicPLimb + V.stockpile.advSexPLimb + V.stockpile.advGracePLimb + V.stockpile.advCombatPLimb + V.stockpile.cyberneticPLimb)}
-	&nbsp;Basic: $stockpile.basicPLimb
-	&nbsp;Sex: $stockpile.advSexPLimb
-	&nbsp;Beauty: $stockpile.advGracePLimb
-	&nbsp;Combat: $stockpile.advCombatPLimb
-	&nbsp;Cybernetic: $stockpile.cyberneticPLimb
-	Implants: ${num(V.stockpile.ocularImplant + V.stockpile.cochlearImplant + V.stockpile.erectileImplant)}
-	&nbsp;Ocular: $stockpile.ocularImplant
-	&nbsp;Cochlear: $stockpile.cochlearImplant
-	//&nbsp;Erectile: $stockpile.erectileImplant//
-	Electrolarynx: $stockpile.electrolarynx`;
+	return `__Prosthetics__
+	Prosthetics interfaces: ${num(V.prosthetics.interfaceP1.amount + V.prosthetics.interfaceP2.amount)}
+	&nbsp;Basic: $prosthetics.interfaceP1.amount
+	&nbsp;Advanced: $prosthetics.interfaceP2.amount
+	Limbs: ${num(V.prosthetics.basicL.amount + V.prosthetics.sexL.amount + V.prosthetics.beautyL.amount + V.prosthetics.combatL.amount + V.prosthetics.cyberneticL.amount)}
+	&nbsp;Basic: $prosthetics.basicL.amount
+	&nbsp;Sex: $prosthetics.sexL.amount
+	&nbsp;Beauty: $prosthetics.beautyL.amount
+	&nbsp;Combat: $prosthetics.combatL.amount
+	&nbsp;Cybernetic: $prosthetics.cyberneticL.amount
+	Implants: ${num(V.prosthetics.ocular.amount + V.prosthetics.cochlear.amount + V.prosthetics.electrolarynx.amount)}
+	&nbsp;Ocular: $prosthetics.ocular.amount
+	&nbsp;Cochlear: $prosthetics.cochlear.amount
+	//&nbsp;Erectile: $prosthetics.erectile.amount//
+	&nbsp;Electrolarynx: $prosthetics.electrolarynx.amount
+	Tail interface: $prosthetics.interfaceTail.amount
+	Tails: ${num(V.prosthetics.modT.amount + V.prosthetics.sexT.amount + V.prosthetics.combatT.amount)}
+	&nbsp;Modular: $prosthetics.modT.amount
+	&nbsp;Pleasure: $prosthetics.sexT.amount
+	&nbsp;Combat: $prosthetics.combatT.amount`;
 };
 
 window.originPronounReplace = /** @param {App.Entity.SlaveState} slave */ function(slave) {
diff --git a/src/uncategorized/buildingWidgets.tw b/src/uncategorized/buildingWidgets.tw
index 742a0b9a034fa3441509d2ec78fed79c266fb1ca..1dcb4df1235a19dda265790bdd09d8d4bf8cad54 100644
--- a/src/uncategorized/buildingWidgets.tw
+++ b/src/uncategorized/buildingWidgets.tw
@@ -149,7 +149,7 @@ if(!Macro.has('sectorblock')) {
 				<<if $schoolroom>> <<print SchoolRoomUIName()>> ($schoolroomSlaves/$schoolroom<<if $Schoolteacher>>, L<</if>>)<</if>>
 				<<if $cellblock>> <<print CellblockUIName()>> ($cellblockSlaves/$cellblock<<if $Wardeness>>, L<</if>>)<</if>>
 				<<if $incubator>> <<print IncubatorUIName()>> (<<if $incubator-$incubatorSlaves == 0>>No empty tanks<<elseif $incubator-$incubatorSlaves == 1>>1 empty tank<<else>><<print $incubator-$incubatorSlaves>> empty tanks<</if>>)<</if>>
-				<<if $researchLab.level > 0>>[[Research Lab][]<</if>>
+				<<if $researchLab.level > 0>>[[Research Lab]]<</if>>
 			<</if>>
 		</td>
 		<td colspan="3"></td>
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index d1eec0d4089a6bf0ac12ab079f79aff513fd8c9f..f005557689eeb6edb69114d8ccdaa585dec299d2 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -614,7 +614,7 @@
 		<</if>>
 		<</if>>
 		<<if $researchLab.level > 0>>
-			<br>[[Manage Research Lab|Research Lab][]]
+			<br>[[Manage Research Lab|Research Lab]]
 		<</if>>
 		<<if $SF.Toggle && $SF.Active >= 1>>
 			<br><span id="SFMButton"> <<link "$SF.Caps's firebase""Firebase">><</link>> </span> @@.cyan;[Z]@@
@@ -708,7 +708,7 @@
 	<</if>>
 	<</if>>
 	<<if $researchLab.level > 0>>
-	<br>[[Manage Research Lab|Research Lab][]]
+	<br>[[Manage Research Lab|Research Lab]]
 	<</if>>
 	<<if $SF.Toggle && $SF.Active >= 1>>
 	<br><span id="SFMButton"> <<link "$SF.Caps's firebase""Firebase">><</link>> </span> @@.cyan;[Z]@@