diff --git a/geant_service_orchestrator/settings.py b/geant_service_orchestrator/settings.py
index 98352e6ba99ec019ff4eb8a8ea317a8830401825..f842dd696fb2837373b17cb3e81282db0487ac44 100644
--- a/geant_service_orchestrator/settings.py
+++ b/geant_service_orchestrator/settings.py
@@ -1,6 +1,6 @@
+import ipaddress
 import json
 import os
-from typing import Optional
 from pydantic import BaseSettings
 
 
@@ -12,14 +12,19 @@ class InfoBloxParams(BaseSettings):
     password: str
 
 
-class ServiceNetworkProtocolParams(BaseSettings):
-    container: str  # ipaddress?
-    mask: int
+class V4NetworkParams(BaseSettings):
+    container: ipaddress.IPv4Network
+    mask: int  # TODO: validation on mask?
+
+
+class V6NetworkParams(BaseSettings):
+    container: ipaddress.IPv6Network
+    mask: int  # TODO: validation on mask?
 
 
 class ServiceNetworkParams(BaseSettings):
-    V4: ServiceNetworkProtocolParams
-    V6: ServiceNetworkProtocolParams
+    V4: V4NetworkParams
+    V6: V6NetworkParams
 
 
 class IPAMParams(BaseSettings):
@@ -34,6 +39,10 @@ class OSSParams(BaseSettings):
 
 
 def load_oss_params() -> OSSParams:
+    """
+    look for OSS_PARAMS_FILENAME in the environment and load the
+    parameters from that file
+    """
     with open(os.environ['OSS_PARAMS_FILENAME']) as f:
         return OSSParams(**json.loads(f.read()))