diff --git a/src/InSillyCloWeb/assemblies/models.py b/src/InSillyCloWeb/assemblies/models.py
index d42bf67073a970a548518a9ee45d796a6977c6f6..3ab9c88f02a82f4fca6e82c618948fc792ff06ec 100644
--- a/src/InSillyCloWeb/assemblies/models.py
+++ b/src/InSillyCloWeb/assemblies/models.py
@@ -338,21 +338,17 @@ class SimulatorJob(models.Model):
                 debug=False,
                 fail_on_error=False,
             ),
-            input_template_filled=os.path.join(self.job_dir, 'design_file.xlsx'),
+            input_template_filled=self.job_dir / 'design_file.xlsx',
             settings=None,
             input_parts_files=self.db_ip_files,
-            gb_plasmids=self.genbank_files,
-            output_dir=Path(self.results_dir),
+            gb_plasmids=self.genbank_dir.glob('**/*.gb'),
+            output_dir=self.results_dir,
             data_source=insillyclo.data_source.DataSourceHardCodedImplementation(),
         )
 
     @property
     def db_ip_files(self):
-        return [os.path.join(self.dbip_dir, file) for file in os.listdir(self.dbip_dir)]
-
-    @property
-    def genbank_files(self):
-        return [Path(os.path.join(self.genbank_dir, file)) for file in os.listdir(self.genbank_dir)]
+        return [self.dbip_dir / file for file in os.listdir(self.dbip_dir)]
 
     @property
     def job_dir(self) -> pathlib.Path:
@@ -363,16 +359,16 @@ class SimulatorJob(models.Model):
         return str(self.uuid)[:8]
 
     @property
-    def genbank_dir(self):
-        return os.path.join(self.job_dir, 'genbank')
+    def genbank_dir(self) -> pathlib.Path:
+        return self.job_dir / 'genbank'
 
     @property
-    def dbip_dir(self):
-        return os.path.join(self.job_dir, 'db_ip')
+    def dbip_dir(self) -> pathlib.Path:
+        return self.job_dir / 'db_ip'
 
     @property
-    def results_dir(self):
-        return os.path.join(self.job_dir, 'results')
+    def results_dir(self) -> pathlib.Path:
+        return self.job_dir / 'results'
 
     def delete(self, *args, **kwargs):
         try: