diff --git a/src/facilities/farmyard/animals/animals.js b/src/facilities/farmyard/animals/animals.js
index 33b5927a9ac744516b66db94e8d9dbd48aadf93e..99b82156d142854403c10da07a0c3b11dd4ee442 100644
--- a/src/facilities/farmyard/animals/animals.js
+++ b/src/facilities/farmyard/animals/animals.js
@@ -324,6 +324,7 @@ App.Facilities.Farmyard.animals = function() {
 		const addDiv = App.UI.DOM.makeElement("div", null, ['margin-top']);
 
 		const animal = new App.Entity.Animal(null, null, "canine", "domestic");
+		let animalName = animal.name || 'animal';
 
 		App.UI.DOM.appendNewElement("h2", frag, `Custom Animals`);
 
@@ -345,10 +346,11 @@ App.Facilities.Farmyard.animals = function() {
 				`Name: `,
 				App.UI.DOM.makeTextBox(animal.name || '', value => {
 					animal.setName(value);
+					animalName = animal.name;
 
-					// App.UI.reload();
-					// App.UI.DOM.replace(nameDiv, name());
 					App.UI.DOM.replace(typeDiv, type);
+					App.UI.DOM.replace(rarityDiv, rarity);
+					App.UI.DOM.replace(articleDiv, article);
 					App.UI.DOM.replace(dickDiv, dick);
 					App.UI.DOM.replace(deadlinessDiv, deadliness);
 					App.UI.DOM.replace(addDiv, add());
@@ -364,7 +366,6 @@ App.Facilities.Farmyard.animals = function() {
 				App.UI.DOM.makeTextBox(animal.species || '', value => {
 					animal.setSpecies(value);
 
-					App.UI.DOM.replace(speciesDiv, species());
 					App.UI.DOM.replace(addDiv, add());
 				}),
 			);
@@ -380,11 +381,11 @@ App.Facilities.Farmyard.animals = function() {
 				.addValue('Feline', 'feline');
 
 			if (animal.type === "canine") {
-				typeDiv.append(`The ${animal.name || 'animal'} is a canine.`, options.render());
+				typeDiv.append(`The ${animalName} is a canine.`, options.render());
 			} else if (animal.type === "hooved") {
-				typeDiv.append(`The ${animal.name || 'animal'} is a hooved animal.`, options.render());
+				typeDiv.append(`The ${animalName} is a hooved animal.`, options.render());
 			} else {
-				typeDiv.append(`The ${animal.name || 'animal'} is a feline.`, options.render());
+				typeDiv.append(`The ${animalName} is a feline.`, options.render());
 			}
 
 			return typeDiv;
@@ -397,42 +398,21 @@ App.Facilities.Farmyard.animals = function() {
 				.addValue('Exotic', 'exotic');
 
 			if (animal.rarity === "domestic") {
-				rarityDiv.append(`The ${animal.name || 'animal'} is domesticated.`, options.render());
+				rarityDiv.append(`The ${animalName} is domesticated.`, options.render());
 			} else {
-				rarityDiv.append(`The ${animal.name || 'animal'} is exotic and tamed.`, options.render());
+				rarityDiv.append(`The ${animalName} is exotic and tamed.`, options.render());
 			}
 
 			return rarityDiv;
 		}
 
 		function article() {
-			const articleLinks = [];
-
-			if (animal.articleAn === 'a') {
-				articleLinks.push(
-					App.UI.DOM.link("Yes", () => {
-						animal.articleAn = 'an';
-
-						App.UI.DOM.replace(articleDiv, article());
-						App.UI.DOM.replace(dickDiv, dick);
-						App.UI.DOM.replace(deadlinessDiv, deadliness);
-					}),
-					App.UI.DOM.disabledLink("No", [`Already selected.`]),
-				);
-			} else {
-				articleLinks.push(
-					App.UI.DOM.disabledLink("Yes", [`Already selected.`]),
-					App.UI.DOM.link("No", () => {
-						animal.articleAn = 'a';
-
-						App.UI.DOM.replace(articleDiv, article());
-						App.UI.DOM.replace(dickDiv, dick);
-						App.UI.DOM.replace(deadlinessDiv, deadliness);
-					}),
-				);
-			}
+			const options = new App.UI.OptionsGroup();
+			options.addOption(null, "articleAn", animal)
+				.addValue('Yes', 'an')
+				.addValue('No', 'a');
 
-			articleDiv.append(`Is this animal's name preceded by an 'an'? `, App.UI.DOM.generateLinksStrip(articleLinks));
+			articleDiv.append(`Is the ${animalName}'s name preceded by an 'an'?`, options.render());
 
 			return articleDiv;
 		}
@@ -452,7 +432,7 @@ App.Facilities.Farmyard.animals = function() {
 
 						App.UI.DOM.replace(dickSizeDiv, dickSize);
 					}, true),
-					App.UI.DOM.makeElement("span", `1 is smallest, and default is 2. `, ['note']),
+					App.UI.DOM.makeElement("span", `1 is smallest and default is 2.`, ['note']),
 				);
 
 				return dickSizeDiv;
@@ -468,7 +448,7 @@ App.Facilities.Farmyard.animals = function() {
 
 						App.UI.DOM.replace(dickDescDiv, dickDesc);
 					}),
-					App.UI.DOM.makeElement("span", `Default is 'large'. `, ['note']),
+					App.UI.DOM.makeElement("span", `Default is 'large', but you can use any descriptor.`, ['note']),
 				);
 
 				return dickDescDiv;
@@ -481,7 +461,7 @@ App.Facilities.Farmyard.animals = function() {
 				App.UI.DOM.makeTextBox(5, value => {
 					animal.setDick(value);
 				}, true),
-				App.UI.DOM.makeElement("span", `Default is 5. `, ['note']),
+				App.UI.DOM.makeElement("span", `Default is 5.`, ['note']),
 			);
 
 			return deadlinessDiv;