diff --git a/src/js/slaveGenerationJS.js b/src/js/slaveGenerationJS.js
index 053ec95d862cf7fe2910c73281eed4a1498dd486..6cd4ed3ccd159115ba36fe5f141c7748b69dc338 100644
--- a/src/js/slaveGenerationJS.js
+++ b/src/js/slaveGenerationJS.js
@@ -1500,6 +1500,7 @@ window.BaseSlave = function BaseSlave() {
 		hears: 0,
 		earwear: "none",
 		earImplant: 0,
+		earShape: "normal",
 		origHColor: "brown",
 		hColor: "brown",
 		pubicHColor: "brown",
diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw
index affe70a34735ef0319c01aba4475416124ab90f4..612aee850961b571a69370547bd3ee0924e18821 100644
--- a/src/pregmod/widgets/bodyswapWidgets.tw
+++ b/src/pregmod/widgets/bodyswapWidgets.tw
@@ -71,6 +71,7 @@
 <<set $args[0].hears = $args[1].hears>>
 <<set $args[0].earwear = $args[1].earwear>>
 <<set $args[0].earImplant = $args[1].earImplant>>
+<<set $args[0].earShape = $args[1].earShape>>
 <<set $args[0].origHColor = $args[1].origHColor>>
 <<set $args[0].hColor = $args[1].hColor>>
 <<set $args[0].hLength = $args[1].hLength>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 6e9ce3369a62cf341f9f3dbf7ba0abf92ab7d350..c767be12592376fe84442e92a03ae78fe89ab867 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -15,6 +15,10 @@
 
 <<set WombInit($args[0])>>
 
+
+<<if ndef $args[0].earShape>>
+	<<set $args[0].earShape = "normal">>
+<</if>>
 <<if ndef $args[0].missingEyes>>
 	<<if $args[0].eyes == -3>>
 		<<set $args[0].missingEyes = 3>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 0fc88c4008a7d316f0562d0a890ab32133aa8909..94b3f45d306c1645193a7c6e7799852e05a45d1b 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -61,8 +61,7 @@
 	<<unset $basenationalities>>
 <</if>>
 
-
-<<set $marrying = []>>			/* TODO: not sure where to put this */
+<<set $marrying = []>>
 <<if ndef $weddingPlanned>>
 	<<set $weddingPlanned = 0>>
 <</if>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 71117e65cd8415b5c54b2c53c3b4ce8f16327241..5293968c479c9d5a005fa774274ea1e8ece72f4b 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -155,6 +155,17 @@ $His $activeSlave.faceShape face is
 	<</if>>
 <</if>>
 
+<</if>>
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;
+	$He has 
+<<if $activeSlave.earShape == "normal">>
+	normal shaped ears.
+	[[Elongate ears|Surgery Degradation][$activeSlave.earShape = "elfin", cashX(forceNeg($surgeryCost), "slaveSurgery"), $activeSlave.health -= 10, $surgeryType = "earShape"]]
+<<elseif $activeSlave.earShape == "elfin">>
+	elfin shaped ears.
+	[[Purge ears|Surgery Degradation][$activeSlave.earShape = "normal", cashX(forceNeg($surgeryCost), "slaveSurgery"), $activeSlave.health -= 10, $surgeryType = "earShape"]]
+<</if>>
+
 <<if $activeSlave.earImplant == 1>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	$He has cochlear implants.
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 3b0bbbd3113383bd3b3ceaf6c7942e72e17d2490..e2ffcddeee079ca8dc0c0686ebe4ee317d48029a 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -416,7 +416,7 @@ As the remote surgery's long recovery cycle completes,
 	<</if>>
 	<<set $activeSlave.hears = 0>>
 
-<<case "newEars">>
+<<case "earShape">>
 	The implant surgery is @@.red;invasive@@ and $he spends some time in the autosurgery recovering. As soon as the bandages around $his ears are removed, $he initially believes nothing has changed, but soon discovers $his hearing is no longer technologically enhanced.
 
 <<case "boobs">>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index ce769c0499d381b1110bac6d781582c4e422a0d9..443f82c5caf2269f4ce3986dc76dfcecaf403c2a 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -5321,6 +5321,9 @@ $He's got a
 
 <<widget "earDescription">>
 /* ear shape description here */
+<<if $activeSlave.earShape == "elfin">>
+	$His $activeSlave.earShape ears are <<print either("elongated, ending in pointed tips that might wiggle when "+$he+"'s particularly pleased with something.", "long and thin, tapering to a point.", " leaf-shaped, and twitch with the slightest touch.")>>
+<</if>>
 <<if $activeSlave.hears < 0>>
 	<<if $activeSlave.hears == -1>>
 		$His hearing is noticeably impaired,