diff --git a/gso/services/ipam.py b/gso/services/ipam.py
index 85b99458913558985f85b185cfc9f8f89f0f8fc9..64e1fdf9c6c1a4638b028677aad8126606b7ccdd 100644
--- a/gso/services/ipam.py
+++ b/gso/services/ipam.py
@@ -1,5 +1,5 @@
 import ipaddress
-from typing import Union
+from typing import Union, Optional
 
 from pydantic import BaseSettings
 
@@ -25,7 +25,7 @@ class HostAddresses(BaseSettings):
     v6: ipaddress.IPv6Address
 
 
-def new_service_networks(service_type: str = "", comment: str = "", extattrs=None) -> ServiceNetworks:
+def new_service_networks(service_type: str = "", comment: str = "", extattrs: dict = None) -> ServiceNetworks:
     if extattrs is None:
         extattrs = {}
     v4_service_network = _ipam.allocate_service_ipv4_network(
@@ -40,10 +40,10 @@ def new_service_networks(service_type: str = "", comment: str = "", extattrs=Non
 def new_service_host(
     hostname: str,
     service_type: str = "",
-    service_networks: ServiceNetworks = None,
-    host_addresses: HostAddresses = None,
-    cname_aliases=None,
-    extattrs=None,
+    service_networks: Optional[ServiceNetworks] = None,
+    host_addresses: Optional[HostAddresses] = None,
+    cname_aliases: list = None,
+    extattrs: dict = None,
 ) -> HostAddresses:
     if extattrs is None:
         extattrs = {}
diff --git a/gso/services/resource_manager.py b/gso/services/resource_manager.py
index 51847eb17ae6654ed12ab526a575afff127eb831..50b1bc891773e035b28fd30ce540ffe790e2dbce 100644
--- a/gso/services/resource_manager.py
+++ b/gso/services/resource_manager.py
@@ -3,14 +3,14 @@ import requests
 from gso import settings
 
 
-def import_new_router(router_name, oss_params=settings.OSSParams) -> None:
+def import_new_router(router_name: str, oss_params=settings.OSSParams) -> None:
     r = requests.post(
         f"{oss_params.RESOURCE_MANAGER_API_PREFIX}" f"/api/interfaces/initialize-router/{router_name}", timeout=10000
     )
     r.raise_for_status()
 
 
-def next_lag(router_name, oss_params=settings.OSSParams) -> dict:
+def next_lag(router_name: str, oss_params=settings.OSSParams) -> dict:
     r = requests.post(
         f"{oss_params.RESOURCE_MANAGER_API_PREFIX}" f"/api/interfaces/next-lag/{router_name}", timeout=10000
     )
@@ -19,7 +19,7 @@ def next_lag(router_name, oss_params=settings.OSSParams) -> dict:
     return response["name"]
 
 
-def next_physical(router_name, lag_name, oss_params=settings.OSSParams) -> dict:
+def next_physical(router_name: str, lag_name: str, oss_params=settings.OSSParams) -> dict:
     # TODO: speed needed (if first interface)
     r = requests.post(
         f"{oss_params.RESOURCE_MANAGER_API_PREFIX}" f"/api/interfaces/next-physical/{router_name}/{lag_name}",
diff --git a/pyproject.toml b/pyproject.toml
index 409c55045fde0238fc8ad08602811d9d539a11d8..ce6ec4bfe4cca6701f84ab0ec716bb07580661b5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -25,6 +25,7 @@ exclude = '''
 [tool.mypy]
 exclude = [
     "venv",
+    "test/*",
     "gso/services/_ipam.py"  # TODO: remove
 ]
 ignore_missing_imports = true