diff --git a/gso/api/v1/imports.py b/gso/api/v1/imports.py
index bd8c0d5f2cb41b654e198d84f093d8d204714215..de160e2a4c4808104268620f8d5c40233243f8c1 100644
--- a/gso/api/v1/imports.py
+++ b/gso/api/v1/imports.py
@@ -7,7 +7,7 @@ from orchestrator.security import opa_security_default
 from orchestrator.services import processes, subscriptions
 from sqlalchemy.exc import MultipleResultsFound
 
-from gso.schemas.imports import ImportResponseModel, IptrunkImportModel, RouterImportModel, SiteImportModel
+from utils.types.imports import ImportResponseModel, IptrunkImportModel, RouterImportModel, SiteImportModel
 
 router = APIRouter(prefix="/imports", tags=["Imports"], dependencies=[Depends(opa_security_default)])
 
diff --git a/gso/products/product_blocks/router.py b/gso/products/product_blocks/router.py
index 58cf1d3602ffe3a10bc226f71064c88286a0bbf4..7a005907d5af1f11a9d01c483f9300d339992187 100644
--- a/gso/products/product_blocks/router.py
+++ b/gso/products/product_blocks/router.py
@@ -5,7 +5,7 @@ from orchestrator.domain.base import ProductBlockModel
 from orchestrator.types import SubscriptionLifecycle, strEnum
 
 from gso.products.product_blocks.site import SiteBlock, SiteBlockInactive, SiteBlockProvisioning
-from gso.products.shared import PortNumber
+from utils.types.port import PortNumber
 
 
 class RouterVendor(strEnum):
@@ -92,5 +92,5 @@ class RouterBlock(RouterBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTI
     router_role: RouterRole
     #:  The :class:`Site` that this router resides in. Both physically and computationally.
     router_site: SiteBlock
-    #:  The router is going to have a LT interface between inet0 and IAS
+    #:  The router is going to have an LT interface between inet0 and IAS
     router_is_ias_connected: bool
diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py
index 74f4cf25dd1266424e222f301439a0a9f3dde694..683636e15d7f89a38a7343185c61be6ca9fdc541 100644
--- a/gso/products/product_blocks/site.py
+++ b/gso/products/product_blocks/site.py
@@ -2,7 +2,7 @@
 from orchestrator.domain.base import ProductBlockModel
 from orchestrator.types import SubscriptionLifecycle, strEnum
 
-from gso.schemas.types import LatitudeCoordinate, LongitudeCoordinate
+from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate
 
 
 class SiteTier(strEnum):
diff --git a/gso/schemas/__init__.py b/gso/utils/types/__init__.py
similarity index 100%
rename from gso/schemas/__init__.py
rename to gso/utils/types/__init__.py
diff --git a/gso/schemas/imports.py b/gso/utils/types/imports.py
similarity index 100%
rename from gso/schemas/imports.py
rename to gso/utils/types/imports.py
diff --git a/gso/products/shared.py b/gso/utils/types/port.py
similarity index 100%
rename from gso/products/shared.py
rename to gso/utils/types/port.py
diff --git a/gso/schemas/types.py b/gso/utils/types/snmp.py
similarity index 100%
rename from gso/schemas/types.py
rename to gso/utils/types/snmp.py
diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py
index 91e7e82a3355af50e3159a1e9dc4fa524db83aff..ddda8b386c87ad5bf9a4223c6115d1c057792811 100644
--- a/gso/workflows/router/create_router.py
+++ b/gso/workflows/router/create_router.py
@@ -14,7 +14,7 @@ from pydantic import validator
 from gso.products.product_blocks.router import RouterRole, RouterVendor, generate_fqdn
 from gso.products.product_types.router import RouterInactive, RouterProvisioning
 from gso.products.product_types.site import Site
-from gso.products.shared import PortNumber
+from utils.types.port import PortNumber
 from gso.services import infoblox, provisioning_proxy, subscriptions
 from gso.services.netbox_client import NetboxClient
 from gso.services.provisioning_proxy import pp_interaction
diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py
index edcb7a01acfdf9cc5620ac4b95a27e90d4afb72d..f5642b73f7d869ba4afa54dbf32ab123474de6a8 100644
--- a/gso/workflows/site/create_site.py
+++ b/gso/workflows/site/create_site.py
@@ -12,8 +12,8 @@ from pydantic import validator
 
 from gso.products.product_blocks import site as site_pb
 from gso.products.product_types import site
-from gso.schemas.types import LatitudeCoordinate, LongitudeCoordinate
 from gso.workflows.utils import customer_selector
+from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate
 
 
 def initial_input_form_generator(product_name: str) -> FormGenerator:  # noqa: C901
diff --git a/gso/workflows/tasks/import_router.py b/gso/workflows/tasks/import_router.py
index 58582390511597768f8ceb7870815968d019947a..62fe1d6b89dcbaa0bdb8c324ab8d4b84b231c27b 100644
--- a/gso/workflows/tasks/import_router.py
+++ b/gso/workflows/tasks/import_router.py
@@ -13,7 +13,7 @@ from gso.products.product_blocks.router import RouterRole, RouterVendor
 from gso.products.product_types import router
 from gso.products.product_types.router import RouterInactive
 from gso.products.product_types.site import Site
-from gso.products.shared import PortNumber
+from utils.types.port import PortNumber
 from gso.products import ProductType
 from gso.services import subscriptions
 from gso.services.crm import get_customer_by_name
diff --git a/test-docs.sh b/test-docs.sh
index 7415bda463ac80b3ab548a0d457ea9d56d030d92..cdc50473e43e7e6c7356e89a5c994bac86f141c2 100755
--- a/test-docs.sh
+++ b/test-docs.sh
@@ -4,5 +4,5 @@ if [ ! -d ./docs/vale/styles/proselint ] || [ ! -d ./docs/vale/styles/Microsoft
   docker run -it --rm -v "$(pwd)"/docs:/docs jdkato/vale:latest --config="/docs/vale/.vale.ini" sync
 fi
 
-docker run -it --rm -v $(pwd):/gso jdkato/vale:latest --glob='!*/migrations/*' \
+docker run -it --rm -v "$(pwd)":/gso jdkato/vale:latest --glob='!*/migrations/*' \
 --config="/gso/docs/vale/.vale.ini" /gso/docs/source /gso/gso
diff --git a/test/schemas/test_types.py b/test/schemas/test_types.py
index dcfb515dbd315a92b205f4faa66a615f81ea0232..b8f6eef13c84c74416ed829320a6cfb41edf4514 100644
--- a/test/schemas/test_types.py
+++ b/test/schemas/test_types.py
@@ -1,6 +1,6 @@
 import pytest
 
-from gso.schemas.types import LatitudeCoordinate, LongitudeCoordinate
+from gso.utils.types.snmp import LatitudeCoordinate, LongitudeCoordinate
 
 
 @pytest.mark.parametrize(
diff --git a/test/workflows/__init__.py b/test/workflows/__init__.py
index 19707ff0ff1b4e53e3309f9c3509c8e24001a9fc..9704dceec41bfc7644dfcfe5d81e6918bfd0ad55 100644
--- a/test/workflows/__init__.py
+++ b/test/workflows/__init__.py
@@ -160,14 +160,14 @@ def _sanitize_input(input_data: State | list[State]) -> list[State]:
     if not isinstance(input_data, list):
         input_data = [input_data]
 
-    # We need a copy here and we want to mimic the actual code that returns a serialized version of the state
+    # We need a copy here, and we want to mimic the actual code that returns a serialized version of the state
     return cast(list[State], json_loads(json_dumps(input_data)))
 
 
 def run_workflow(workflow_key: str, input_data: State | list[State]) -> tuple[WFProcess, ProcessStat, list]:
     # ATTENTION!! This code needs to be as similar as possible to `server.services.processes.start_process`
-    # The main differences are: we use a different step log function and we don't run in
-    # a sepperate thread
+    # The main differences are: we use a different step log function, and we don't run in
+    # a separate thread
     user_data = _sanitize_input(input_data)
     user = "john.doe"