diff --git a/public/assets/models/well_module/scene.gltf b/public/assets/models/well_module/scene.gltf
new file mode 100644
index 0000000000000000000000000000000000000000..21c59a0c743f781f68750f976603fe9b01aca7f3
--- /dev/null
+++ b/public/assets/models/well_module/scene.gltf
@@ -0,0 +1,1062 @@
+{
+  "accessors": [
+    {
+      "bufferView": 2,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.974187850952148,
+        10.255986213684082,
+        17.372589111328125
+      ],
+      "min": [
+        -9.818893432617188,
+        -9.324118614196777,
+        0.26381799578666687
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 786384,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9988996386528015,
+        0.998038113117218,
+        1.0
+      ],
+      "min": [
+        -0.997166633605957,
+        -0.9843600988388062,
+        -0.9999427795410156
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9988430142402649,
+        0.9993090033531189
+      ],
+      "min": [
+        0.015755999833345413,
+        0.006093999836593866
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "componentType": 5125,
+      "count": 326232,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 1572768,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        8.99544906616211,
+        9.489582061767578,
+        17.372589111328125
+      ],
+      "min": [
+        -8.957537651062012,
+        -8.538593292236328,
+        0.12206800282001495
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 2359152,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9999390840530396,
+        0.999950647354126,
+        0.9999984502792358
+      ],
+      "min": [
+        -0.9999783039093018,
+        -0.999921441078186,
+        -0.9999969005584717
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 524256,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.998773992061615,
+        0.9993090033531189
+      ],
+      "min": [
+        0.0030380000825971365,
+        0.0061240000650286674
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1304928,
+      "componentType": 5125,
+      "count": 279873,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 3145536,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.756967544555664,
+        9.694619178771973,
+        17.360429763793945
+      ],
+      "min": [
+        -8.036901473999023,
+        -9.322718620300293,
+        0.09094200283288956
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 3931920,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9994667172431946,
+        0.9999474287033081,
+        1.0
+      ],
+      "min": [
+        -0.9999991655349731,
+        -0.9999703168869019,
+        -0.9999990463256836
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 1048512,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9972389936447144,
+        0.9978139996528625
+      ],
+      "min": [
+        0.004532999824732542,
+        0.0012519999872893095
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2424420,
+      "componentType": 5125,
+      "count": 301992,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 4718304,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.209793090820313,
+        10.2368803024292,
+        17.338274002075195
+      ],
+      "min": [
+        -7.541740894317627,
+        -5.9179840087890625,
+        0.15491600334644318
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 5504688,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9999923706054688,
+        0.9999998807907104,
+        0.9999997615814209
+      ],
+      "min": [
+        -0.9999915361404419,
+        -0.9999969005584717,
+        -0.9999804496765137
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 1572768,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9991049766540527,
+        0.9994620084762573
+      ],
+      "min": [
+        0.0030380000825971365,
+        0.0017359999474138021
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 3632388,
+      "componentType": 5125,
+      "count": 282852,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 6291072,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        7.483634948730469,
+        10.236072540283203,
+        16.844789505004883
+      ],
+      "min": [
+        -9.778924942016602,
+        -5.897278785705566,
+        0.1287190020084381
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 7077456,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9999959468841553,
+        0.9999998807907104,
+        1.0
+      ],
+      "min": [
+        -0.9999731779098511,
+        -0.9998357892036438,
+        -0.9999462366104126
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 2097024,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9979029893875122,
+        0.9985619783401489
+      ],
+      "min": [
+        0.004532999824732542,
+        0.0008629999938420951
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 4763796,
+      "componentType": 5125,
+      "count": 283260,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 7863840,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.96844482421875,
+        10.248430252075195,
+        9.176844596862793
+      ],
+      "min": [
+        -5.525419235229492,
+        -7.037197113037109,
+        0.1286569982767105
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 8650224,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9999984502792358,
+        0.9999784231185913,
+        0.9999998807907104
+      ],
+      "min": [
+        -0.9996067881584167,
+        -0.9998612403869629,
+        -0.999997615814209
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 2621280,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9981859922409058,
+        0.9985619783401489
+      ],
+      "min": [
+        0.0030380000825971365,
+        0.0008399999933317304
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 5896836,
+      "componentType": 5125,
+      "count": 291165,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 9436608,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.967748641967773,
+        5.10797119140625,
+        15.029255867004395
+      ],
+      "min": [
+        -9.815217971801758,
+        -7.9880051612854,
+        0.09160900115966797
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 10222992,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9998524188995361,
+        0.9999804496765137,
+        1.0
+      ],
+      "min": [
+        -0.9999942779541016,
+        -0.9999904632568359,
+        -0.9999988079071045
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 3145536,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9988269805908203,
+        0.9993090033531189
+      ],
+      "min": [
+        0.006775000132620335,
+        0.0006830000202171504
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 7061496,
+      "componentType": 5125,
+      "count": 296289,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 11009376,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        4.429005146026611,
+        7.087273120880127,
+        16.24861717224121
+      ],
+      "min": [
+        -9.627864837646484,
+        -4.133730888366699,
+        0.09193500131368637
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 11795760,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.999897837638855,
+        0.9999991655349731,
+        0.9999998807907104
+      ],
+      "min": [
+        -0.9999889135360718,
+        -0.999998927116394,
+        -0.9999979734420776
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 3669792,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.998835027217865,
+        0.9993090033531189
+      ],
+      "min": [
+        0.0030380000825971365,
+        0.0006830000202171504
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 8246652,
+      "componentType": 5125,
+      "count": 244617,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 12582144,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.974186897277832,
+        10.226961135864258,
+        16.237539291381836
+      ],
+      "min": [
+        -9.818891525268555,
+        -9.318999290466309,
+        0.07265900075435638
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 13368528,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9999970197677612,
+        0.9999862909317017,
+        1.0
+      ],
+      "min": [
+        -0.9999668598175049,
+        -0.9999951124191284,
+        -0.9999973773956299
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 4194048,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.998740017414093,
+        0.9995899796485901
+      ],
+      "min": [
+        0.0030380000825971365,
+        0.0013180000241845846
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 9225120,
+      "componentType": 5125,
+      "count": 239769,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 14154912,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        9.967896461486816,
+        7.950174808502197,
+        14.626608848571777
+      ],
+      "min": [
+        -9.818044662475586,
+        -9.324117660522461,
+        0.11610600352287292
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 14941296,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9999662637710571,
+        0.9999717473983765,
+        1.0
+      ],
+      "min": [
+        -0.9999840259552002,
+        -0.9999964237213135,
+        -0.9999984502792358
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 4718304,
+      "componentType": 5126,
+      "count": 65532,
+      "max": [
+        0.9974679946899414,
+        0.9993090033531189
+      ],
+      "min": [
+        0.0030380000825971365,
+        0.0011470000026747584
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 10184196,
+      "componentType": 5125,
+      "count": 235347,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 15727680,
+      "componentType": 5126,
+      "count": 9537,
+      "max": [
+        9.965117454528809,
+        3.8773748874664307,
+        10.127456665039063
+      ],
+      "min": [
+        -1.9392549991607666,
+        -0.8291900157928467,
+        0.16557100415229797
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 15842124,
+      "componentType": 5126,
+      "count": 9537,
+      "max": [
+        0.9995891451835632,
+        0.9996094107627869,
+        0.9999998807907104
+      ],
+      "min": [
+        -0.9999455213546753,
+        -0.999998927116394,
+        -0.9999980926513672
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 5242560,
+      "componentType": 5126,
+      "count": 9537,
+      "max": [
+        0.9986379742622375,
+        0.9993090033531189
+      ],
+      "min": [
+        0.007449999917298555,
+        0.001487000030465424
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 11125584,
+      "componentType": 5125,
+      "count": 28956,
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 15956568,
+      "componentType": 5126,
+      "count": 9094,
+      "max": [
+        9.974187850952148,
+        10.255986213684082,
+        0.9120259881019592
+      ],
+      "min": [
+        -9.818893432617188,
+        -9.324118614196777,
+        0.04941499978303909
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 16065696,
+      "componentType": 5126,
+      "count": 9094,
+      "max": [
+        1.0,
+        1.0,
+        0.998945951461792
+      ],
+      "min": [
+        -1.0,
+        -1.0,
+        -1.0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 5318856,
+      "componentType": 5126,
+      "count": 9094,
+      "max": [
+        0.8585609793663025,
+        0.9791420102119446
+      ],
+      "min": [
+        0.5165619850158691,
+        0.035691000521183014
+      ],
+      "type": "VEC2"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 11241408,
+      "componentType": 5125,
+      "count": 11709,
+      "type": "SCALAR"
+    }
+  ],
+  "asset": {
+    "extras": {
+      "author": "noe-3d.at (https://sketchfab.com/www.noe-3d.at)",
+      "license": "CC-BY-NC-4.0 (http://creativecommons.org/licenses/by-nc/4.0/)",
+      "source": "https://sketchfab.com/3d-models/ganymedes-brunnen-63c2a6fe24cd4f9daa2d80de5b2d17d4",
+      "title": "Ganymedes-Brunnen"
+    },
+    "generator": "Sketchfab-15.1.0",
+    "version": "2.0"
+  },
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteLength": 11288244,
+      "name": "floatBufferViews",
+      "target": 34963
+    },
+    {
+      "buffer": 0,
+      "byteLength": 5391608,
+      "byteOffset": 11288244,
+      "byteStride": 8,
+      "name": "floatBufferViews",
+      "target": 34962
+    },
+    {
+      "buffer": 0,
+      "byteLength": 16174824,
+      "byteOffset": 16679852,
+      "byteStride": 12,
+      "name": "floatBufferViews",
+      "target": 34962
+    }
+  ],
+  "buffers": [
+    {
+      "byteLength": 32854676,
+      "uri": "scene.bin"
+    }
+  ],
+  "extensionsUsed": [
+    "KHR_materials_specular"
+  ],
+  "images": [
+    {
+      "uri": "textures/Ganymedesbrunnen_O_Material_u1_v1_baseColor.png"
+    }
+  ],
+  "materials": [
+    {
+      "doubleSided": true,
+      "extensions": {
+        "KHR_materials_specular": {
+          "specularColorFactor": [
+            1.0,
+            1.0,
+            1.0
+          ],
+          "specularFactor": 0.0
+        }
+      },
+      "name": "Ganymedesbrunnen_O_Material_u1_v1",
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 0
+        },
+        "metallicFactor": 0.0
+      }
+    },
+    {
+      "doubleSided": true,
+      "extensions": {
+        "KHR_materials_specular": {
+          "specularColorFactor": [
+            1.0,
+            1.0,
+            1.0
+          ],
+          "specularFactor": 0.0
+        }
+      },
+      "name": "bottom",
+      "pbrMetallicRoughness": {
+        "baseColorFactor": [
+          0.02576476423547195,
+          0.02576476423547195,
+          0.02576476423547195,
+          1.0
+        ],
+        "metallicFactor": 0.0
+      }
+    }
+  ],
+  "meshes": [
+    {
+      "name": "Object_0",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 1,
+            "POSITION": 0,
+            "TEXCOORD_0": 2
+          },
+          "indices": 3,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_1",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 5,
+            "POSITION": 4,
+            "TEXCOORD_0": 6
+          },
+          "indices": 7,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_2",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 9,
+            "POSITION": 8,
+            "TEXCOORD_0": 10
+          },
+          "indices": 11,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_3",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 13,
+            "POSITION": 12,
+            "TEXCOORD_0": 14
+          },
+          "indices": 15,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_4",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 17,
+            "POSITION": 16,
+            "TEXCOORD_0": 18
+          },
+          "indices": 19,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_5",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 21,
+            "POSITION": 20,
+            "TEXCOORD_0": 22
+          },
+          "indices": 23,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_6",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 25,
+            "POSITION": 24,
+            "TEXCOORD_0": 26
+          },
+          "indices": 27,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_7",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 29,
+            "POSITION": 28,
+            "TEXCOORD_0": 30
+          },
+          "indices": 31,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_8",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 33,
+            "POSITION": 32,
+            "TEXCOORD_0": 34
+          },
+          "indices": 35,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_9",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 37,
+            "POSITION": 36,
+            "TEXCOORD_0": 38
+          },
+          "indices": 39,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_10",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 41,
+            "POSITION": 40,
+            "TEXCOORD_0": 42
+          },
+          "indices": 43,
+          "material": 0,
+          "mode": 4
+        }
+      ]
+    },
+    {
+      "name": "Object_11",
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 45,
+            "POSITION": 44,
+            "TEXCOORD_0": 46
+          },
+          "indices": 47,
+          "material": 1,
+          "mode": 4
+        }
+      ]
+    }
+  ],
+  "nodes": [
+    {
+      "children": [
+        1
+      ],
+      "matrix": [
+        -0.002188522728540754,
+        -6.477565750572618e-17,
+        0.2917236270054673,
+        0.0,
+        0.2917236270054673,
+        -4.859496646282832e-19,
+        0.002188522728540754,
+        0.0,
+        0.0,
+        0.2917318344116211,
+        6.477747991598306e-17,
+        0.0,
+        0.0,
+        0.0,
+        0.0,
+        1.0
+      ],
+      "name": "Sketchfab_model"
+    },
+    {
+      "children": [
+        2,
+        3,
+        4,
+        5,
+        6,
+        7,
+        8,
+        9,
+        10,
+        11,
+        12,
+        13
+      ],
+      "name": "Ganymedesbrunnen_C.obj.cleaner.materialmerger.gles"
+    },
+    {
+      "mesh": 0,
+      "name": "Object_2"
+    },
+    {
+      "mesh": 1,
+      "name": "Object_3"
+    },
+    {
+      "mesh": 2,
+      "name": "Object_4"
+    },
+    {
+      "mesh": 3,
+      "name": "Object_5"
+    },
+    {
+      "mesh": 4,
+      "name": "Object_6"
+    },
+    {
+      "mesh": 5,
+      "name": "Object_7"
+    },
+    {
+      "mesh": 6,
+      "name": "Object_8"
+    },
+    {
+      "mesh": 7,
+      "name": "Object_9"
+    },
+    {
+      "mesh": 8,
+      "name": "Object_10"
+    },
+    {
+      "mesh": 9,
+      "name": "Object_11"
+    },
+    {
+      "mesh": 10,
+      "name": "Object_12"
+    },
+    {
+      "mesh": 11,
+      "name": "Object_13"
+    }
+  ],
+  "samplers": [
+    {
+      "magFilter": 9729,
+      "minFilter": 9987,
+      "wrapS": 10497,
+      "wrapT": 10497
+    }
+  ],
+  "scene": 0,
+  "scenes": [
+    {
+      "name": "Sketchfab_Scene",
+      "nodes": [
+        0
+      ]
+    }
+  ],
+  "textures": [
+    {
+      "sampler": 0,
+      "source": 0
+    }
+  ]
+}