diff --git a/Assets/HideUI.cs b/Assets/HideUI.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5800b317fb64debe0ec48670c6e15b34dbbd429e
--- /dev/null
+++ b/Assets/HideUI.cs
@@ -0,0 +1,48 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class HideUI : MonoBehaviour
+{
+
+    public KeyCode Key = KeyCode.F1;
+    public UnityStandardAssets.Characters.FirstPerson.FirstPersonController CamControl;
+    public bool LockOnly = true;
+    public MeshRenderer CursorRenderer;
+
+    void Start()
+    {
+        if (!LockOnly)
+        {
+            bool camActive = transform.localScale.x != 1;
+            CamControl.enabled = camActive;
+            CursorRenderer.enabled = camActive;
+        }
+
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (Input.GetKeyDown(Key))
+        {
+
+            if (LockOnly)
+            {
+                CamControl.enabled = !CamControl.enabled;
+                CursorRenderer.enabled = CamControl.enabled;
+            }
+            else
+            {
+                transform.localScale = Vector3.one * ((transform.localScale.x + 1) % 2);
+                bool camActive = transform.localScale.x != 1;
+
+
+                CamControl.enabled = camActive;
+                CursorRenderer.enabled = camActive;
+            }
+
+
+        }
+    }
+}
diff --git a/Assets/HideUI.cs.meta b/Assets/HideUI.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..84fa25e9339a63c0e524e693b7bec808fd8c9660
--- /dev/null
+++ b/Assets/HideUI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c5dcea29b6606df49b7b08146b7e5b16
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/HoverText.cs b/Assets/HoverText.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e3d07c9a4c07f8dc4e2bb48aaf4da3e454485598
--- /dev/null
+++ b/Assets/HoverText.cs
@@ -0,0 +1,28 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+public class HoverText : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
+{
+    Transform TextTransform;
+    // Start is called before the first frame update
+    void Start()
+    {
+        TextTransform = transform.GetChild(0);
+    }
+
+    public void OnPointerEnter(PointerEventData pointerEventData)
+    {
+        Debug.Log("hover");
+        TextTransform.gameObject.SetActive(true);
+    }
+
+    //Detect when Cursor leaves the GameObject
+    public void OnPointerExit(PointerEventData pointerEventData)
+    {
+        TextTransform.gameObject.SetActive(false);
+    }
+
+ 
+}
diff --git a/Assets/HoverText.cs.meta b/Assets/HoverText.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f86d37fd77d784f24d415d88f24b3060acc08d69
--- /dev/null
+++ b/Assets/HoverText.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fc5c3ad69a727824d9d57b8edd909a1a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/InventoryStuff/Inventory.meta b/Assets/InventoryStuff/Inventory.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9818e1d19efb2406338d62594c7ffb0012b023e8
--- /dev/null
+++ b/Assets/InventoryStuff/Inventory.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b543d9677cbde534ab69c0a229bfdb06
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/InventoryStuff/Items/images/Delete.png b/Assets/InventoryStuff/Items/images/Delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8a47f6accd544a4afbff0a672ac2ad04d547b41
--- /dev/null
+++ b/Assets/InventoryStuff/Items/images/Delete.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c3529d7342c60b62b10e5a22cf1082c6751f7ab103e57d0752f95da7eb957c07
+size 11160
diff --git a/Assets/InventoryStuff/Items/images/Delete.png.meta b/Assets/InventoryStuff/Items/images/Delete.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..530a135b46b405085f9dbce2a273ea2440800fbb
--- /dev/null
+++ b/Assets/InventoryStuff/Items/images/Delete.png.meta
@@ -0,0 +1,99 @@
+fileFormatVersion: 2
+guid: d456617ba2282854d9570dcebcc2b279
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: c55f6a1b720f2de47b83863fb1590096
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/InventoryStuff/Items/images/Extra.png b/Assets/InventoryStuff/Items/images/Extra.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c9597ad7548b1968ad283055efd434e6468fd43
--- /dev/null
+++ b/Assets/InventoryStuff/Items/images/Extra.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:71fa60d23a65087a0a996d83302d568cb9b3e50a1c08da9338c065e4ffe9f36f
+size 4009
diff --git a/Assets/InventoryStuff/Items/images/Extra.png.meta b/Assets/InventoryStuff/Items/images/Extra.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..20b091e03c12404a89c7ebe86bb56ba05fcc1315
--- /dev/null
+++ b/Assets/InventoryStuff/Items/images/Extra.png.meta
@@ -0,0 +1,99 @@
+fileFormatVersion: 2
+guid: f4c84b8f318e3cb469eb72c734ccbf39
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: c7e5933ed8db8fe49bda7c691fdeef6d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/ToolModeSelector.cs b/Assets/ToolModeSelector.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4c1277129599599c073be4c4a50a10fafd61733a
--- /dev/null
+++ b/Assets/ToolModeSelector.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ToolModeSelector : MonoBehaviour
+{
+    private Button[] Buttons;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        //Requires buttons to be in the same order as the toolmode enum
+        //We could fully generate the buttons instead if we have icons with file names matching the enums
+        var buttons = GetComponentsInChildren<Button>();
+        Buttons = buttons.OrderBy(x => x.transform.position.x).ToArray();
+
+        for(int i = 0; i< Buttons.Length;++i)
+        {
+            int copiedIndex = i; //this is important
+            var button = Buttons[i];
+            button.onClick.AddListener(()=> Select(copiedIndex));
+            
+        }
+
+    
+        Buttons[(int)CommunicationEvents.ActiveToolMode].transform.localScale *= 2;
+
+    }
+
+    public void Select(int id)
+    {
+
+        Buttons[(int)CommunicationEvents.ActiveToolMode].transform.localScale /= 2;
+        CommunicationEvents.ToolModeChangedEvent.Invoke((ToolMode)id);
+        Buttons[(int)CommunicationEvents.ActiveToolMode].transform.localScale *= 2;
+    }
+
+
+    // Update is called once per frame
+    void Update()
+    {   //Check if the ToolMode was switched
+        CheckToolModeSelection();
+        
+    }
+
+
+    //Checks if the ToolMode was switched by User, and handle it
+    void CheckToolModeSelection()
+    {
+        if (Input.GetButtonDown("ToolMode"))
+        {
+            ToolMode tempActiveToolMode = CommunicationEvents.ActiveToolMode;
+            int id = ((int)tempActiveToolMode + 1) % System.Enum.GetNames(typeof(ToolMode)).Length;
+           // tempActiveToolMode =(ToolMode) id ;
+            //Invoke the Handler for the Facts
+            // CommunicationEvents.ToolModeChangedEvent.Invoke(tempActiveToolMode);
+            Select(id);
+        }else if(Input.GetAxis("Mouse ScrollWheel") !=0){
+
+            int move = (int) Mathf.Sign(Input.GetAxis("Mouse ScrollWheel"));
+
+            ToolMode tempActiveToolMode = CommunicationEvents.ActiveToolMode;
+            int id = ((int)tempActiveToolMode + move) % System.Enum.GetNames(typeof(ToolMode)).Length;
+            if (id < 0) id = System.Enum.GetNames(typeof(ToolMode)).Length-1;
+            Select(id);
+        }
+
+
+    }
+}
diff --git a/Assets/ToolModeSelector.cs.meta b/Assets/ToolModeSelector.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2e0400de280a7633921aa20fa02ae35abfcbdfab
--- /dev/null
+++ b/Assets/ToolModeSelector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 99a29f09e243f1a4a9048a7e9fea0aec
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/TreeWorld.unity b/Assets/TreeWorld.unity
index 7997c7b8ee7da12af57802507f15fecaac97caef..7461e9e1b4ba5fdebf2b7644a63751b8cab8e13a 100644
--- a/Assets/TreeWorld.unity
+++ b/Assets/TreeWorld.unity
@@ -1448,7 +1448,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 133, y: 0}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1017737550