diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index 4d1085722bffb5a89155710e88697cb19332a98b..cd3a265ea646be37fde49e615e5d7ecd7911372e 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -21,6 +21,123 @@ App.UI.SlaveInteract.placeInLine = function(slave) {
 	return [ slaveList[prevIndex].ID, slaveList[nextIndex].ID ];
 };
 
+App.UI.SlaveInteract.modify = function(slave) {
+	/** @type {App.Entity.SlaveState} */
+	const {he, his} = getPronouns(slave);
+	let el = new DocumentFragment();
+	let p;
+	let div;
+	let note;
+
+	if (["be your agent", "live with your agent"].includes(slave.assignment)) {
+		p = document.createElement('p');
+		p.className = "scene-intro";
+		p.textContent = "Recall your agent to modify them.";
+		el.append(p);
+	} else {
+		p = document.createElement('p');
+		p.className = "scene-intro";
+		p.textContent = "Take slave to another room.";
+		el.append(p);
+
+		// Salon
+		div = document.createElement('div');
+		div.appendChild(
+			App.UI.DOM.link(
+				"Auto salon",
+				() => {
+					V.activeSlave = slave,
+					V.degradation = 0,
+					V.primaryHairColor = "",
+					V.secondaryHairColor = "",
+					V.primaryEarColor = "",
+					V.secondaryEarColor = "",
+					V.primaryTailColor = "",
+					V.secondaryTailColor = "",
+					V.artificialEyeColor = "",
+					V.artificialEyeShape = "",
+					V.artificialEyeFill = "",
+					V.tattooChoice = "",
+					V.piercingLevel = "";
+				},
+				[],
+				"Salon"
+			)
+		);
+		note = document.createElement('span');
+		note.className="note";
+		note.textContent = ` Modify hair (color, length, style), nails, and even skin color.`;
+
+		div.append(note);
+		el.append(div);
+
+		// Body Mod
+		div = document.createElement('div');
+		div.appendChild(
+			App.UI.DOM.link(
+				"Body mod studio",
+				() => {
+					V.activeSlave = slave,
+					V.degradation = 0,
+					V.tattooChoice = undefined;
+				},
+				[],
+				"Body Modification"
+			)
+		);
+		note = document.createElement('span');
+		note.className="note";
+		note.textContent = ` Mark your slave with piercings, tattoos, brands or even scars.`;
+
+		div.append(note);
+		el.append(div);
+
+		// Surgery
+		div = document.createElement('div');
+		div.appendChild(
+			App.UI.DOM.link(
+				"Remote surgery",
+				() => {
+					V.activeSlave = slave,
+					V.degradation = 0,
+					V.tattooChoice = undefined;
+				},
+				[],
+				"Remote Surgery"
+			)
+		);
+		note = document.createElement('span');
+		note.className="note";
+		note.textContent = ` Surgically modify your slave with state of the art plastic surgery and more. Alter ${his} senses, skeletal structure, organs, and even more.`;
+
+		div.append(note);
+		el.append(div);
+
+		// Prosthetics
+		if (V.prostheticsUpgrade > 0) {
+			div = document.createElement('div');
+			div.appendChild(
+				App.UI.DOM.link(
+					"Configure cybernetics",
+					() => {
+						V.activeSlave = slave,
+						V.prostheticsConfig = "main";
+					},
+					[],
+					"Prosthetics Configuration"
+				)
+			);
+			note = document.createElement('span');
+			note.className="note";
+			note.textContent = ` Configure prosthetics, if ${he} has been surgically implanted with interfaces that support it.`;
+
+			div.append(note);
+			el.append(div);
+		}
+	}
+	return el;
+};
+
 App.UI.SlaveInteract.fucktoyPref = function(slave) {
 	/** @type {App.Entity.SlaveState} */
 	const {his} = getPronouns(slave);
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 63e5021c4f82b50a82cbaf0234c886a6dee78bc7..94563e1648293ab8a1089e530db378682f18de42 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -142,46 +142,10 @@
 
 <div id="Modify" class="tabcontent">
 	<div class="content">
-		<p>
-			<<if ["be your agent", "live with your agent"].includes(getSlave($AS).assignment)>>
-				<p class="scene-intro">
-					Recall your agent to modify them.
-				</p>
-			<<else>>
-				<p class="scene-intro">
-					Take slave to another room.
-				</p>
-
-				<div>
-					[[Auto salon|Salon][$activeSlave = getSlave($AS), $degradation = 0,$primaryHairColor = "",$secondaryHairColor = "",$primaryEarColor = "",$secondaryEarColor = "",$primaryTailColor = "",$secondaryTailColor = "",$artificialEyeColor = "",$artificialEyeShape = "",$artificialEyeFill = "",$tattooChoice = "",$piercingLevel = ""]]
-					<span class="note">
-						Modify hair (color, length, style), nails, and even skin color.
-					</span>
-				</div>
-
-				<div>
-					[[Body mod studio|Body Modification][$activeSlave = getSlave($AS), $degradation = 0, $tattooChoice = undefined]]
-					<span class="note">
-						Mark your slave with piercings, tattoos, brands or even scars.
-					</span>
-				</div>
-
-				<div>
-					[[Remote surgery|Remote Surgery][$activeSlave = getSlave($AS), $degradation = 0]]
-					<span class="note">
-						Surgically modify your slave with state of the art plastic surgery and more. Alter $his senses, skeletal structure, organs, and even more.
-					</span>
-				</div>
-				<<if $prostheticsUpgrade > 0>>
-					<div>
-						[[Configure cybernetics|Prosthetics Configuration][$activeSlave = getSlave($AS), $prostheticsConfig = "main"]]
-						<span class="note">
-							Configure prosthetics, for slaves that have been surgically implanted with bases that support it.
-						</span>
-					</div>
-				<</if>>
-			<</if>>
-		</p>
+		<p id="modifySection"></p>
+		<script>
+			jQuery('#modifySection').empty().append(App.UI.SlaveInteract.modify(getSlave(V.AS)))
+		</script>
 	</div>
 </div>