diff --git a/Source/JobDrivers/JobDriver_GettinLoved.cs b/Source/JobDrivers/JobDriver_GettinLoved.cs
index 390c7cb09e5bf96cd7ddef8c57bf8073498a88f8..50963cb5c84fdb9f18e2459cfdee157d341bb37b 100644
--- a/Source/JobDrivers/JobDriver_GettinLoved.cs
+++ b/Source/JobDrivers/JobDriver_GettinLoved.cs
@@ -21,6 +21,11 @@ namespace rjw
 			//return this.pawn.Reserve(this.Partner, this.job, 1, 0, null) && this.pawn.Reserve(this.Bed, this.job, 1, 0, null);
 		}
 
+		public float CalculateSatisfactionPerTick()
+		{
+			return 1.0f;
+		}
+
 		protected override IEnumerable<Toil> MakeNewToils()
 		{
 			//--Log.Message("[RJW]JobDriver_GettinLoved::MakeNewToils is called");
diff --git a/Source/JobDrivers/JobDriver_GettinRaped.cs b/Source/JobDrivers/JobDriver_GettinRaped.cs
index 02cadb3013fbec10c388537774f7157c4aa4b160..ca10580108cbf6a770bea7bcb14b2ca3836bd47b 100644
--- a/Source/JobDrivers/JobDriver_GettinRaped.cs
+++ b/Source/JobDrivers/JobDriver_GettinRaped.cs
@@ -46,6 +46,11 @@ namespace rjw
 				Messages.Message(xxx.get_pawnname(Receiver) + " is getting raped.", Receiver, MessageTypeDefOf.SilentInput);
 		}
 
+		public float CalculateSatisfactionPerTick()
+		{
+			return 1.0f;
+		}
+
 		protected override IEnumerable<Toil> MakeNewToils()
 		{
 			ticks_between_hearts = Rand.RangeInclusive(70, 130);
diff --git a/Source/Modules/Pregnancy/Pregnancy_Helper.cs b/Source/Modules/Pregnancy/Pregnancy_Helper.cs
index 6f387aabff5cac490cf9eef41931508b6b574100..1224f361890fca849cd0448e527117d32bbf4bda 100644
--- a/Source/Modules/Pregnancy/Pregnancy_Helper.cs
+++ b/Source/Modules/Pregnancy/Pregnancy_Helper.cs
@@ -198,7 +198,7 @@ namespace rjw
 
 		public static void Doimpregnate(Pawn pawn, Pawn partner)
 		{
-			if (RJWSettings.DevMode) Log.Message("[RJW] Doimpregnate " + xxx.get_pawnname(pawn) + " is a father " + xxx.get_pawnname(partner) + " is a mother");
+			if (RJWSettings.DevMode) Log.Message("[RJW] Doimpregnate " + xxx.get_pawnname(pawn) + " is a father, " + xxx.get_pawnname(partner) + " is a mother");
 			// fertility check
 			float fertility = RJWPregnancySettings.humanlike_impregnation_chance / 100f;
 			if (xxx.is_animal(partner))
@@ -220,10 +220,10 @@ namespace rjw
 
 			if (non_pregnancy_chance > pregnancy_threshold || pregnancy_threshold == 0)
 			{
-				if (RJWSettings.DevMode) Log.Message("[RJW] Impregnation failed. Chance was " + non_pregnancy_chance + " vs " + pregnancy_threshold);
+				if (RJWSettings.DevMode) Log.Message("[RJW] Impregnation failed. Chance: " + pregnancy_threshold.ToStringPercent() + " fail roll: " + non_pregnancy_chance.ToStringPercent());
 				return;
 			}
-			if (RJWSettings.DevMode) Log.Message("[RJW] Impregnation succeeded. Chance was " + non_pregnancy_chance + " vs " + pregnancy_threshold);
+			if (RJWSettings.DevMode) Log.Message("[RJW] Impregnation succeeded. Chance: " + pregnancy_threshold.ToStringPercent() + " succeess roll: " + non_pregnancy_chance.ToStringPercent());
 
 			PregnancyDecider(partner, pawn);
 		}
diff --git a/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs b/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs
index a622df74e3349bb89094ff8a823c270d69d894d7..375238dca1cb2e88b12055c830cf5b77378442ba 100644
--- a/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs
+++ b/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs
@@ -33,16 +33,19 @@ namespace rjw
 
 			if (PawnUtility.EnemiesAreNearby(TargetPawn))
 			{
+				//Log.Message("[RJW]JobDriver_InvitingVisitors::DoesTargetPawnAcceptAdvance() fail - enemy near");
 				return false;
 			}
 			if (!allowedJobs.Contains(TargetPawn.jobs.curJob.def))
 			{
+				//Log.Message("[RJW]JobDriver_InvitingVisitors::DoesTargetPawnAcceptAdvance() fail - not allowed job");
 				return false;
 			}
 			
-			//Log.Message("Will try " + xxx.WillPawnTryHookup(TargetPawn));
-			//Log.Message("Appeal  " + xxx.IsHookupAppealing(TargetPawn, Whore));
-			//Log.Message("Afford " + xxx.CanAfford(TargetPawn, Whore));
+			//Log.Message("Will try " + WhoringHelper.WillPawnTryHookup(TargetPawn));
+			//Log.Message("Appeal  " + WhoringHelper.IsHookupAppealing(TargetPawn, Whore));
+			//Log.Message("Afford " + WhoringHelper.CanAfford(TargetPawn, Whore));
+			//Log.Message("Need sex " + (xxx.need_some_sex(TargetPawn) >= 1));
 			Whore.skills.Learn(SkillDefOf.Social, 1.2f);
 			return WhoringHelper.WillPawnTryHookup(TargetPawn) && WhoringHelper.IsHookupAppealing(TargetPawn, Whore) && WhoringHelper.CanAfford(TargetPawn, Whore) && xxx.need_some_sex(TargetPawn) >= 1f;
 		}
diff --git a/Source/Modules/Whoring/Whoring_Helper.cs b/Source/Modules/Whoring/Whoring_Helper.cs
index 8421552bf96072d7881cc55e4603523325c5be9a..a86c4dd7bc725acdc4bdb7f2a332a7b14cc25950 100644
--- a/Source/Modules/Whoring/Whoring_Helper.cs
+++ b/Source/Modules/Whoring/Whoring_Helper.cs
@@ -188,7 +188,7 @@ namespace rjw
 				totalAmountOfSilvers += caravanMembers.Sum(animal => animal.inventory.innerContainer.TotalStackCountOfDef(ThingDefOf.Silver));
 			}
 
-			//--Log.Message("[RJW]CanAfford:: caravan cannot afford the price");
+			//Log.Message("[RJW]CanAfford:: caravan can afford the price: " + (totalAmountOfSilvers >= price));
 			return totalAmountOfSilvers >= price;
 		}
 
@@ -272,6 +272,7 @@ namespace rjw
 		{
 			if (PawnUtility.WillSoonHaveBasicNeed(target))
 			{
+				//Log.Message("IsHookupAppealing - fail: " + xxx.get_pawnname(target) + " has need to do");
 				return false;
 			}
 			float num = target.relations.SecondaryRomanceChanceFactor(whore) / 1.5f;
@@ -305,6 +306,7 @@ namespace rjw
 
 			num *= 0.8f + ((float)whore.skills.GetSkill(SkillDefOf.Social).Level / 40); // 0.8 to 1.3
 			num *= Mathf.InverseLerp(-100f, 0f, target.relations.OpinionOf(whore));
+			//Log.Message("IsHookupAppealing - score: " + num);
 			return Rand.Range(0.05f, 1f) < num;
 		}
 
diff --git a/Source/WorkGivers/WorkGiver_Fap_Bed.cs b/Source/WorkGivers/WorkGiver_Fap_Bed.cs
index 5ca28bc778c07a38f57977e3511016b7933fd99d..567149dfa17b1277d3228d2182e844b0afea24dd 100644
--- a/Source/WorkGivers/WorkGiver_Fap_Bed.cs
+++ b/Source/WorkGivers/WorkGiver_Fap_Bed.cs
@@ -83,6 +83,19 @@ namespace rjw
 					}
 				}
 
+
+			//change textures of be to whore bed
+			//Log.Message("[RJW] bed " + t.GetType().ToString() + " path " + t.Graphic.data.texPath);
+			//t.Graphic.data.texPath = "Things/Building/Furniture/Bed/DoubleBedWhore";
+			//t.Graphic.path = "Things/Building/Furniture/Bed/DoubleBedWhore";
+			//t.DefaultGraphic.data.texPath = "Things/Building/Furniture/Bed/DoubleBedWhore";
+			//t.DefaultGraphic.path = "Things/Building/Furniture/Bed/DoubleBedWhore";
+			//Log.Message("[RJW] bed " + t.GetType().ToString() + " texPath " + t.Graphic.data.texPath);
+			//Log.Message("[RJW] bed " + t.GetType().ToString() + " drawSize " + t.Graphic.data.drawSize);
+			//t.Draw();
+			//t.ExposeData();
+			//Scribe_Values.Look(ref t.Graphic.data.texPath, t.Graphic.data.texPath, "Things/Building/Furniture/Bed/DoubleBedWhore", true);
+
 			//Log.Message("[RJW]" + this.GetType().ToString() + " extended checks: can start sex");
 			return true;
 		}