diff --git a/joj3_config_generator/models/task.py b/joj3_config_generator/models/task.py
index 5d9e87a..f3171d0 100644
--- a/joj3_config_generator/models/task.py
+++ b/joj3_config_generator/models/task.py
@@ -60,20 +60,24 @@ class Files(BaseModel):
 class Limit(BaseModel):
     mem: int = DEFAULT_MEMORY_LIMIT
     cpu: int = DEFAULT_CPU_LIMIT
-    stderr: int = DEFAULT_FILE_LIMIT
     stdout: int = DEFAULT_FILE_LIMIT
+    stderr: int = DEFAULT_FILE_LIMIT
 
     model_config = ConfigDict(validate_assignment=True)
 
     @field_validator("cpu", mode="before")
     @classmethod
     def ensure_time(cls, v: Any) -> Time:
-        return Time(v)
+        if isinstance(v, str):
+            return Time(v)
+        raise ValueError("Must be a string")
 
     @field_validator("mem", "stdout", "stderr", mode="before")
     @classmethod
     def ensure_mem(cls, v: Any) -> Memory:
-        return Memory(v)
+        if isinstance(v, str):
+            return Memory(v)
+        raise ValueError("Must be a string")
 
 
 class Stage(BaseModel):