diff --git a/steps/find_skymodel_cal.cwl b/steps/find_skymodel_cal.cwl
index 51a1dc4a8f7500fccac5cef763cd15d50ecaa505..936a395928c5b0bc0adaf78a404408b8fe8ca47c 100644
--- a/steps/find_skymodel_cal.cwl
+++ b/steps/find_skymodel_cal.cwl
@@ -7,12 +7,14 @@ baseCommand:
   - python3
 inputs:
     - id: msin
-      type: Directory
+      type: Directory[]
       doc: MS containing the calibrator
       inputBinding:
         position: 0
     - id: skymodels
-      type: Directory
+      type:
+        - Directory?
+        - File?
       doc: Directory containing the sky models
     - id: skymodels_extension
       type: string?
@@ -23,6 +25,9 @@ arguments:
   - '-c'
   - |
     import sys
+    import os
+    import shutil
+    null = None
 
     from unittest.mock import MagicMock
     sys.modules['lofarpipe.support.data_map'] = MagicMock()
@@ -31,16 +36,26 @@ arguments:
     from find_skymodel_cal import main as find_skymodel
     import json
     mss = sys.argv[1:]
-    skymodels = "$(inputs.skymodels.path)"
+    print(mss)
+    skymodels = $(inputs.skymodels)
 
     extension = "$(inputs.skymodels_extension)"
+    if skymodels is None:
+        skymodels = "/data/skymodels"
+    else:
+        skymodels = skymodels["path"]
     output = {}
     if extension != 'null':
         output = find_skymodel(mss, skymodels, './', extension)
     else:
         output = find_skymodel(mss, skymodels, './')
 
-    cwl_output = {'class': 'File', 'path': output['SkymodelCal']}
+    skymodel_path = output['SkymodelCal']
+    skymodel_name = output['SkymodelName']
+    skymodel_path = shutil.copy(skymodel_path, os.getcwd())
+    cwl_output = {"file":{'class': 'File', 'path': skymodel_path},
+                  "skymodel_name": skymodel_name}
+
     with open('./out.json', 'w') as fp:
         json.dump(cwl_output, fp)
 outputs:
@@ -49,11 +64,17 @@ outputs:
     outputBinding:
         loadContents: true
         glob: 'out.json'
-        outputEval: $(JSON.parse(self[0].contents))
+        outputEval: $(JSON.parse(self[0].contents).file)
 
+  - id: model_name
+    type: string
+    outputBinding:
+        loadContents: true
+        glob: 'out.json'
+        outputEval: $(JSON.parse(self[0].contents).skymodel_name)
 requirements:
   - class: InlineJavascriptRequirement
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor-ci:master
+    dockerPull: lofareosc/prefactor:latest