diff --git a/src/Settings.py b/src/Settings.py
index 5b76c1dcc2728bd41226c56fc4620b254350310f..fb1f8ef13746214ff9060acf6b507c4c2aa37ef9 100644
--- a/src/Settings.py
+++ b/src/Settings.py
@@ -2,3 +2,6 @@ import json
 
 with open('../settings.json', 'r', encoding='UTF-8') as f:
     SETTINGS = json.load(f)
+
+with open('version.json', 'r', encoding='UTF-8') as f:
+    VERSION = json.load(f)['version']
diff --git a/src/StorageLeaf.py b/src/StorageLeaf.py
index a42fb06ae1e2505537564df2fd40e2c9aa3deb43..4bf7fc6689249c60af650ba22901b7b7fc587a33 100644
--- a/src/StorageLeaf.py
+++ b/src/StorageLeaf.py
@@ -3,27 +3,23 @@ import os
 
 import uvicorn
 from TheCodeLabs_BaseUtils.DefaultLogger import DefaultLogger
-from fastapi import FastAPI, Depends
-from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html
+from fastapi import FastAPI
 from fastapi.middleware.cors import CORSMiddleware
-from sqlalchemy.orm import Session
+from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html
 from starlette.responses import RedirectResponse, FileResponse
 
-from Settings import SETTINGS
+from Settings import SETTINGS, VERSION
 from logic import Constants
-from logic.Dependencies import get_database
 from logic.DiscoveryService import DiscoveryService
-from logic.database import Models, Schemas, Crud
+from logic.database import Models
 from logic.database.Database import engine
-from logic.routers import DeviceRouter
+from logic.routers import DeviceRouter, GeneralRouter
 from logic.routers import SensorRouter, MeasurementRouter
 
 LOGGER = DefaultLogger().create_logger_if_not_exists(Constants.APP_NAME)
 
-databaseSettings = SETTINGS['database']
+DATABASE_SETTINGS = SETTINGS['database']
 
-with open('version.json', 'r', encoding='UTF-8') as f:
-    VERSION = json.load(f)['version']
 
 # create database tables
 Models.Base.metadata.create_all(bind=engine)
@@ -54,14 +50,6 @@ def favicon():
     return FileResponse(os.path.join(app.root_path, 'static', 'favicon.ico'), media_type='image/vnd.microsoft.icon')
 
 
-@app.get('/version',
-         summary='Gets information about the server version',
-         tags=['general'],
-         response_model=Schemas.Version)
-async def version():
-    return Schemas.Version(**VERSION)
-
-
 @app.get('/docs', include_in_schema=False)
 def overridden_swagger():
     return get_swagger_ui_html(openapi_url='/openapi.json', title='The StorageLeaf API',
@@ -74,20 +62,7 @@ def overridden_redoc():
                           redoc_favicon_url=app.url_path_for('favicon'))
 
 
-@app.get('/databaseInfo',
-         summary='Gets information about the database version',
-         tags=['general'],
-         response_model=Schemas.DatabaseInfo)
-async def databaseInfo(db: Session = Depends(get_database)):
-    numberOfMeasurements = Crud.get_total_number_of_measurements(db)
-
-    sizeInBytes = os.path.getsize(databaseSettings['databasePath'])
-    sizeInMegaBytes = sizeInBytes // 1024 // 1024
-
-    return Schemas.DatabaseInfo(number_of_measurements=numberOfMeasurements,
-                                size_on_disk_in_mb=sizeInMegaBytes)
-
-
+app.include_router(GeneralRouter.router)
 app.include_router(DeviceRouter.router)
 app.include_router(SensorRouter.router)
 app.include_router(MeasurementRouter.router)
diff --git a/src/logic/database/DatabaseInfoProvider.py b/src/logic/database/DatabaseInfoProvider.py
new file mode 100644
index 0000000000000000000000000000000000000000..4089791e74881960bef81bdffbca6b0488170ac4
--- /dev/null
+++ b/src/logic/database/DatabaseInfoProvider.py
@@ -0,0 +1,16 @@
+import os
+
+from sqlalchemy.orm import Session
+
+from Settings import SETTINGS
+from logic.database import Schemas, Crud
+
+
+def get_database_info(db: Session) -> Schemas.DatabaseInfo:
+    numberOfMeasurements = Crud.get_total_number_of_measurements(db)
+
+    sizeInBytes = os.path.getsize(SETTINGS['database']['databasePath'])
+    sizeInMegaBytes = sizeInBytes // 1024 // 1024
+
+    return Schemas.DatabaseInfo(number_of_measurements=numberOfMeasurements,
+                                size_on_disk_in_mb=sizeInMegaBytes)
\ No newline at end of file
diff --git a/src/logic/routers/GeneralRouter.py b/src/logic/routers/GeneralRouter.py
new file mode 100644
index 0000000000000000000000000000000000000000..81938bceaaa7b928dd777fc0456d781b08a164d0
--- /dev/null
+++ b/src/logic/routers/GeneralRouter.py
@@ -0,0 +1,25 @@
+from fastapi import APIRouter, Depends
+from sqlalchemy.orm import Session
+
+from Settings import VERSION
+from logic.Dependencies import get_database
+from logic.database import Schemas, DatabaseInfoProvider
+
+router = APIRouter(
+    prefix='/general',
+    tags=['general']
+)
+
+
+@router.get('/version',
+            summary='Gets information about the server version',
+            response_model=Schemas.Version)
+async def version():
+    return Schemas.Version(**VERSION)
+
+
+@router.get('/databaseInfo',
+            summary='Gets information about the database',
+            response_model=Schemas.DatabaseInfo)
+async def databaseInfo(db: Session = Depends(get_database)):
+    return DatabaseInfoProvider.get_database_info(db)