diff --git a/index.html b/index.html
index 742d964..7649e46 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="UTF-8">
     <link rel="icon" href="/favicon.ico">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
+    <meta name="viewport" content="width=device-width">
     <title>Sylvan Quest - Play</title>
   </head>
   <body>
diff --git a/package-lock.json b/package-lock.json
index 33a369a..aa49034 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3642,9 +3642,9 @@
       }
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.5.40",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.40.tgz",
-      "integrity": "sha512-LYm78o6if4zTasnYclgQzxEcgMoIcybWOhkATWepN95uwVVWV0/IW10v+2sIeHE+bIYWipLneTftVyQm45UY7g==",
+      "version": "1.5.41",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz",
+      "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==",
       "dev": true,
       "license": "ISC"
     },
diff --git a/src/App.vue b/src/App.vue
index efc6e89..c4d4ede 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,8 +1,6 @@
 <template>
-  <div class="overflow-hidden">
-    <Notifications />
-    <component :is="currentScreen" />
-  </div>
+  <Notifications />
+  <component :is="currentScreen" />
 </template>
 
 <script setup lang="ts">
diff --git a/src/assets/scss/main.scss b/src/assets/scss/main.scss
index bd77ab3..fcba8d7 100644
--- a/src/assets/scss/main.scss
+++ b/src/assets/scss/main.scss
@@ -12,7 +12,7 @@
 //Globals
 
 body {
-  @apply bg-black m-0 select-none overscroll-none overflow-hidden;
+  @apply bg-black m-0 select-none;
   -ms-overflow-style: none;
   scrollbar-width: none;
 
diff --git a/src/components/gameMaster/zoneEditor/Objects.vue b/src/components/gameMaster/zoneEditor/Objects.vue
index 33d9c1c..152cd5b 100644
--- a/src/components/gameMaster/zoneEditor/Objects.vue
+++ b/src/components/gameMaster/zoneEditor/Objects.vue
@@ -1,6 +1,10 @@
 <template>
   <SelectedZoneObject v-if="selectedZoneObject" :zoneObject="selectedZoneObject" />
-  <Image v-for="object in zoneEditorStore.zone?.zoneObjects" :key="object.id" v-bind="getObjectImageProps(object)" />
+  <Image
+    v-for="object in zoneEditorStore.zone?.zoneObjects"
+    v-bind="getObjectImageProps(object)"
+    @pointerup="() => selectedZoneObject = object"
+  />
 </template>
 
 <script setup lang="ts">
@@ -10,7 +14,7 @@ import { Image, useScene } from 'phavuer'
 import { useZoneEditorStore } from '@/stores/zoneEditorStore'
 import type { ZoneObject } from '@/types'
 import SelectedZoneObject from '@/components/gameMaster/zoneEditor/partials/SelectedZoneObject.vue'
-import { onBeforeMount, onBeforeUnmount, ref } from 'vue'
+import { onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'
 
 const scene = useScene()
 const zoneEditorStore = useZoneEditorStore()
@@ -24,9 +28,10 @@ function getObjectImageProps(object: ZoneObject) {
   return {
     // alpha: object.id === movingZoneObject.value?.id ? .5 : 1,
     depth: calculateIsometricDepth(object.positionX, object.positionY, object.object.frameWidth, object.object.frameHeight),
-    tint: selectedZoneObject?.id === object.id ? 0x00ff00 : 0xffffff,
+    tint: selectedZoneObject.value?.id === object.id ? 0x00ff00 : 0xffffff,
     x: tileToWorldX(props.tilemap as any, object.positionX, object.positionY),
     y: tileToWorldY(props.tilemap as any, object.positionX, object.positionY),
+    flipX: object.isRotated,
     texture: object.object.id,
     originY: Number(object.object.originX),
     originX: Number(object.object.originY)
@@ -80,4 +85,42 @@ onBeforeUnmount(() => {
   scene.input.off(Phaser.Input.Events.POINTER_DOWN, addZoneObject)
   scene.input.off(Phaser.Input.Events.POINTER_MOVE, addZoneObject)
 })
+
+// watch zoneEditorStore.objectList and update originX and originY of objects in zoneObjects
+watch(
+  zoneEditorStore.objectList,
+  (newObjects) => {
+    // Check if zoneEditorStore.zone is set
+    if (!zoneEditorStore.zone) return
+
+    // Update zoneObjects
+    zoneEditorStore.zone.zoneObjects = zoneEditorStore.zone.zoneObjects.map((zoneObject) => {
+      const updatedObject = newObjects.find((obj) => obj.id === zoneObject.objectId)
+      if (updatedObject) {
+        return {
+          ...zoneObject,
+          object: {
+            ...zoneObject.object,
+            originX: updatedObject.originX,
+            originY: updatedObject.originY
+          }
+        }
+      }
+      return zoneObject
+    })
+
+    // Update selectedObject if it's set
+    if (zoneEditorStore.selectedObject) {
+      const updatedObject = newObjects.find((obj) => obj.id === zoneEditorStore.selectedObject?.id)
+      if (updatedObject) {
+        zoneEditorStore.setSelectedObject({
+          ...zoneEditorStore.selectedObject,
+          originX: updatedObject.originX,
+          originY: updatedObject.originY
+        })
+      }
+    }
+  },
+  { deep: true }
+)
 </script>
diff --git a/src/components/zone/Objects.vue b/src/components/zone/Objects.vue
index 0298637..cbb347f 100644
--- a/src/components/zone/Objects.vue
+++ b/src/components/zone/Objects.vue
@@ -1,6 +1,5 @@
 <template>
-  <Image v-for="object in zoneStore.zone?.zoneObjects" :key="object.id" v-bind="getObjectImageProps(object)" />
-  <!--    <Text v-for="object in zoneStore.zone?.zoneObjects" :key="object.id" :depth="99999" :text="Math.ceil(calculateIsometricDepth(object.positionX, object.positionY, object.object.frameWidth, object.object.frameHeight))" v-bind="getObjectProps(object)" />-->
+  <Image v-for="object in zoneStore.zone?.zoneObjects" v-bind="getObjectImageProps(object)" />
 </template>
 
 <script setup lang="ts">