diff --git a/Assets/Resources/Prefabs/Stage_Default.prefab b/Assets/Resources/Prefabs/Stage_Default.prefab
index ae3451710dd7288aba1a3182885ae765b4e44dc7..82ae4a1523656700496eba182af68bd807bf3656 100644
--- a/Assets/Resources/Prefabs/Stage_Default.prefab
+++ b/Assets/Resources/Prefabs/Stage_Default.prefab
@@ -324,6 +324,16 @@ PrefabInstance:
       propertyPath: FieldActions.Array.data[1].m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
       value: UnityEngine.Object, UnityEngine
       objectReference: {fileID: 0}
+    - target: {fileID: 1063267680909148023, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 630
+      objectReference: {fileID: 0}
+    - target: {fileID: 1063267680909148023, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 315
+      objectReference: {fileID: 0}
     - target: {fileID: 1063267681001813619, guid: b996060e27da25c498842defc1996d84,
         type: 3}
       propertyPath: m_AnchorMax.y
@@ -342,18 +352,23 @@ PrefabInstance:
     - target: {fileID: 1063267681950920702, guid: b996060e27da25c498842defc1996d84,
         type: 3}
       propertyPath: m_AnchorMax.x
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 1063267681950920702, guid: b996060e27da25c498842defc1996d84,
         type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 1063267681950920702, guid: b996060e27da25c498842defc1996d84,
         type: 3}
       propertyPath: m_AnchorMin.x
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 1063267681976544645, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
     - target: {fileID: 1063267681976544647, guid: b996060e27da25c498842defc1996d84,
         type: 3}
       propertyPath: m_Size
@@ -559,6 +574,26 @@ PrefabInstance:
       propertyPath: m_AnchoredPosition.y
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 2283035808027014546, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_Enabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2283035808027014546, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_VerticalFit
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2283035808027014546, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_HorizontalFit
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5427039714963774146, guid: b996060e27da25c498842defc1996d84,
+        type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: b996060e27da25c498842defc1996d84, type: 3}
 --- !u!224 &3020720018354060037 stripped
diff --git a/Assets/Resources/Prefabs/UI/FrameITUI.prefab b/Assets/Resources/Prefabs/UI/FrameITUI.prefab
index 5c1c58af5358c486baaf255faee8e01aba5c8117..1096aa5b5be6bf1355c770f9a6e0bfcf1c160ff1 100644
--- a/Assets/Resources/Prefabs/UI/FrameITUI.prefab
+++ b/Assets/Resources/Prefabs/UI/FrameITUI.prefab
@@ -448,6 +448,8 @@ GameObject:
   - component: {fileID: 1063267681290197932}
   - component: {fileID: 1063267681290197933}
   - component: {fileID: 1063267681290197930}
+  - component: {fileID: 8812037993037732299}
+  - component: {fileID: 504851055797469322}
   m_Layer: 5
   m_Name: Factscreen
   m_TagString: Untagged
@@ -465,7 +467,8 @@ RectTransform:
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
+  m_Children:
+  - {fileID: 5427039714963774146}
   m_Father: {fileID: 1063267681848407549}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -524,6 +527,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d982f30612e9c5c4eb26c1ad0bb859e1, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  factscreenContent: {fileID: 5427039714963774146}
   prefab_Point: {fileID: 858001163752551619, guid: f019e9f67e8dab947bc60028223b6cec,
     type: 3}
   prefab_Distance: {fileID: 4221381813544557775, guid: 8106c748f1aeb084d87fdc71dd009b67,
@@ -538,11 +542,65 @@ MonoBehaviour:
     type: 3}
   prefab_ParallelLineFact: {fileID: 7510387096843212865, guid: 9f086cfbfeb0dfd46af67395aa17aafa,
     type: 3}
+  prefab_RectangleFact: {fileID: 0}
+  prefab_RadiusFact: {fileID: 0}
+  prefab_AreaCircle: {fileID: 0}
+  prefab_ConeVolume: {fileID: 0}
+  prefab_OrthogonalCircleLine: {fileID: 0}
+  prefab_TruncatedConeVolume: {fileID: 0}
+  prefab_RightAngle: {fileID: 0}
+  prefab_CylinderVolume: {fileID: 0}
+  prefab_CircleFact: {fileID: 0}
+  prefab_OnCircleFact: {fileID: 0}
+  prefab_AngleCircleLineFact: {fileID: 0}
   x_Start: -125
-  y_Start: 475
+  y_Start: -55
   X_Pacece_Between_Items: 110
   y_Pacece_Between_Items: 110
   number_of_Column: 3
+--- !u!114 &8812037993037732299
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1063267681290197928}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 5427039714963774146}
+  m_Horizontal: 1
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 10
+  m_Viewport: {fileID: 1063267681290197931}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 0
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &504851055797469322
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1063267681290197928}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 1
 --- !u!1 &1063267681476893320
 GameObject:
   m_ObjectHideFlags: 0
@@ -1778,7 +1836,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 1}
   m_AnchorMax: {x: 0.5, y: 1}
-  m_AnchoredPosition: {x: 3633.298, y: 0.000030517578}
+  m_AnchoredPosition: {x: 6860.9316, y: 0.000030517578}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 1}
 --- !u!114 &1063267682090589447
@@ -3162,6 +3220,41 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5894918260326328225
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5427039714963774146}
+  m_Layer: 5
+  m_Name: Facts
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5427039714963774146
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5894918260326328225}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1063267681290197931}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 7200, y: 0}
+  m_SizeDelta: {x: 0, y: 100}
+  m_Pivot: {x: 0.5, y: 1}
 --- !u!1001 &1695473884174914986
 PrefabInstance:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/InventoryStuff/DisplayFacts.cs b/Assets/Scripts/InventoryStuff/DisplayFacts.cs
index 12d5402e1c2d18fc1acb3985f490d34fcc6c551f..7b2ec7939d2bebd38c705c57cc22af5fb41d62b4 100644
--- a/Assets/Scripts/InventoryStuff/DisplayFacts.cs
+++ b/Assets/Scripts/InventoryStuff/DisplayFacts.cs
@@ -10,6 +10,9 @@ public class DisplayFacts : MonoBehaviour
 
     public Dictionary<string, GameObject> displayedFacts = new Dictionary<string, GameObject>();
 
+    public Transform factscreenContent;
+
+    [Header("FactPrefabs")]
     public GameObject prefab_Point;
     public GameObject prefab_Distance;
     public GameObject prefab_Angle;
@@ -32,6 +35,7 @@ public class DisplayFacts : MonoBehaviour
     public GameObject prefab_OnCircleFact;
     public GameObject prefab_AngleCircleLineFact;
 
+    [Header("Visualisation")]
     public int x_Start;
     public int y_Start;
     public int X_Pacece_Between_Items;
@@ -67,7 +71,7 @@ void Start()
 
         var rect = GetComponent<RectTransform>();
         x_Start = (int)(rect.rect.x + X_Pacece_Between_Items * .5f);
-        y_Start = (int)(-rect.rect.y - y_Pacece_Between_Items * .5f);//);
+        y_Start = (int)(-y_Pacece_Between_Items * .5f);
         number_of_Column = Mathf.Max(1, (int)(rect.rect.width / prefab_Point.GetComponent<RectTransform>().rect.width) - 1);
 
         AddFactEvent.AddListener(AddFact);
@@ -78,8 +82,12 @@ void Start()
     public void AddFact(Fact fact) {
         var fid = fact.Id;
         var obj = CreateDisplay(transform, fact);
-        obj.GetComponent<RectTransform>().localPosition = GetPosition(displayedFacts.Count);
+        var rect = obj.GetComponent<RectTransform>();
+        rect.anchorMin = new Vector2(0.5f, 1);
+        rect.anchorMax = new Vector2(0.5f, 1);
+        rect.localPosition = GetPosition(displayedFacts.Count);
         displayedFacts.Add(fact.Id, obj);
+        AdjustFactscreenContentHeight();
     }
 
     public void RemoveFact(Fact fact)
@@ -87,6 +95,7 @@ public void RemoveFact(Fact fact)
         GameObject.Destroy(displayedFacts[fact.Id]);
         displayedFacts.Remove(fact.Id);
         UpdatePositions();
+        AdjustFactscreenContentHeight();
     }
 
     public void UpdatePositions()
@@ -103,7 +112,7 @@ public void AnimateFact(Fact fact) {
 
     private GameObject CreateDisplay(Transform transform, Fact fact)
     {
-        return fact.instantiateDisplay(prefabDictionary[fact.GetType()], transform);
+        return fact.instantiateDisplay(prefabDictionary[fact.GetType()], factscreenContent);
     }
 
     public Vector3 GetPosition(int i)
@@ -111,4 +120,10 @@ public Vector3 GetPosition(int i)
         return new Vector3(x_Start + (X_Pacece_Between_Items * (i % number_of_Column)), y_Start + (-y_Pacece_Between_Items * (i / number_of_Column)), 0f);
     }
 
+    private void AdjustFactscreenContentHeight()
+    {
+        var rect = factscreenContent.GetComponent<RectTransform>();
+        var height = (float)(y_Pacece_Between_Items * Math.Ceiling(((float)displayedFacts.Count / number_of_Column)));
+        rect.sizeDelta = new Vector2(rect.sizeDelta.x, height);
+    }
 }
diff --git a/Assets/Scripts/InventoryStuff/DragHandling.cs b/Assets/Scripts/InventoryStuff/DragHandling.cs
index 878cc591d30553d33a2737d37226339bf4411900..90c2698040c9e6125f68e6253c420fc993fb300f 100644
--- a/Assets/Scripts/InventoryStuff/DragHandling.cs
+++ b/Assets/Scripts/InventoryStuff/DragHandling.cs
@@ -4,34 +4,30 @@
 public class DragHandling : MonoBehaviour, IDragHandler, IEndDragHandler
 {
     private Vector3 StartingPosition;
+    private Transform StartingParent;
     private bool dragged = false;
     public void OnDrag(PointerEventData eventData)
     {
         if (!dragged)
         {
             StartingPosition = transform.localPosition;
+            StartingParent = transform.parent;
             GetComponent<CanvasGroup>().blocksRaycasts = false;
             dragged = true;
         }
         transform.position = Input.mousePosition;
+
+        // display dragged object in front of all other ui
+        transform.parent = GetComponentInParent<Canvas>().transform;
+        transform.SetAsLastSibling();
     }
 
     public void OnEndDrag(PointerEventData eventData)
     {
+        transform.parent = StartingParent;
         transform.localPosition = StartingPosition;
         GetComponent<CanvasGroup>().blocksRaycasts = true;
         dragged = false;
 
-    }
-    // Start is called before the first frame update
-    void Start()
-    {
-
-    }
-
-    // Update is called once per frame
-    void Update()
-    {
-
     }
 }
diff --git a/Assets/Scripts/InventoryStuff/DropHandling.cs b/Assets/Scripts/InventoryStuff/DropHandling.cs
index edb94f9aa64dcbb6ab812cdab804d790db39ca22..e912243aa183b6682d4353fe2dfa49bb3482e737 100644
--- a/Assets/Scripts/InventoryStuff/DropHandling.cs
+++ b/Assets/Scripts/InventoryStuff/DropHandling.cs
@@ -24,6 +24,10 @@ public void OnDrop(PointerEventData eventData)
 
         current.transform.SetParent(gameObject.transform, false);
 
+        var rect = current.GetComponent<RectTransform>();
+        rect.anchorMin = new Vector2(0.5f, 0.5f);
+        rect.anchorMax = new Vector2(0.5f, 0.5f);
+
         currentFact = eventData.pointerDrag.GetComponent<FactWrapper>().fact;
         Debug.Log("recieved Fact: " + currentFact.Id);