diff --git a/Assets/FactManager.cs b/Assets/FactManager.cs
index ad5ff06c3d9ba47ce2f6503b310e39463fd66037..4f6c0f7d25830d1228ac018ed9ac516f2632762f 100644
--- a/Assets/FactManager.cs
+++ b/Assets/FactManager.cs
@@ -39,6 +39,7 @@ void Update()
 
     }
 
+    //TODO: change the return find....
     PointFact AddPointFact(RaycastHit hit, int id)
     {
         Facts.Insert(id, new PointFact(id, hit.point, hit.normal));
@@ -55,6 +56,11 @@ RayFact AddRayFact(int pid1, int pid2, int id)
     {
         Facts.Insert(id, new RayFact(id, pid1, pid2));
 
+        var oPid = GetFirstEmptyID();
+        Facts.Insert(oPid, new RayFact(id, pid1, pid2));
+        oPid = GetFirstEmptyID();
+        Facts.Insert(oPid, new RayFact(id, pid1, pid2));
+
         return Facts.Find(x => x.Id == id) as RayFact;
     }
 
diff --git a/Assets/InteractionEngine/Fact.cs b/Assets/InteractionEngine/Fact.cs
index ebc0022300900c73ced9ccc3c6a78ffb3124db08..5c050764794ac7df05198f50b266d39694080868 100644
--- a/Assets/InteractionEngine/Fact.cs
+++ b/Assets/InteractionEngine/Fact.cs
@@ -73,6 +73,7 @@ public PointFact(int i, float a, float b, float c, string uri)
 
 public class OpenLineFact : Fact
 {
+    //R: this is called RayFact for now (see below), feel free to change
     //an infinite Line through the Points Pid1 and Pid2
     public int Pid1, Pid2;
 }