diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 0ef827374e4b6fd155dc035e64b9f84024b937d2..fbff5403ce436c8bf4ab492fa411094e61c3822c 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -2152,18 +2152,8 @@ nail type
 
 brand:
 
-brand description
-accepts 0 or string
-
-brandLocation:
-
-brand location
-accepts string
-"back"
-"chest"
-"ankles"
-"wrists"
-"thighs"
+is an object
+keys include any place on a slave body that can recieve a brand, and values are 0 for no brand or a string for the brand.
 
 earPiercing:
 
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index c16046c6b41b0f10093b495dc0195fa1a4dcfd0e..13c12350e3bd448f67bacc2a90f371ebdf3f7a75 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -1344,23 +1344,13 @@ App.Entity.SlaveState = class SlaveState {
 		*/
 		this.nails = 0;
 		/**
-		* has brand
+		* brand
 		*
-		* accepts 0 or string
-		* * 0: no brand
-		* * string: brand description */
-		this.brand = 0;
-		/**
-		* brand location
-		*
-		* accepts string
-		* * "back"
-		* * "chest"
-		* * "ankles"
-		* * "wrists"
-		* * "thighs"
-		* @type {string|number} */
-		this.brandLocation = 0;
+		* Object describing the brands a slave has, key is a string, values are strings or int 0 for no brand at that location.*/
+		this.brand = {
+			penis: 0,
+			neck: "your initials"
+		};
 		/** has pierced ears
 		*
 		* 0: no; 1: yes; 2: heavy */
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 9e31e2231396f6effbf17ff1c4c49e79881c8ce8..5ce4dd696e6b8cc652515535f0f5c8475f55cf76 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -1204,10 +1204,6 @@ window.childCosmeticsDatatypeCleanup = function childCosmeticsDatatypeCleanup(ch
 	if (typeof child.eyewear !== "string") {
 		child.eyewear = "none";
 	}
-	/*child.brand = Math.clamp(+child.brand, 0, 1) || 0;
-	if (typeof child.brandLocation !== "string") {
-		child.brandLocation = 0;
-	}*/
 	if (typeof child.markings !== "string") {
 		child.markings = "none";
 	}
diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js
index a6763f113f8698bbd9993aa33d162afa3995cbd3..bae5911a2eaafe2cdbf4471c3cf5b0e703fbe7cb 100644
--- a/src/js/descriptionWidgets.js
+++ b/src/js/descriptionWidgets.js
@@ -591,7 +591,7 @@ App.Desc.brand = function(slave, surface) {
 	if (State.variables.showBodyMods === 1) {
 		if (surface) {
 			if (slave.brand[surface]) {
-				r += `${slave.brand[surface]} branded into the flesh of ${his} ${surface}. `;
+				r += `${He} has ${slave.brand[surface]} branded into the flesh of ${his} ${surface}. `;
 			}
 			return r;
 		}
diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js
index bf5f75b626c2b2f953b1c1f762b4bde5a5a92bd5..35eba224778ed169e1cd85781dcffa81c47602b3 100644
--- a/src/npc/descriptions/boobs/boobs.js
+++ b/src/npc/descriptions/boobs/boobs.js
@@ -1481,15 +1481,14 @@ App.Desc.boobsExtra = function(slave, pronouns) {
  */
 App.Desc.boobsBrand = function(slave) {
 	if (State.variables.showBodyMods === 1) {
+		let r = ``;
 		if (slave.fuckdoll === 0) {
-			pronouns = pronouns || getPronouns(slave);
-			r = ``;
-			r += App.Desc.brand($activeSlave, "breasts");
-			r += App.Desc.brand($activeSlave, "left breast");
-			r += App.Desc.brand($activeSlave, "right breast");
+			r += App.Desc.brand(slave, "breasts");
+			r += App.Desc.brand(slave, "left breast");
+			r += App.Desc.brand(slave, "right breast");
 		}
+		return r;
 	}
-	return r;
 };
 
 /**
diff --git a/src/npc/uploadSlave.tw b/src/npc/uploadSlave.tw
index 2e8309e14bf7761829001b0198896785a2d9b2d5..59fcb7846912ac642ff0cd5bfb9d38a0af7bd56d 100644
--- a/src/npc/uploadSlave.tw
+++ b/src/npc/uploadSlave.tw
@@ -135,8 +135,15 @@ anusPiercing: $activeSlave.anusPiercing,
 anusTat: "$activeSlave.anusTat",
 makeup: $activeSlave.makeup,
 nails: $activeSlave.nails,
-brand: <<if $activeSlave.brand == 0>>0<<else>>"$activeSlave.brand "<</if>>,
-brandLocation: <<if $activeSlave.brandLocation == 0>>0<<else>>"$activeSlave.brandLocation"<</if>>,
+brand: <<if keySum($activeSlave.brand) == 0>>0,<<else>>
+<<for _brandName, _brand range $activeSlave.brand>>
+    <<if _brand == 0>>
+        <<continue>>
+    <<else>>
+        _brandName: _brand, 
+    <</if>>
+<</for>>
+<</if>>
 earPiercing: $activeSlave.earPiercing,
 nosePiercing: $activeSlave.nosePiercing,
 eyebrowPiercing: $activeSlave.eyebrowPiercing,
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index c3131af56378688ee347359ee16b13a2e4bb8fd2..be86c8f0a3f05d866921a887a98b99165562a01b 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -649,8 +649,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 //Now would be a good time to introduce $him to life in your stable of sex slaves.//
 <br>
 <<link "Brand $him on the _brandTarget">>
-<<set $activeSlave.brand = $brandDesign.primary>>
-<<set $activeSlave.brandLocation = _brandTarget>>
+<<set $activeSlave.brand[_brandTarget] = $brandDesign.primary>>
 <<set $activeSlave.devotion -= 25>>
 <<set $activeSlave.trust -= 30>>
 <<set $activeSlave.health -= 20>>
diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw
index c8bb8ea867f281dda6942057cd1c57bb06b14307..6a288d87b828328e7ae7c67c453c4b44a49be21e 100644
--- a/src/pregmod/widgets/bodyswapWidgets.tw
+++ b/src/pregmod/widgets/bodyswapWidgets.tw
@@ -110,7 +110,6 @@
 <<set $args[0].anusPiercing = $args[1].anusPiercing>>
 <<set $args[0].anusTat = $args[1].anusTat>>
 <<set $args[0].brand = $args[1].brand>>
-<<set $args[0].brandLocation = $args[1].brandLocation>>
 <<set $args[0].nosePiercing = $args[1].nosePiercing>>
 <<set $args[0].eyebrowPiercing = $args[1].eyebrowPiercing>>
 <<set $args[0].navelPiercing = $args[1].navelPiercing>>
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index 8e5e39d572aee4500159d4dd5189d65d6e95ab37..ce51aa58d0d919c1ce5d68f14f3411eba5449142 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -886,13 +886,12 @@ Custom Tats:
 
 Branding:
 <<if $activeSlave.brand != 0>>
-	<<= App.Desc.brand($activeSlave, "penis")>>
 	<br>
 	<<for _brandName, _brand range $activeSlave.brand>>
 		<<if _brand == 0>>
 			<<continue>>
 		<<else>>
-			$His _brandName is marked with _brand
+			$His _brandName is marked with _brand:
 			<<capture _brandName>>
 				<<link "Remove Brand">>
 					<<set $brandApplied = 0>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 2367a539abe5eabe3f1f184edea4d13dbf8cf677..a0ed655c7a89e9527289dc7c6279fe9e40787fb9 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -592,8 +592,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 		<<replace "#introResult">>
 			You tell $him you'll be marking $him as one of your working <<= $girl>>s. $He looks resigned as $he follows you to the body modification studio, and lets you strap $him down with $his _brandTarget bare. $He understands what's coming. You've got $him positioned just right<<if canDoAnal($activeSlave)>>, so your cock slides up $his experienced asshole easily<</if>>. You bring the brand in close so $he can feel the radiated heat, which breaks through even $his jaded exterior and makes $him tighten with fear. When you're close, you apply the brand<<if canDoAnal($activeSlave)>>, making the poor whore cinch $his sphincter down hard in agony, bringing you to climax<</if>>. $He knows you know how to @@.gold;apply pain,@@ now, and $he @@.mediumorchid;learns to dislike you@@ even as $his @@.red;wound@@ heals.
 		<</replace>>
-		<<set $activeSlave.brand = $brandDesign.primary>>
-		<<set $activeSlave.brandLocation = _brandTarget>>
+		<<set $activeSlave.brand[_brandTarget] = $brandDesign.primary>>
 		<<set $activeSlave.devotion -= 5>>
 		<<set $activeSlave.trust -= 10>>
 		<<set $activeSlave.health -= 10>>
@@ -1118,8 +1117,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 			<<= FutureSocieties.Change("Supremacist", -2)>>
 		<</if>>
 	<</replace>>
-	<<set $activeSlave.brand = $brandDesign.primary>>
-	<<set $activeSlave.brandLocation = _brandTarget>>
+	<<set $activeSlave.brand[_brandTarget] = $brandDesign.primary>>
 	<<set $activeSlave.devotion -= 5>>
 	<<set $activeSlave.trust -= 10>>
 	<<set $activeSlave.health -= 10>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index 5a919b82f06bfefdaf19b6d9e8c1e83700c91823..2bdcd8145cebd8b761bf4f2254664ede9279c6e9 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -462,8 +462,9 @@
 <<set $activeSlave.anusPiercing = 0>>
 <<set $activeSlave.anusTat = 0>>
 <<set $activeSlave.bellyAccessory = "none">>
-<<set $activeSlave.brand = 0>>
-<<set $activeSlave.brandLocation = "">>
+<<for _brandName, _brand range $activeSlave.brand>>
+    <<set _brand = 0>>
+<</for>>
 <<set $activeSlave.shouldersTat = 0>>
 <<set $activeSlave.armsTat = 0>>
 <<set $activeSlave.legsTat = 0>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 2911fa14e790f9c57bbfd4ccf96790eb1a7733bb..d0b511a6f6b44a1668059215a73b69d41a7c4d35 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -197,9 +197,7 @@ $He has
 		<<if $activeSlave.hears != -2 && $activeSlave.earImplant != 1>>
 			<<set $activeSlave.hears = -1>>
 		<</if>>
-		<<if $activeSlave.brandLocation == "left ear" || $activeSlave.brandLocation == "right ear" || $activeSlave.brandLocation == "both ear">>
-			<<set $activeSlave.brand = 0>>
-		<</if>>
+		<<set $activeSlave.brand["left ear"] = 0, $activeSlave.brand["right ear"] = 0, $activeSlave.brand["both ear"] = 0>>
 	<<else>>
 		<<if $activeSlave.earShape != "pointy">>
 			| [[Reshape into small elfin ears|Surgery Degradation][$activeSlave.earShape = "pointy", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMinor"]]
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 0b2d34ac880e4e3dd485e52fb4fa4ebb345ca413..bb743a2c97e8f3c556b62c25f8d80d5c5ac04881 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -5895,9 +5895,18 @@
 /* LONG TERM PHYSICAL EFFECTS */
 
 <<if $slaves[$i].fuckdoll == 0>>
-	<<if ($slaves[$i].brand != 0)>>
+	<<if (keySum($slaves[$i].brand) != 0)>>
 		<<if ($slaves[$i].assignment == "serve the public") || ($slaves[$i].assignment == "whore") || ($slaves[$i].assignment == "work in the brothel") || ($slaves[$i].assignment == "serve in the club")>>
-			Since $he is in public, your brand against the $slaves[$i].skin skin of $his $slaves[$i].brandLocation @@.green;slightly increases your reputation@@ as a slaveowner.
+			Since $he is in public, your brand against the $slaves[$i].skin skin of $his
+			<<for _brandName, _brand range $activeSlave.brand>>
+				<<if _brand == 0>>
+					<<continue>>
+				<<else>>
+					_brandName
+					<<break>>
+				<</if>>
+			<</for>>
+			@@.green;slightly increases your reputation@@ as a slaveowner.
 			<<run repX(5, "futureSocieties", $slaves[$i])>>
 			<<switch $slaves[$i].assignment>>
 			<<case "work in the brothel">><<run getSlaveStatisticData($slaves[$i], $facility.brothel).rep += 5>>
diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw
index 70c757960d955439e85a17667437acfe2360836c..d921989da5baccc69c08231b7d2e75a51108853c 100644
--- a/src/uncategorized/sellSlave.tw
+++ b/src/uncategorized/sellSlave.tw
@@ -580,7 +580,7 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 	<</if>>
 <</if>>
 
-<<if $activeSlave.brand != 0>>
+<<if keySum($activeSlave.brand) != 0>>
 	<<if $rep > 10000>>
 		I see $he's branded with your mark; with your stellar reputation, that will make $him appraise better.
 	<<elseif $rep < 5000>>
diff --git a/src/uncategorized/slaveStats.tw b/src/uncategorized/slaveStats.tw
index 0612cff00566b1dc9ff589efa15c4695bfd35e21..2886504111fac52f22a5413d269104a8e3e34b12 100644
--- a/src/uncategorized/slaveStats.tw
+++ b/src/uncategorized/slaveStats.tw
@@ -211,8 +211,14 @@ slaveName: $activeSlave.slaveName	   /* TODO: figure out why this is being inden
 <br>anusTat: $activeSlave.anusTat
 <br>makeup: $activeSlave.makeup
 <br>nails: $activeSlave.nails
-<br>brand: $activeSlave.brand
-<br>brandLocation: $activeSlave.brandLocation
+<br>brand:
+<<for _brandName, _brand range $activeSlave.brand>>
+    <<if _brand == 0>>
+        <<continue>>
+    <<else>>
+        _brandName: _brand, 
+    <</if>>
+<</for>>
 <br>earPiercing: $activeSlave.earPiercing
 <br>nosePiercing: $activeSlave.nosePiercing
 <br>eyebrowPiercing: $activeSlave.eyebrowPiercing
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index f5c1dd65d5bef574f4d8f86322d0f937ea02c17e..fa2052bf483c56d62e9a20d81c536b9bf69bc428 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -15407,9 +15407,7 @@ $He has
 					It has a short length of chain dangling from it.
 				<</if>>
 			<</if>>
-			<<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>>
-				$His fake belly has $activeSlave.brand branded on it.
-			<</if>>
+			<<= App.Desc.brand($activeSlave, "belly")>>
 		<</if>>
 	<<else>>
 		<<if $showBodyMods == 1>>
@@ -15484,9 +15482,7 @@ $He has
 			<<elseif $activeSlave.abortionTat == 0 && $activeSlave.birthsTat == -1 && $activeSlave.pregKnown == 1>>
 				$He has a single baby-shaped temporary tattoo adorning $his stomach.
 			<</if>>
-			<<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>>
-				$He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation.
-			<</if>>
+			<<= App.Desc.brand($activeSlave, "belly")>>
 		<</if>>
 		<<if $activeSlave.breedingMark == 1>>
 			<<if $propOutcome == 1>>
@@ -18467,13 +18463,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies;
 	<<elseif $activeSlave.abortionTat == 0 && $activeSlave.birthsTat == -1 && $activeSlave.pregKnown == 1>>
 		$He has a single baby-shaped temporary tattoo adorning $his stomach.
 	<</if>>
-	<<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>>
-		$He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation.
-	<</if>>
-
-	<<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>>
-		$He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation.
-	<</if>>
+	<<= App.Desc.brand($activeSlave, "belly")>>
 
 	<<if $activeSlave.breedingMark == 1>>
 		<<if $propOutcome == 1>>
@@ -19553,9 +19543,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies;
 	<</if>>
 <</if>>
 
-<<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>>
-	$He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation.
-<</if>>
+<<= App.Desc.brand($activeSlave, "belly")>>
 
 <<if $activeSlave.breedingMark == 1>>
 	<<if $propOutcome == 1>>