diff --git a/src/descriptions/officeDescription.js b/src/descriptions/officeDescription.js
index 02147b07c3b12c4647fab157ae77a1b084c14802..a5e5f2ac9676b33e96cf6dddfc24b5c73cde4980 100644
--- a/src/descriptions/officeDescription.js
+++ b/src/descriptions/officeDescription.js
@@ -434,9 +434,10 @@ App.Desc.officeDescription = function(lastElement) {
 	}
 
 	/**
-	 * @returns {string}
+	 * @returns {DocumentFragment}
 	 */
 	function paragraph3() {
+		const frag = new DocumentFragment();
 		const r = [];
 
 		r.push(printTrinkets());
@@ -455,15 +456,17 @@ App.Desc.officeDescription = function(lastElement) {
 
 		r.push(App.Desc.Player.officeBoobs(), App.Desc.Player.officeBelly(), App.Desc.Player.officeCrotch(), App.Desc.Player.officeButt());
 
-		return r.join(" ");
+		App.Events.addNode(frag, r);
+		return frag;
 	}
 
 	/**
-	 * @returns {string}
+	 * @returns {DocumentFragment}
 	 */
 	function printTrinkets() {
+		const frag = new DocumentFragment();
 		if (V.trinkets.length === 0) {
-			return "";
+			return frag;
 		}
 
 		const trinkets = weightedArray2HashMap(V.trinkets);
@@ -479,22 +482,24 @@ App.Desc.officeDescription = function(lastElement) {
 				plurals = true;
 			}
 		}
+		trinketStrings.sort((a, b) => a > b ? 1 : -1);
 
-		let r;
 		// depending on length of trinketString, add necessary conjunctions
+		frag.append(`There's a display case behind your desk, with `);
 		if (trinketStrings.length === 1) {
 			if (plurals === false) {
-				r = `a single item: ${trinketStrings[0]}`;
+				frag.append(`a single item: ${trinketStrings[0]}.`);
 			} else {
-				r = trinketStrings[0];
+				frag.append(`${trinketStrings[0]}.`);
 			}
 		} else if (trinketStrings.length === 2 && plurals === false) {
-			r = `a couple of items: ${trinketStrings[0]}, and ${trinketStrings[1]}`;
+			frag.append(`a couple of items: ${trinketStrings[0]}, and ${trinketStrings[1]}.`);
 		} else {
-			trinketStrings[trinketStrings.length - 1] = `and ${trinketStrings[trinketStrings.length - 1]}`;
-			r = trinketStrings.join(", ");
+			const list = App.UI.DOM.appendNewElement("li", frag);
+			list.style.textIndent = "0";
+			trinketStrings.forEach(ts => App.UI.DOM.appendNewElement("li", list, capFirstChar(ts)));
 		}
-		return `There's a display case behind your desk, with ${r}.`;
+		return frag;
 	}
 
 	function trinketPluralReplacer(desc) {