diff --git a/Source/Common/Genital_Helper.cs b/Source/Common/Genital_Helper.cs
index 839908c12cdd1a02cb9def8b5891fb74c15b77ae..9f79959076976c076892528e6ecd073fac03a5d6 100644
--- a/Source/Common/Genital_Helper.cs
+++ b/Source/Common/Genital_Helper.cs
@@ -13,27 +13,27 @@ namespace rjw
 		public static HediffDef generic_vagina = HediffDef.Named("GenericVagina");
 		public static HediffDef generic_breasts = HediffDef.Named("GenericBreasts");
 
-		public static HediffDef penis = HediffDef.Named("Penis");
 		public static HediffDef micro_penis = HediffDef.Named("MicroPenis");
 		public static HediffDef small_penis = HediffDef.Named("SmallPenis");
+		public static HediffDef average_penis = HediffDef.Named("Penis");
 		public static HediffDef big_penis = HediffDef.Named("BigPenis");
 		public static HediffDef huge_penis = HediffDef.Named("HugePenis");
 		public static HediffDef hydraulic_penis = HediffDef.Named("HydraulicPenis");
 		public static HediffDef bionic_penis = HediffDef.Named("BionicPenis");
 		public static HediffDef archotech_penis = HediffDef.Named("ArchotechPenis");
 
-		public static HediffDef vagina = HediffDef.Named("Vagina");
 		public static HediffDef micro_vagina = HediffDef.Named("MicroVagina");
 		public static HediffDef tight_vagina = HediffDef.Named("TightVagina");
+		public static HediffDef average_vagina = HediffDef.Named("Vagina");
 		public static HediffDef loose_vagina = HediffDef.Named("LooseVagina");
 		public static HediffDef gaping_vagina = HediffDef.Named("GapingVagina");
 		public static HediffDef hydraulic_vagina = HediffDef.Named("HydraulicVagina");
 		public static HediffDef bionic_vagina = HediffDef.Named("BionicVagina");
 		public static HediffDef archotech_vagina = HediffDef.Named("ArchotechVagina");
 
-		public static HediffDef breasts = HediffDef.Named("Breasts");
 		public static HediffDef flat_breasts = HediffDef.Named("FlatBreasts");
 		public static HediffDef small_breasts = HediffDef.Named("SmallBreasts");
+		public static HediffDef average_breasts = HediffDef.Named("Breasts");
 		public static HediffDef large_breasts = HediffDef.Named("LargeBreasts");
 		public static HediffDef huge_breasts = HediffDef.Named("HugeBreasts");
 		public static HediffDef hydraulic_breasts = HediffDef.Named("HydraulicBreasts");
@@ -41,10 +41,10 @@ namespace rjw
 		public static HediffDef featureless_chest = HediffDef.Named("FeaturelessChest");
 		public static HediffDef udder = HediffDef.Named("Udder");
 
-		public static HediffDef anus = HediffDef.Named("Anus");
 		public static HediffDef micro_anus = HediffDef.Named("MicroAnus");
 		public static HediffDef tight_anus = HediffDef.Named("TightAnus");
 		public static HediffDef loose_anus = HediffDef.Named("LooseAnus");
+		public static HediffDef average_anus = HediffDef.Named("Anus");
 		public static HediffDef gaping_anus = HediffDef.Named("GapingAnus");
 		public static HediffDef hydraulic_anus = HediffDef.Named("HydraulicAnus");
 		public static HediffDef bionic_anus = HediffDef.Named("BionicAnus");
@@ -66,14 +66,14 @@ namespace rjw
 		public static HediffDef slime_vagina = HediffDef.Named("SlimeVagina");
 		public static HediffDef slime_anus = HediffDef.Named("SlimeAnus");
 
-		public static HediffDef cat_penis = HediffDef.Named("CatPenis");
-		public static HediffDef cat_vagina = HediffDef.Named("CatVagina");
+		public static HediffDef feline_penis = HediffDef.Named("CatPenis");
+		public static HediffDef feline_vagina = HediffDef.Named("CatVagina");
 
-		public static HediffDef dog_penis = HediffDef.Named("DogPenis");
-		public static HediffDef dog_vagina = HediffDef.Named("DogVagina");
+		public static HediffDef canine_penis = HediffDef.Named("DogPenis");
+		public static HediffDef canine_vagina = HediffDef.Named("DogVagina");
 
-		public static HediffDef horse_penis = HediffDef.Named("HorsePenis");
-		public static HediffDef horse_vagina = HediffDef.Named("HorseVagina");
+		public static HediffDef equine_penis = HediffDef.Named("HorsePenis");
+		public static HediffDef equine_vagina = HediffDef.Named("HorseVagina");
 
 		public static HediffDef dragon_penis = HediffDef.Named("DragonPenis");
 		public static HediffDef dragon_vagina = HediffDef.Named("DragonVagina");
@@ -85,13 +85,13 @@ namespace rjw
 		public static HediffDef crocodilian_penis = HediffDef.Named("CrocodilianPenis");
 
 		public static List<HediffDef> penise = new List<HediffDef> { generic_penis,
-			cat_penis, dog_penis, horse_penis, dragon_penis, raccoon_penis, hemipenis, 
-			ovipositorM, crocodilian_penis, penis, micro_penis, small_penis, big_penis, 
+			feline_penis, canine_penis, equine_penis, dragon_penis, raccoon_penis, hemipenis, 
+			ovipositorM, crocodilian_penis, average_penis, micro_penis, small_penis, big_penis, 
 			huge_penis,	peg_penis, hydraulic_penis, bionic_penis, archotech_penis };
 
 		public static List<HediffDef> vaginae = new List<HediffDef> { generic_vagina,
-			cat_vagina, dog_vagina, horse_vagina, dragon_vagina, ovipositorF,
-			vagina, micro_vagina, tight_vagina, loose_vagina, gaping_vagina,
+			feline_vagina, canine_vagina, equine_vagina, dragon_vagina, ovipositorF,
+			average_vagina, micro_vagina, tight_vagina, loose_vagina, gaping_vagina,
 			hydraulic_vagina, bionic_vagina, archotech_vagina };
 
 		public static HashSet<String> Penis_filter = new HashSet<string>(DefDatabase<StringListDef>.GetNamed("Penis_filter").strings);
@@ -422,7 +422,7 @@ namespace rjw
 				}
 				if (Vagina_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(vagina, Part);
+					pawn.health.AddHediff(average_vagina, Part);
 					return;
 				}
 				if (HydraulicVagina_filter.Contains(pawn.kindDef.race.defName))
@@ -447,17 +447,17 @@ namespace rjw
 				}
 				if (CatVagina_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(cat_vagina, Part);
+					pawn.health.AddHediff(feline_vagina, Part);
 					return;
 				}
 				if (DogVagina_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(dog_vagina, Part);
+					pawn.health.AddHediff(canine_vagina, Part);
 					return;
 				}
 				if (HorseVagina_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(horse_vagina, Part);
+					pawn.health.AddHediff(equine_vagina, Part);
 					return;
 				}
 				if (DragonVagina_filter.Contains(pawn.kindDef.race.defName))
@@ -479,7 +479,7 @@ namespace rjw
 				}
 				if (Penis_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(penis, Part);
+					pawn.health.AddHediff(average_penis, Part);
 					return;
 				}
 				if (HydraulicPenis_filter.Contains(pawn.kindDef.race.defName))
@@ -509,17 +509,17 @@ namespace rjw
 				}
 				if (CatPenis_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(cat_penis, Part);
+					pawn.health.AddHediff(feline_penis, Part);
 					return;
 				}
 				if (DogPenis_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(dog_penis, Part);
+					pawn.health.AddHediff(canine_penis, Part);
 					return;
 				}
 				if (HorsePenis_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(horse_penis, Part);
+					pawn.health.AddHediff(equine_penis, Part);
 					return;
 				}
 				if (DragonPenis_filter.Contains(pawn.kindDef.race.defName))
@@ -568,7 +568,7 @@ namespace rjw
 			else if ((racename.Contains("orassan") || racename.Contains("neko")) && !racename.ContainsAny("akaneko"))
 			{
 				if ((value < 0.70) || (pawn.ageTracker.AgeBiologicalYears < 2) || !pawn.RaceProps.Humanlike)
-					privates = (privates_gender(pawn, gender)) ? cat_penis : cat_vagina;
+					privates = (privates_gender(pawn, gender)) ? feline_penis : feline_vagina;
 				else if (value < 0.90)
 					privates = (privates_gender(pawn, gender)) ? hydraulic_penis : hydraulic_vagina;
 				else
@@ -582,7 +582,7 @@ namespace rjw
 				 || racename.Contains("callistan"))
 			{
 				if ((value < 0.70) || (pawn.ageTracker.AgeBiologicalYears < 2) || !pawn.RaceProps.Humanlike)
-					privates = (privates_gender(pawn, gender)) ? dog_penis : dog_vagina;
+					privates = (privates_gender(pawn, gender)) ? canine_penis : canine_vagina;
 				else if (value < 0.90)
 					privates = (privates_gender(pawn, gender)) ? hydraulic_penis : hydraulic_vagina;
 				else
@@ -592,7 +592,7 @@ namespace rjw
 			else if (racename.Contains("equium"))
 			{
 				if ((value < 0.70) || (pawn.ageTracker.AgeBiologicalYears < 2) || !pawn.RaceProps.Humanlike)
-					privates = (privates_gender(pawn, gender)) ? horse_penis : horse_vagina;
+					privates = (privates_gender(pawn, gender)) ? equine_penis : equine_vagina;
 				else if (value < 0.90)
 					privates = (privates_gender(pawn, gender)) ? hydraulic_penis : hydraulic_vagina;
 				else
@@ -634,7 +634,7 @@ namespace rjw
 						else if (value < 0.20)
 							privates = (privates_gender(pawn, gender)) ? small_penis : tight_vagina;
 						else if (value < 0.70)
-							privates = (privates_gender(pawn, gender)) ? penis : vagina;
+							privates = (privates_gender(pawn, gender)) ? average_penis : average_vagina;
 						else if (value < 0.80)
 							privates = (privates_gender(pawn, gender)) ? big_penis : loose_vagina;
 						else if (value < 0.90)
@@ -667,19 +667,19 @@ namespace rjw
 			//animal cats
 			else if (racename.ContainsAny("cat", "cougar", "lion", "leopard", "cheetah", "panther", "tiger", "lynx", "smilodon", "akaneko"))
 			{
-				privates = (privates_gender(pawn, gender)) ? cat_penis : cat_vagina;
+				privates = (privates_gender(pawn, gender)) ? feline_penis : feline_vagina;
 			}
 			//animal canine/dogs
 			else if (racename.ContainsAny("husky", "warg", "terrier", "collie", "hound", "retriever", "mastiff", "wolf", "fox",
 				"vulptex", "dachshund", "schnauzer", "corgi", "pug", "doberman", "chowchow", "borzoi", "saintbernard", "newfoundland",
 				"poodle", "dog", "coyote") && !racename.Contains("lf_foxia"))
 			{
-				privates = (privates_gender(pawn, gender)) ? dog_penis : dog_vagina;
+				privates = (privates_gender(pawn, gender)) ? canine_penis : canine_vagina;
 			}
 			//animal horse - MoreMonstergirls
 			else if (racename.ContainsAny("horse", "centaur", "zebra", "donkey", "dryad"))
 			{
-				privates = (privates_gender(pawn, gender)) ? horse_penis : horse_vagina;
+				privates = (privates_gender(pawn, gender)) ? equine_penis : equine_vagina;
 			}
 			//animal raccoon
 			else if (racename.Contains("racc"))
@@ -723,7 +723,7 @@ namespace rjw
 				if (Rand.Value < 0.50f)
 					pawn.health.AddHediff((privates_gender(pawn, gender)) ? demon_penis : demon_vagina, Part);
 				else
-					pawn.health.AddHediff((privates_gender(pawn, gender)) ? horse_penis : demon_vagina, Part);
+					pawn.health.AddHediff((privates_gender(pawn, gender)) ? equine_penis : demon_vagina, Part);
 				return;
 			}
 			//humanoid monstergirls - LostForest
@@ -734,7 +734,7 @@ namespace rjw
 				else if (value < 0.20)
 					privates = (privates_gender(pawn, gender)) ? small_penis : tight_vagina;
 				else if (value < 0.70)
-					privates = (privates_gender(pawn, gender)) ? penis : vagina;
+					privates = (privates_gender(pawn, gender)) ? average_penis : average_vagina;
 				else if (value < 0.90)
 					privates = (privates_gender(pawn, gender)) ? big_penis : loose_vagina;
 				else
@@ -750,7 +750,7 @@ namespace rjw
 					else if (value < 0.20)
 						privates = (privates_gender(pawn, gender)) ? small_penis : tight_vagina;
 					else if (value < 0.70)
-						privates = (privates_gender(pawn, gender)) ? penis : vagina;
+						privates = (privates_gender(pawn, gender)) ? average_penis : average_vagina;
 					else if (value < 0.90)
 						privates = (privates_gender(pawn, gender)) ? big_penis : loose_vagina;
 					else
@@ -765,7 +765,7 @@ namespace rjw
 					else if (value < 0.20)
 						privates = (privates_gender(pawn, gender)) ? small_penis : tight_vagina;
 					else if (value < 0.70)
-						privates = (privates_gender(pawn, gender)) ? penis : vagina;
+						privates = (privates_gender(pawn, gender)) ? average_penis : average_vagina;
 					else if (value < 0.80)
 						privates = (privates_gender(pawn, gender)) ? big_penis : loose_vagina;
 					else if (value < 0.90)
@@ -820,7 +820,7 @@ namespace rjw
 				}
 				if (Breasts_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(breasts, Part);
+					pawn.health.AddHediff(average_breasts, Part);
 					return;
 				}
 				if (HydraulicBreasts_filter.Contains(pawn.kindDef.race.defName))
@@ -900,7 +900,7 @@ namespace rjw
 								else if (value < 0.25)
 									bewbs = small_breasts;
 								else if (value < 0.70)
-									bewbs = breasts;
+									bewbs = average_breasts;
 								else if (value < 0.80)
 									bewbs = large_breasts;
 								else if (value < 0.90)
@@ -939,7 +939,7 @@ namespace rjw
 						else if (value < 0.10)
 							bewbs = small_breasts;
 						else if (value < 0.20)
-							bewbs = breasts;
+							bewbs = average_breasts;
 						else if (value < 0.50)
 							bewbs = large_breasts;
 						else if (value < 0.75 && racename.Contains("cowgirl"))
@@ -954,7 +954,7 @@ namespace rjw
 						else if (value < 0.15)
 							bewbs = small_breasts;
 						else if (value < 0.70)
-							bewbs = breasts;
+							bewbs = average_breasts;
 						else if (value < 0.80)
 							bewbs = large_breasts;
 						else
@@ -967,7 +967,7 @@ namespace rjw
 						else if (value < 0.25)
 							bewbs = small_breasts;
 						else if (value < 0.70)
-							bewbs = breasts;
+							bewbs = average_breasts;
 						else if (value < 0.80)
 							bewbs = large_breasts;
 						else if (value < 0.90)
@@ -986,7 +986,7 @@ namespace rjw
 				else if (value < 0.30)
 					bewbs = small_breasts;
 				else if (value < 0.70)
-					bewbs = breasts;
+					bewbs = average_breasts;
 				else if (value < 0.90)
 					bewbs = large_breasts;
 				else
@@ -1061,7 +1061,7 @@ namespace rjw
 				}
 				if (Anus_filter.Contains(pawn.kindDef.race.defName))
 				{
-					pawn.health.AddHediff(anus, Part);
+					pawn.health.AddHediff(average_anus, Part);
 					return;
 				}
 				if (HydraulicAnus_filter.Contains(pawn.kindDef.race.defName))
@@ -1118,7 +1118,7 @@ namespace rjw
 						else if (value < 0.20)
 							asshole = tight_anus;
 						else if (value < 0.70)
-							asshole = anus;
+							asshole = average_anus;
 						else if (value < 0.80)
 							asshole = loose_anus;
 						else if (value < 0.90)
@@ -1163,7 +1163,7 @@ namespace rjw
 				else if (value < 0.20)
 					asshole = tight_anus;
 				else if (value < 0.90)
-					asshole = anus;
+					asshole = average_anus;
 				else
 					asshole = loose_anus;
 			}
@@ -1176,7 +1176,7 @@ namespace rjw
 					else if (value < 0.20)
 						asshole = tight_anus;
 					else if (value < 0.90)
-						asshole = anus;
+						asshole = average_anus;
 					else
 						asshole = loose_anus;
 				}
@@ -1187,7 +1187,7 @@ namespace rjw
 					else if (value < 0.20)
 						asshole = tight_anus;
 					else if (value < 0.70)
-						asshole = anus;
+						asshole = average_anus;
 					else if (value < 0.80)
 						asshole = loose_anus;
 					else if (value < 0.90)