diff --git a/src/js/nurseryWidgets.js b/src/js/nurseryWidgets.js
index 19096b2862c3d52a38ad65f2460bad62fa10cfca..9be94fb8cac05443c305ab14aa0dcce882474018 100644
--- a/src/js/nurseryWidgets.js
+++ b/src/js/nurseryWidgets.js
@@ -209,7 +209,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 				r += `However, <span class="coral">${his} mind is fundamentally broken;</span> everything ${he} experiences will quickly be forgotten. `;
 			}
 
-			// App.Desc.fetish(child);	TODO:
+			// r += App.Desc.fetish(child);	TODO:
 
 			switch (child.behavioralFlaw) {
 				case "arrogant":
@@ -764,5 +764,443 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 		r += `<br>&nbsp;&nbsp;&nbsp;&nbsp; `;
 	};
 
+	if (child.prestige > 0) {	// TODO: child objects do not have prestige properties
+		if (child.prestigeDesc) {
+			r += `${child.prestigeDesc} `;
+		}
+		if (child.prestige > 2) {
+			r += `It is extremely prestigious to own ${him}. `;
+		} else if (child.prestige > 1) {
+			r += `It is quite prestigious to own ${him}. `;
+		} else {
+			r += `It is fairly prestigious to own ${him}. `;
+		}
+	}
+
+	if (child.pornPrestige > 0) {
+		if (child.pornPrestigeDesc) {
+			r += `${child.pornPrestigeDesc} `;
+		}
+	}
+	if (child.pornPrestige > 2) {
+		r += `As such, ${he} tends to gain a following wherever ${he} goes. `;
+	} else if (child.pornPrestige > 1) {
+		r += `As such, ${he} is recognized often. `;
+	} else {
+		r += `As such, ${he} is recognized occasionally. `;
+	}
+
+	if (child.prestige > 0 || child.pornPrestige > 1) {
+		if (child.markings === "birthmark") {
+			r += `${He} has a large, liver-colored birthmark, but since ${he}'s well known, this uniqueness adds to ${his} beauty rather than detracting from it. `;
+		}
+	}
+
+	if (child.skill.whoring <= 10) {
+		if (child.skill.entertainment <= 10) {
+			r += `${He} is somewhat entertaining. `;
+		} else if (child.skill.entertainment <= 30) {
+			r += `${He} is <span class=aquamarine>reasonably entertaining.</span> `;
+		} else if (child.skill.entertainment <= 60) {
+			r += `${He} is a <span class=aquamarine>skilled entertainer.</span> `;
+		} else if (child.skill.entertainment < 100) {
+			r += `${He} is an <span class=aquamarine>expert entertainer.</span> `;
+		} else {
+			r += `${He} is a <span class=aquamarine>master of entertainment.</span> `;
+		}
+	} else {
+		if (child.skill.entertainment <= 10) {
+			r += `${He} is somewhat entertaining and `;
+		} else if (child.skill.entertainment <= 30) {
+			r += `${He} is <span class=aquamarine>reasonably entertaining</span> and `;
+		} else if (child.skill.entertainment <= 60) {
+			r += `${He} is a <span class=aquamarine>skilled entertainer</span> and `;
+		} else if (child.skill.entertainment < 100) {
+			r += `${He} is an <span class=aquamarine>expert entertainer</span> and `;
+		} else {
+			r += `${He} is a <span class=aquamarine>master of entertainment</span> and `;
+		}
+	}
+	if (child.skill.whoring <= 10) {
+		r += `${He} has very little experience in selling ${his} body. `;
+	} else if (child.skill.whoring <= 30) {
+		if (child.skill.entertainment <= 10) {
+			r += `${He} `;
+		}
+		r += `has <span class=aquamarine>basic experience as a prostitute.</span>`;
+	} else if (child.skill.whoring <= 60) {
+		if (child.skill.entertainment <= 10) {
+			r += `${He} is `;
+		}
+		r += `a <span class=aquamarine>skilled streetwalker.</span>`;
+	} else if (child.skill.whoring < 100) {
+		if (child.skill.entertainment <= 10) {
+			r += `${He} is `;
+		}
+		r += `an <span class=aquamarine>expert working $girl.</span>`;
+	} else {
+		if (child.skill.entertainment <= 10) {
+			r += `${He} is `;
+		}
+		r += `a <span class=aquamarine>masterful whore.</span>`;
+	}
+
+	if (child.custom.def !== "" && typeof child.custom.desc !== "undefined") {
+		r += `${child.custom.desc} `;
+	}
+
+	// r += App.Desc.FSeffects(child);	TODO:
+
+	if (V.showScores) {
+		FResult(child);
+		r += `Currently, $he has an <span class="pink"><strong>attractiveness score</strong> of <strong><u>${beauty}</u></strong></span> and a <span class="lightcoral"<strong>sexual score</strong></span> of <strong><u>${V.FResult}</u></strong>.</span> `;
+	}
+
+	r += `<br>&nbsp;&nbsp;&nbsp;&nbsp;`;
+
+	if (child.amp) {
+		r += App.Desc.amputee(child);	// TODO: verify this exists
+	}
+
+	r += App.Desc.clothing;
+	if (V.showBodyMods) {
+		r += App.Desc.clothingCorset;
+	}
+
+	// r += App.Desc.heightAndWeight;	TODO:
+	if (V.showClothing && !V.saleDescription) {
+		r += `${He}`;
+	} else {
+		r += `${child.slaveName}`;
+	}
+	let averageHeight = Height.mean(child);
+
+	r += ` is `;
+
+	if (child.height <= averageHeight + 5 && child.height >= averageHeight - 5) {
+		r += `an average height`;
+		if (child.physicalAge < 16) {
+			r += ` for $his age`;
+		}
+	} else if (child.height < averageHeight - 15) {
+		r += `petite`;
+		if (child.physicalAge < 16) {
+			r += ` for $his age`;
+		}
+	} else if (child.height < averageHeight - 5) {
+		r += `short`;
+		if (child.physicalAge < 16) {
+			r += ` for $his age`;
+		}
+	} else if (child.height > averageHeight + 15) {
+		r += `very tall`;
+		if (child.physicalAge < 16) {
+			r += ` for $his age`;
+		}
+	} else if (child.height > averageHeight + 5) {
+		r += `tall`;
+		if (child.physicalAge < 16) {
+			r += ` for $his age`;
+		}
+	}
+	if (V.showHeightCMs) {
+		r += ` at ${heightToEitherUnit(child.height)},`;
+	}
+
+	r += ` and `;
+
+	if (child.weight > 190) {
+		if (arcology.FSHedonisticDecadance !== "unset") {
+			r += `${jsEither("perfectly curvy", "perfectly plush")}.`;
+		} else {
+			r += `<span class="red>${jsEither("dangerously fat", "dangerously overweight", "extremely obese")}</span>.`;
+		}
+	} else if (child.weight > 160) {
+		if (arcology.FSHedonisticDecadance !== "unset") {
+			r += `${jsEither("spectacularly curvy", "spectacularly plush")}.`;
+		} else {
+			r += `<span class="red">${jsEither("extremely fat", "extremely overweight")}</span>.`;
+		}
+	} else if (child.weight > 130 ) {
+		if (arcology.FSHedonisticDecadance !== "unset") {
+			r += `${jsEither("amazingly curvy", "amazingly plush")}.`;
+		} else {
+			r += `<span class="red">${jsEither("very overweight", "obese", "very fat")}</span>.`;
+		}
+	} else if (child.weight > 95) {
+		if (child.hips > 1) {
+			r += `${"extremely curvy", "extremely plush"}, but $his huge hips make the extra weight attractive on $him.`;
+		} else if (arcology.FSHedonisticDecadance !== "unset") {
+			r += `${jsEither("extremely curvy", "extremely plush")}.`;
+		} else {
+			r += `<span class="red">${jsEither("carrying a lot of extra weight", "fat", "overweight")}</span>.`;
+		}
+	} else if (child.weight > 30) {
+		if (child.hips > 1) {
+			r += `${jsEither("quite curvy", "very plush")}, but $his motherly hips make the extra weight attractive on $him.`;
+		} else if (arcology.FSHedonisticDecadance !== "unset") {
+			r += `${jsEither("quite curvy", "very plush")}.`;
+		} else {
+			r += `<span class="red">${jsEither("carrying extra weight", "chubby")}</span>.`;
+		}
+	} else if (child.weight > 10) {
+		r += `${jsEither("nicely plush", "pleasingly curvy")}.`;
+	} else if (child.weight >= -10) {
+		r += `${jsEither("a healthy weight", "an attractive weight")}.`;
+	} else if (child.weight >= -30) {
+		r += `${jsEither("appealingly skinny", "pleasingly thin")}.`;
+	} else if (child.weight >= -95) {
+		if (child.hips > 1) {
+			r += `${jsEither("quite skinny", "very thin")}, but $his wide hips make the gap between $his thighs very noticeable.`;
+		} else if (child.hips < -1) {
+			r += `${jsEither("quite skinny", "very thin")}, but $his trim hips make $him look like a model.`;
+		} else {
+			r += `<span class="red">${"rail thin", "too skinny", "unserweight"}</span>.`;
+		}
+	} else {
+		r += `<span class="red">${"dangerously skinny", "emaciated"}</span>.`;
+	}
+
+	if (child.hips > 2) {
+		r += `$His hips are unrealistically wide; it is obvious they have been artificially widened.`;
+	}
+
+	r += App.Desc.waist(child);
+
+	if (arcology.FSGenderFundamentalistLawBeauty + arcology.FSGenderFundamentalistLawBeauty > 0) {
+		if (arcology.FSHedonisticDecadance === "unset" && arcology.FSPhyscialIdealistStrongFat === 0) {
+			if (child.weight > 130) {
+				r += `$He is much too fat for the fashionable feminine ideal.`;
+			} else if (child.weight > 30) {
+				r += `$He is too fat for the fashionable feminine ideal.`;
+			} else if (child.weight < -30) {
+				r += `$He is too skinny for the fashionable feminine ideal.`;
+			}
+		} else {
+			if (child.weight > 130) {
+				r += `$He is much too fat for the fashionable feminine ideal.`;
+			} else if (child.weight < -30) {
+				r += `$He is too skinny for the fashionable feminine ideal.`;
+			}
+		}
+	} else if (arcology.FSSlimnessEnthusiastLaw === 1) {
+		if (arcology.FSHedonisticDecadance === "unset" && arcology.FSPhyscialIdealistStrongFat === 0) {
+			if (child.weight > 30) {
+				r += `$He is much too fat for the fashionable feminine ideal.`;
+			} else if (child.weight > 10) {
+				r += `$He is too fat for the fashionable feminine ideal.`;
+			}
+		} else {
+			if (child.weight > 60) {
+				r += `$He is much too fat for the fashionable feminine ideal.`;
+			} else if (child.weight > 30) {
+				r += `$He is too fat for the fashionable feminine ideal.`;
+			}
+		}
+	} else if (arcology.FSHedonisticDecadance2) {
+		if (child.weight <= 95) {
+			r += `$He is too thin for the fashionable feminine ideal.`;
+		} else if (child.weight <= 10) {
+			r += `$He is much too thin for the fashionable feminine ideal.`;
+		}
+	}
+
+	if (canWalk(child)) {
+		if (child.weight > (170 + child.muscles / 5) && child.physicalAge >= 18) {
+			r += `$He is so fat that it is difficult for $him to move.`;
+			if (child.muscles > 95) {
+				r += `However, $he is so powerfully built that $he can manage it with effort, though $he often has to stop for breaks.`;
+			} else if (child.muscles > 30) {
+				r += `$He can barely manage to get to $his feet unaided, and usually walks alongside objects to help relieve the weight.`;
+			} else if (child.muscles > 5) {
+				r += `$He requires assistance to get to $his feet, and tends to lean on things to help relieve the weight. Much furniture has met an early demise thanks to this habit.`;
+			} else {
+				r += `$He cannot get to $his feet unaided, and tries to stay seated as much as $he can.`;
+			}
+		} else if (child.weight > (110 + child.muscles / 20) && child.physicalAge <= 3) {
+			r += `$He is so fat that it is difficult for $him to move.`;
+			if (child.muscles > 95) {
+				r += `However, $he is so powerfully built that $he can manage it with effort, though $he often has to stop for breaks.`;
+			} else if (child.muscles > 30) {
+				r += `$He can barely manage to get to $his feet unaided, and usually walks alongside objects to help relieve the weight.`;
+			} else if (child.muscles > 5) {
+				r += `$He requires assistance to get to $his feet, and tends to lean on things to help relieve the weight. Much furniture has met an early demise thanks to this habit.`;
+			} else {
+				r += `$He cannot get to $his feet unaided, and tries to stay seated as much as $he can.`;
+			}
+		} else if (child.weight > (140 + child.muscles / 15) && child.physicalAge <= 12) {
+			r += `$He is so fat that it is difficult for $him to move.`;
+			if (child.muscles > 95) {
+				r += `However, $he is so powerfully built that $he can manage it with effort, though $he often has to stop for breaks.`;
+			} else if (child.muscles > 30) {
+				r += `$He can barely manage to get to $his feet unaided, and usually walks alongside objects to help relieve the weight.`;
+			} else if (child.muscles > 5) {
+				r += `$He requires assistance to get to $his feet, and tends to lean on things to help relieve the weight. Much furniture has met an early demise thanks to this habit.`;
+			} else {
+				r += `$He cannot get to $his feet unaided, and tries to stay seated as much as $he can.`;
+			}
+		} else if (child.weight > (165 + child.muscles / 10 && child.physicalAge < 18)) {
+			r += `$He is so fat that it is difficult for $him to move.`;
+			if (child.muscles > 95) {
+				r += `However, $he is so powerfully built that $he can manage it with effort, though $he often has to stop for breaks.`;
+			} else if (child.muscles > 30) {
+				r += `$He can barely manage to get to $his feet unaided, and usually walks alongside objects to help relieve the weight.`;
+			} else if (child.muscles > 5) {
+				r += `$He requires assistance to get to $his feet, and tends to lean on things to help relieve the weight. Much furniture has met an early demise thanks to this habit.`;
+			} else {
+				r += `$He cannot get to $his feet unaided, and tries to stay seated as much as $he can.`;
+			}
+		}
+	}
+
+	// App.Desc.heightImplant(child); TODO:
+
+	r += `$He is `;
+	if (child.muscles > 95) {
+		r += `<span class="pink">extremely muscular,</span> with defined pecs, powerful glutes, and massive traps`;
+		if ($activeChild.weight > 95) {
+		` hidden beneath a layer of fat`;
+		}
+		r += `. `;
+	} else if (child.muscles > 50) {
+		r += `<span class="pink">quite muscular,</span> with ripped abs, strong shoulders, and defined lats`;
+		if ($activeChild.weight > 95) {
+		` hidden beneath a layer of fat`;
+		}
+		r += `. `;
+	} else if (child.muscles > 30) {
+		r += `<span class="pink">well built,</span> yet feminine with defined abs and strong shapely muscles`;
+		if ($activeChild.weight > 95) {
+		` hidden beneath a layer of fat`;
+		}
+		r += `. `;
+	} else if (child.muscles > 5) {
+		r += `<span class="pink">well built,</span> yet feminine, with just-visible muscles`;
+		if ($activeChild.weight > 30) {
+		` hidden beneath a layer of fat`;
+		}
+		r += `. `;
+	} else if (child.muscles >= -5) {
+		r += `<span class="pink">soft and feminine,</span> with no visible muscles. `;
+	} else if (child.muscles >= -30) {
+		r += `<span class="pink">rather weak,</span> with barely any muscles. `;
+	} else if (child.muscles >= -95) {
+		r += `<span class="pink">very weak;</span> $he struggles with day-to-day tasks. `;
+	} else {
+		r += `<span class="red">frail;</span> $he can barely hold $himself up. `;
+	}
+
+	if (arcology.FSGenderFundamentalistLawBeauty + arcology.FSGenderRadicalistLawBeauty + arcology.FSSlimnessEnthusiastLaw > 0 && arcology.FSPhyscialIdealist === "unset" && !arcology.FSHedonisticDecadanceStrongFat) {
+		if (arcology.FSPhyscialIdealistLaw > 0 && child.muscles > 50) {
+			r += `$He is entirely too muscular for the fashionable feminine ideal. `;
+		} else if (child.muscles > 30) {
+			r += `$He is entirely too muscular for the fashionable feminine ideal. `;
+		}
+	}
+
+	if (!child.amp) {
+		if (child.weight > 190) {
+			r += `$He has hugely thick arms with sagging fat rolls and `;
+		} else if (child.weight > 160) {
+			r += `$He has thick arms with drooping fat folds and `;
+		} else if (child.weight > 130) {
+			r += `$He has plump arms with `;
+		} else if (child.weight > 97) {
+			r += `$He has chubby arms with `;
+		} else {
+			r += `$He has normal arms with `;
+		}
+	}
+
+	if (child.muscles > 95) {
+		r += `huge muscles`;
+		if (child.weight > 95) {
+			r += ` hidden beneath $his soft flesh `;
+		}
+		r += `. `;
+	} else if (child.muscles > 30) {
+		r += `obvious muscles`;
+		if (child.weight > 95) {
+			r += ` hidden beneath $his soft flesh `;
+		}
+		r += `. `;
+	} else if (child.muscles > 5) {
+		r += `toned muscles`;
+		if (child.weight > 30) {
+			r += ` hidden beneath $his soft flesh `;
+		}
+		r += `. `;
+	} else {
+		r += `little muscle to them. `;
+	}
+
+	if (child.skill.combat > 0) {
+		r += `$He is <span class="aquamarine"skilled at combat:</span> $he is comfortable with the use of modern firearms and edges weapons, and $his hands `;
+		if (child.amp === -4) {
+			r += `would be deadly weapons even if they weren't full of deadly weapons already`;
+		} else if (child.amp > 0) {
+			r += `would be deadly weapons if $he had any`;
+		} else {
+			r += `are deadly weapons`;
+		}
+		r += `.`;
+	}
+
+	if (child.counter.pitKills > 0) {
+		r += `${child.counter.pitKills} slaves have died by $his hand in pit fights. `;
+	}
+
+	if (child.corsetPiercing > 0) {
+		// r += App.Desc.corsetPiercing(child);	TODO:
+	}
+
+	if (!child.amp) {
+		if (child.weight > 190) {
+			r += `$He has extremely fat legs with immense soft, rather uneven thighs and `;
+		} else if (child.weight > 160) {
+			r += `$He has very fat legs with massively thick, soft, somewhat uneven thighs and `;
+		} else if (child.weight > 130) {
+			r += `$He has fat legs with hugely thick, soft thighs and `;
+		} else if (child.weight > 97) {
+			r += `$He has fat legs with thick, soft thighs and `;
+		} else if (child.weight > 95) {
+			r += `$He has normal legs with thick, soft thighs and `;
+		} else {
+			r += `$He has relatively normal legs and thighs with `;
+		}
+
+		if (child.muscles > 95) {
+			r += `huge muscles`;
+			if (child.weight > 95) {
+				r += ` hidden beneath $his soft flab`;
+			}
+			r += `. `;
+		} else if (child.muscles > 30) {
+			r += `obvious muscles`;
+			if (child.weight > 95) {
+				r += ` hidden beneath $his soft flab`;
+			}
+			r += `. `;
+		} else if (child.muscles > 5) {
+			r += `tones muscles`;
+			if (child.weight > 30) {
+				r += ` hidden beneath $his soft flab`;
+			}
+			r += `. `;
+		} else {
+			r += `barely any muscle in them. `;
+		}
+	}
+
+	// r += App.Desc.heel(child);	TODO:
+
+	if (V.showBodyMods) {
+		if (["ankles", "back", "calves", "chest", "feet", "hands", "left ankle", "left calf", "left foot", "left hand", "left lower arm", "left shoulder", "left upper arm", "left wrist", "lower arms", "lower back", "right ankle", "right calf", "right foot", "right hand", "right lower arm", "right shoulder", "right upper arm", "right wrist", "shoulders", "upper arms", "wrists"].includes(child.brandLocation)) {
+			r += App.Desc.brand(child);
+		}
+	}
+
+	// r += App.Desc.skin(child);
+
 	return r;
 };