diff --git a/.gitignore b/.gitignore
index fc70b4a3e20e67ecc76c16c1389981ca0c154399..d95d47655ab9bacaa5a937d05998f0783285d419 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 **__pycache__/
-**app/
\ No newline at end of file
+
+# contains data for local tests
+app/
\ No newline at end of file
diff --git a/apiserver/__init__.py b/apiserver/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d7a803fadc48a66e258ab37e1eb01d236f46b239 100644
--- a/apiserver/__init__.py
+++ b/apiserver/__init__.py
@@ -0,0 +1 @@
+from .main import app
\ No newline at end of file
diff --git a/apiserver/main.py b/apiserver/main.py
index 7a984b90a32f25e6de2a0d12f99cd97d612dc56c..91fd2b513c9a8475664edf344e1b5f370ee580fa 100644
--- a/apiserver/main.py
+++ b/apiserver/main.py
@@ -6,11 +6,11 @@ from fastapi import HTTPException
 
 from pydantic import BaseModel
 
-from LocationStorage import LocationDataType
-from LocationStorage import LocationData
-from LocationStorage import AbstractLocationDataStorageAdapter
+from .storage import JsonFileStorageAdapter
 
-from JsonFileStorageAdapter import JsonFileStorageAdapter
+from .storage import AbstractLocationDataStorageAdapter
+from .storage import LocationData
+from .storage import LocationDataType
 
 from enum import Enum
 
@@ -39,7 +39,8 @@ def list_datasets(location_data_type : LocationDataType):
 # register a new dataset, the response will contain the new dataset and its id
 @app.put("/{location_data_type}")
 def add_dataset(location_data_type : LocationDataType, dataset : LocationData):
-    return adapter.addNew(location_data_type, dataset)
+    usr: str = "testuser"
+    return adapter.addNew(location_data_type, dataset, usr)
 
 # returns all information about a specific dataset, identified by id
 @app.get("/{location_data_type}/{dataset_id}")
@@ -53,6 +54,6 @@ def get_specific_dataset(location_data_type : LocationDataType, dataset_id: str)
 @app.put("/{location_data_type}/{dataset_id}")
 def update_specific_dataset(location_data_type : LocationDataType, dataset_id: str, dataset : LocationData):
     try:
-        return adapter.updateDetails(location_data_type, dataset_id, dataset)
+        return adapter.updateDetails(location_data_type, dataset_id, dataset, usr)
     except FileNotFoundError:
         raise HTTPException(status_code=404, detail='The provided id does not exist for this datatype.')
diff --git a/apiserver/JsonFileStorageAdapter.py b/apiserver/storage/JsonFileStorageAdapter.py
similarity index 96%
rename from apiserver/JsonFileStorageAdapter.py
rename to apiserver/storage/JsonFileStorageAdapter.py
index e65e62d8aac3bfe97456322bd3be0b0c506be0f7..f6dde1fff4069b53efc84669d5d91b473cebfd42 100644
--- a/apiserver/JsonFileStorageAdapter.py
+++ b/apiserver/storage/JsonFileStorageAdapter.py
@@ -2,7 +2,7 @@ import os
 import json
 import uuid
 
-from LocationStorage import AbstractLocationDataStorageAdapter, LocationData, LocationDataType
+from .LocationStorage import AbstractLocationDataStorageAdapter, LocationData, LocationDataType
 
 from typing import List
 
@@ -85,7 +85,7 @@ class JsonFileStorageAdapter(AbstractLocationDataStorageAdapter):
             json.dump(data.__dict__, file)
         return {id : data}
 
-    def getOwner(self, type: LocationDataType(), id: str):
+    def getOwner(self, type: LocationDataType, id: str):
         raise NotImplementedError()
 
     def checkPerm(self, type: LocationDataType, id: str, usr: str):
diff --git a/apiserver/LocationStorage.py b/apiserver/storage/LocationStorage.py
similarity index 100%
rename from apiserver/LocationStorage.py
rename to apiserver/storage/LocationStorage.py
diff --git a/apiserver/storage/__init__.py b/apiserver/storage/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d63565e7b7cc56a1939e1b1371edffbfdfd95e9
--- /dev/null
+++ b/apiserver/storage/__init__.py
@@ -0,0 +1,3 @@
+from .JsonFileStorageAdapter import JsonFileStorageAdapter
+
+from .LocationStorage import LocationDataType, LocationData, AbstractLocationDataStorageAdapter
\ No newline at end of file
diff --git a/apiserver_tests/__init__.py b/apiserver_tests/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/apiserver_tests/context.py b/apiserver_tests/context.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f8a3617f1bab5c1c03d74afd466644f33f1650c
--- /dev/null
+++ b/apiserver_tests/context.py
@@ -0,0 +1,6 @@
+import os
+import sys
+sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
+
+import apiserver
+import apiserver.storage as storage 
\ No newline at end of file
diff --git a/apiserver_tests/test_responsiveness.py b/apiserver_tests/test_responsiveness.py
index db58b1685dbd3826de184ce640495ae1fdbb0e9d..b70b0b900fc2587a988881031e6cfe39a03e71e5 100644
--- a/apiserver_tests/test_responsiveness.py
+++ b/apiserver_tests/test_responsiveness.py
@@ -3,17 +3,19 @@
 
 from fastapi.testclient import TestClient
 
-from apiserver.LocationStorage import LocationDataType
-from apiserver import main
+from context import apiserver
+from context import storage
 
 
-client = TestClient(main.app)
+client = TestClient(apiserver.app)
 
+# get root
 def test_root():
     rsp = client.get('/')
     assert rsp.status_code >= 200 and rsp.status_code < 300 # any 200 response is fine, as a get to the root should not return any error
 
+# get every type in type enum
 def test_types():
-    for location_type in LocationDataType:
+    for location_type in storage.LocationDataType:
         rsp = client.get('/' + location_type.value)
         assert rsp.status_code >= 200 and rsp.status_code < 300 # any 200 response is fine, as a get to the datatypes should not return any error
\ No newline at end of file
diff --git a/app/data/.testingdir b/app/data/.testingdir
new file mode 100644
index 0000000000000000000000000000000000000000..33b203066e6115f74a910cb25a8ba96079424033
--- /dev/null
+++ b/app/data/.testingdir
@@ -0,0 +1 @@
+# This file only exists as a placeholder, so that local testing works immediatly after cloning.
\ No newline at end of file