diff --git a/lofar-cwl/steps/H5ParmCollector.cwl b/lofar-cwl/steps/H5ParmCollector.cwl
index 31b1b945884e3bf44e59485c7658d341f64c20ef..5b6a2dcdd0f11d241b367abbfd6465b8f8569c0f 100755
--- a/lofar-cwl/steps/H5ParmCollector.cwl
+++ b/lofar-cwl/steps/H5ParmCollector.cwl
@@ -76,13 +76,14 @@ outputs:
     outputBinding:
       glob: $(inputs.outh5parmname)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.outh5parmname)-parm_collector_output.log
+      glob: '$(inputs.outh5parmname)-parm_collector_output*.log'
 label: H5parm_collector
 hints:
   - class: DockerRequirement
     dockerPull: 'lofareosc/prefactor:HBAcalibrator'
 stdout: $(inputs.outh5parmname)-parm_collector_output.log
+stderr: $(inputs.outh5parmname)-parm_collector_output_err.log
 requirements:
   - class: InlineJavascriptRequirement
\ No newline at end of file
diff --git a/lofar-cwl/steps/LoSoTo.Abs.cwl b/lofar-cwl/steps/LoSoTo.Abs.cwl
index 69ec253b41b480632695627d4280b966581a946d..4ce89e2b5da2f907508e68d757ebc5bfd9d0c178 100755
--- a/lofar-cwl/steps/LoSoTo.Abs.cwl
+++ b/lofar-cwl/steps/LoSoTo.Abs.cwl
@@ -25,12 +25,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Clip.cwl b/lofar-cwl/steps/LoSoTo.Clip.cwl
index 867699dac1e0c2c43eef644a1ebced30aa34d104..d9cda24586263c8c703b2947ddd9da43327bda55 100644
--- a/lofar-cwl/steps/LoSoTo.Clip.cwl
+++ b/lofar-cwl/steps/LoSoTo.Clip.cwl
@@ -26,12 +26,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Duplicate.cwl b/lofar-cwl/steps/LoSoTo.Duplicate.cwl
index 7fe56b03eda2cdc4b4a517071600507bce786fda..55208333d750c4e8354289712e076cb428ba5bbb 100644
--- a/lofar-cwl/steps/LoSoTo.Duplicate.cwl
+++ b/lofar-cwl/steps/LoSoTo.Duplicate.cwl
@@ -25,6 +25,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -49,11 +50,12 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 $namespaces:
   lofar: https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
 $schema:
diff --git a/lofar-cwl/steps/LoSoTo.Faraday.cwl b/lofar-cwl/steps/LoSoTo.Faraday.cwl
index 85d949b666227cb5ad6e18e8257d6f4c06099c28..c015e412fe54b1e5d17af3d33a33dabfcba58309 100644
--- a/lofar-cwl/steps/LoSoTo.Faraday.cwl
+++ b/lofar-cwl/steps/LoSoTo.Faraday.cwl
@@ -27,6 +27,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -61,11 +62,12 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 
 $schema:
   - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.Flag.cwl b/lofar-cwl/steps/LoSoTo.Flag.cwl
index 7e058ad18c9af9f428d1f5d61cb5191ccf0bbf9e..302bc82554260d55d604b122dc5440c6fae7fcbf 100644
--- a/lofar-cwl/steps/LoSoTo.Flag.cwl
+++ b/lofar-cwl/steps/LoSoTo.Flag.cwl
@@ -27,6 +27,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -102,10 +103,11 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 $schema:
   - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.FlagStation.cwl b/lofar-cwl/steps/LoSoTo.FlagStation.cwl
index 42ee7fbe7b54d891d72dde509538b9234589932b..be98dbb4dcfd3867838bffc81957a34345c5f5c8 100644
--- a/lofar-cwl/steps/LoSoTo.FlagStation.cwl
+++ b/lofar-cwl/steps/LoSoTo.FlagStation.cwl
@@ -26,6 +26,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -101,10 +102,11 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 $schema:
   - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.Flagextend.cwl b/lofar-cwl/steps/LoSoTo.Flagextend.cwl
index 20d48f24c5ab79584faae34911d50288fbc27fb2..c64fae492a36b11aa871d0e77f11415db15af38a 100644
--- a/lofar-cwl/steps/LoSoTo.Flagextend.cwl
+++ b/lofar-cwl/steps/LoSoTo.Flagextend.cwl
@@ -28,6 +28,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -68,10 +69,11 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 $schema:
   - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.Interpolate.cwl b/lofar-cwl/steps/LoSoTo.Interpolate.cwl
index 15d5f32e542b2497ace32af767efa9418e37891b..f2fee5dc730b44d34c6cdd90bb9ca2f9348ed489 100644
--- a/lofar-cwl/steps/LoSoTo.Interpolate.cwl
+++ b/lofar-cwl/steps/LoSoTo.Interpolate.cwl
@@ -29,6 +29,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -79,10 +80,11 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: logfile
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 $schema:
   - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl b/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl
index ce421868086c89c66db41c7ce23ce485bfbb3ac5..ffdc5dcc1db43c0c3ab15ae7ee5e3b87bdb95f43 100644
--- a/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl
+++ b/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl
@@ -25,12 +25,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Norm.cwl b/lofar-cwl/steps/LoSoTo.Norm.cwl
index e9cadbd666d9e2e9c65aabd3c0d757c5d4b04e99..f193e64cafc715019f6cd94294aebfbcb4290ce4 100644
--- a/lofar-cwl/steps/LoSoTo.Norm.cwl
+++ b/lofar-cwl/steps/LoSoTo.Norm.cwl
@@ -26,12 +26,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Plot.cwl b/lofar-cwl/steps/LoSoTo.Plot.cwl
index a9e82d36bf1a947f1ec5c483d01c5549d0188837..c8533dbee135fdf76341f441aae98b270f29281e 100644
--- a/lofar-cwl/steps/LoSoTo.Plot.cwl
+++ b/lofar-cwl/steps/LoSoTo.Plot.cwl
@@ -24,6 +24,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -130,11 +131,16 @@ outputs:
     outputBinding:
       glob: "$(inputs.prefix)*.png"
   - id: logfile
+    type: File[]
+    outputBinding:
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
+  - id: parset
     type: File
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: parset.config
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log      
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log    
 
 
 $namespaces:
diff --git a/lofar-cwl/steps/LoSoTo.Polalign.cwl b/lofar-cwl/steps/LoSoTo.Polalign.cwl
index 0c53cba5a8d419c58eb242a92c794540b5503d3e..fa4bfe34becb68bfc02c8acb0dd6f3e62a0288ce 100755
--- a/lofar-cwl/steps/LoSoTo.Polalign.cwl
+++ b/lofar-cwl/steps/LoSoTo.Polalign.cwl
@@ -43,6 +43,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -89,8 +90,9 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
diff --git a/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl b/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl
index f7512ea67e95e9d24eb11a0811e5fa593756afcd..3f953a16409b5b72b63dcc1e464ad5dbeb794c18 100644
--- a/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl
+++ b/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl
@@ -42,7 +42,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Reset.cwl b/lofar-cwl/steps/LoSoTo.Reset.cwl
index 887b0b81b4bddd5e8c43962975924e56700ce93e..ea6e06cbee986d4ba62ff23ab1b1625c3f788bbd 100644
--- a/lofar-cwl/steps/LoSoTo.Reset.cwl
+++ b/lofar-cwl/steps/LoSoTo.Reset.cwl
@@ -24,12 +24,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Residual.cwl b/lofar-cwl/steps/LoSoTo.Residual.cwl
index 7a8b8ba5365f1c31da6dae20cf31548197f67eb3..6642f7ec096493896668094eb5d4912b9a0806c9 100644
--- a/lofar-cwl/steps/LoSoTo.Residual.cwl
+++ b/lofar-cwl/steps/LoSoTo.Residual.cwl
@@ -24,6 +24,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -53,11 +54,12 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 
 $namespaces:
   lofar: https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.Reweight.cwl b/lofar-cwl/steps/LoSoTo.Reweight.cwl
index 054add110afdad42f7ec56e30c70986c9a8b68b4..e8f027619f73bfe800559ab70e45a5a4cd512562 100644
--- a/lofar-cwl/steps/LoSoTo.Reweight.cwl
+++ b/lofar-cwl/steps/LoSoTo.Reweight.cwl
@@ -27,6 +27,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
@@ -78,10 +79,11 @@ outputs:
     outputBinding:
       glob: $(inputs.input_h5parm.basename)
   - id: log
-    type: File
+    type: File[]
     outputBinding:
-      glob: $(inputs.input_h5parm.basename)-losoto.log
+      glob: '$(inputs.input_h5parm.basename)-losoto*.log'
 
 stdout: $(inputs.input_h5parm.basename)-losoto.log
+stderr: $(inputs.input_h5parm.basename)-losoto_err.log
 $schema:
   - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
diff --git a/lofar-cwl/steps/LoSoTo.Smooth.cwl b/lofar-cwl/steps/LoSoTo.Smooth.cwl
index d1b095a822b781c7761570ea8e0bc12a923da6e0..9117c0419fa5af7c98dca3bc45654805f13a6dd2 100644
--- a/lofar-cwl/steps/LoSoTo.Smooth.cwl
+++ b/lofar-cwl/steps/LoSoTo.Smooth.cwl
@@ -30,6 +30,7 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
diff --git a/lofar-cwl/steps/LoSoTo.Splitleak.cwl b/lofar-cwl/steps/LoSoTo.Splitleak.cwl
index 3405937529f95ab615be2ebdc6c572f3041bbbc9..c29e1da65f87a3918bf812746a5ba0f1c836e764 100644
--- a/lofar-cwl/steps/LoSoTo.Splitleak.cwl
+++ b/lofar-cwl/steps/LoSoTo.Splitleak.cwl
@@ -24,12 +24,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Structure.cwl b/lofar-cwl/steps/LoSoTo.Structure.cwl
index cdf29c2f61d88dfad58c78ed5c5ada0993ccb121..639a7e7da1695a70a0aff53486706d385848633d 100644
--- a/lofar-cwl/steps/LoSoTo.Structure.cwl
+++ b/lofar-cwl/steps/LoSoTo.Structure.cwl
@@ -27,12 +27,13 @@ requirements:
 baseCommand: "losoto"
 
 arguments:
+  - '--verbose'
   - $(inputs.input_h5parm.basename)
   - parset.config
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/lofar-pipeline-ci:latest
+    dockerPull: lofareosc/prefactor:HBAcalibrator
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/applybeam.cwl b/lofar-cwl/steps/applybeam.cwl
index 6c7baccf77c4f812aa23614c963102453ede20e2..815598844d418e147aa2ec2414dbcfe0f7348e1b 100644
--- a/lofar-cwl/steps/applybeam.cwl
+++ b/lofar-cwl/steps/applybeam.cwl
@@ -45,29 +45,30 @@ inputs:
     inputBinding:
       prefix: msout.storagemanager=
   - id: updateweights
-    type: boolean?
+    type: string?
     inputBinding:
       position: 0
-      prefix: -applybeam.updateweights=
+      prefix: applybeam.updateweights=
       separate: false
-  - id: beammode
+  - id: usechannelfreq
     type: string?
     inputBinding:
       position: 0
-      prefix: -applybeam.beammode=
+      prefix: applybeam.usechannelfreq=
       separate: false
-  - id: usechannelfreq
-    type: boolean?
+  - id: invert
+    type: string?
     inputBinding:
       position: 0
-      prefix: -applybeam.usechannelfreq=
+      prefix: applybeam.invert=
       separate: false
-  - id: invert
-    type: boolean?
+  - id: beammode
+    type: string?
     inputBinding:
       position: 0
-      prefix: -applybeam.invert=
+      prefix: applybeam.beammode=
       separate: false
+  
 outputs:
   - id: msout
     doc: Output Measurement Set
diff --git a/lofar-cwl/steps/applycal.cwl b/lofar-cwl/steps/applycal.cwl
index 49b7af68095d2dc5c452ecbf273dad43e25ffe7f..03f258d0662e1301fa191be5f972547949776162 100644
--- a/lofar-cwl/steps/applycal.cwl
+++ b/lofar-cwl/steps/applycal.cwl
@@ -54,10 +54,10 @@ inputs:
     inputBinding:
       prefix: msout.storagemanager=
   - id: updateweights
-    type: boolean?
+    type: string?
     inputBinding:
       position: 0
-      prefix: -applycal.updateweights=
+      prefix: applycal.updateweights=
       separate: false
 outputs:
   - id: msout
diff --git a/steps/check_ateam_separation.cwl b/steps/check_ateam_separation.cwl
old mode 100755
new mode 100644
diff --git a/steps/concatenate_files.cwl b/steps/concatenate_files.cwl
index eaae4ab154eeeb3c379080c4a37f79793d9ccb5f..ba9c5f64a2fdd2b807f514ea03b2face9c45cfe3 100644
--- a/steps/concatenate_files.cwl
+++ b/steps/concatenate_files.cwl
@@ -2,7 +2,7 @@ class: CommandLineTool
 cwlVersion: v1.0
 $namespaces:
   sbg: 'https://www.sevenbridges.com/'
-id: bulk_rename
+id: concatfiles
 baseCommand:
   - bash 
   - bulk_rename.sh
@@ -21,7 +21,7 @@ outputs:
     type: File
     outputBinding:
       glob: "$(inputs.file_prefix).$(inputs.file_suffix)"
-label: bulk_rename
+label: concatfiles
 requirements:
   - class: InitialWorkDirRequirement
     listing:
diff --git a/steps/h5parm_pointingname.cwl b/steps/h5parm_pointingname.cwl
new file mode 100644
index 0000000000000000000000000000000000000000..21a1b2633c37ac6831fa725e790cdb95eeaab1ff
--- /dev/null
+++ b/steps/h5parm_pointingname.cwl
@@ -0,0 +1,47 @@
+class: CommandLineTool
+cwlVersion: v1.0
+$namespaces:
+  sbg: 'https://www.sevenbridges.com/'
+id: h5parm_pointingname
+baseCommand:
+  - python3
+  - /usr/local/bin/h5parm_pointingname.py
+inputs:
+  - id: h5parm
+    type: File
+    inputBinding:
+      position: 1
+    doc: H5parm whose pointing direction should be corrected the solutions should be transferred.
+  - id: solsetName
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--solsetName'
+    doc: Name of the input h5parm solution set
+  - id: pointing
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--pointing'
+    doc: Name of the output h5parm solution set
+outputs:
+  - id: outh5parm
+    type: File
+    outputBinding:
+      glob: $(inputs.h5parm.basename)
+  - id: log
+    type: File[]
+    outputBinding:
+      glob: 'h5parm_name*.log'
+stdout: h5parm_name.log
+stderr: h5parm_name_err.log
+label: h5parm_pointingname
+hints:
+  - class: DockerRequirement
+    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+requirements:
+  - class: InlineJavascriptRequirement
+  - class: InitialWorkDirRequirement
+    listing:
+      - entry: $(inputs.h5parm)
+        writable: true
\ No newline at end of file
diff --git a/steps/transfer_solutions.cwl b/steps/transfer_solutions.cwl
new file mode 100644
index 0000000000000000000000000000000000000000..995a8d477b59eb2c32393da588f6474b9a87aa59
--- /dev/null
+++ b/steps/transfer_solutions.cwl
@@ -0,0 +1,86 @@
+class: CommandLineTool
+cwlVersion: v1.0
+$namespaces:
+  sbg: 'https://www.sevenbridges.com/'
+id: transfer_solutions
+baseCommand:
+  - python3
+  - /usr/local/bin/transfer_solutions.py
+inputs:
+  - default: output.h5
+    id: h5parm
+    type: File
+    inputBinding:
+      position: 1
+    doc: H5parm to which the solutions should be transferred.
+  - id: refh5parm
+    type:
+      - File?
+      - string?
+    default: '/data/solutions/3C48.h5'
+    inputBinding:
+      position: 0
+      prefix: '--refh5parm'
+    doc: Name of the h5parm from which the solutions should be transferred.
+  - id: insolset
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--insolset'
+    doc: Name of the input h5parm solution set
+  - id: outsolset
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--outsolset'
+    doc: Name of the output h5parm solution set
+  - id: insoltab
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--insoltab'
+    doc: Name of the input h5parm solution set
+  - id: outsoltab
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--outsoltab'
+    doc: Name of the output h5parm solution set
+  - id: antenna
+    type: string?
+    inputBinding:
+      position: 0
+      prefix: '--antenna'
+    doc: Regular expression of antenna solutions to be transferred
+  - id: parset
+    type: File?
+    inputBinding:
+      position: 0
+      prefix: '--parset'
+    doc: Parset for plotting diagnostic plots after transfer with LoSoTo
+outputs:
+  - id: outh5parm
+    type: File
+    outputBinding:
+      glob: $(inputs.h5parm.basename)
+  - id: log
+    type: File[]
+    outputBinding:
+      glob: 'transfer_solutions*.log'
+  - id: plots
+    type: File[]
+    outputBinding:
+      glob: "*.png"
+
+stdout: transfer_solutions.log
+stderr: transfer_solutions_err.log
+label: transfer_solutions
+hints:
+  - class: DockerRequirement
+    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+requirements:
+  - class: InlineJavascriptRequirement
+  - class: InitialWorkDirRequirement
+    listing:
+      - entry: $(inputs.h5parm)
+        writable: true
diff --git a/subworkflow/apply_calibrate_bp.cwl b/subworkflow/apply_calibrate_bp.cwl
index 3d08649cdf8a55653eae9517f845c2bcde166d7d..0f21d792eef4caecf7dc8a7d568307290ab6c112 100644
--- a/subworkflow/apply_calibrate_bp.cwl
+++ b/subworkflow/apply_calibrate_bp.cwl
@@ -95,7 +95,7 @@ steps:
       - id: msin_datacolumn
         default: CORRECTED_DATA
       - id: updateweights
-        default: true
+        default: 'True'
       - id: parmdb
         source: input_h5parm
       - id: msout_datacolumn
@@ -116,13 +116,13 @@ steps:
       - id: msout_datacolumn
         default: CORRECTED_DATA
       - id: updateweights
-        default: true
+        default: 'true'
       - id: invert
-        default: true
+        default: 'true'
       - id: beammode
         default: element
       - id: usechannelfreq
-        default: false
+        default: 'false'
       - id: msin
         source: applyBP/msout
       - id: type
diff --git a/subworkflow/apply_calibrate_pa.cwl b/subworkflow/apply_calibrate_pa.cwl
index f13f928286ab2c6b280015a1e29b4542839a6f29..02c9d1e5dd717929a51ef68aa00bf6ee3d334b8d 100644
--- a/subworkflow/apply_calibrate_pa.cwl
+++ b/subworkflow/apply_calibrate_pa.cwl
@@ -89,13 +89,13 @@ steps:
       - id: msout_datacolumn
         default: CORRECTED_DATA
       - id: updateweights
-        default: true
+        default: 'true'
       - id: invert
-        default: true
+        default: 'true'
       - id: beammode
         default: element
       - id: usechannelfreq
-        default: false
+        default: 'false'
       - id: msin
         source: applyPA/msout
       - id: type
diff --git a/workflows/HBA_calibrator.cwl b/workflows/HBA_calibrator.cwl
index cd03d8c1139e5bccafc49a0518fcd7542cb2610d..ad68fdbdb72cdfb2709fc070cbde391691b0f967 100644
--- a/workflows/HBA_calibrator.cwl
+++ b/workflows/HBA_calibrator.cwl
@@ -45,7 +45,7 @@ inputs:
     'sbg:x': -1000
     'sbg:y': -1000
   - id: ampRange
-    type: 'int[]?'
+    type: 'float[]?'
     default:
       - 0
       - 0
@@ -77,8 +77,7 @@ inputs:
     'sbg:x': -1000
     'sbg:y': -400
   - id: solutions2transfer
-    type: string?
-    default: /data/solutions/3C48.h5
+    type: File?
     'sbg:x': -1000
     'sbg:y': -300
   - id: antennas2transfer
diff --git a/workflows/prefactor_calibrator.cwl b/workflows/prefactor_calibrator.cwl
index 22c1943c16b78a2cbb0dda3145fdd8bab11476be..18d50c141ff4c20e951a887ec8662fe20dd15d54 100644
--- a/workflows/prefactor_calibrator.cwl
+++ b/workflows/prefactor_calibrator.cwl
@@ -45,7 +45,7 @@ inputs:
     'sbg:x': -1000
     'sbg:y': -1000
   - id: ampRange
-    type: 'int[]?'
+    type: 'float[]?'
     default:
       - 0
       - 0
@@ -77,8 +77,7 @@ inputs:
     'sbg:x': -1000
     'sbg:y': -400
   - id: solutions2transfer
-    type: string?
-    default: /data/solutions/3C48.h5
+    type: File?
     'sbg:x': -1000
     'sbg:y': -300
   - id: antennas2transfer
@@ -289,6 +288,7 @@ steps:
       - id: check_Ateam_separation.png
       - id: msout
       - id: parset
+      - id: calibrator_name
     run: ./prefactor_calibrator/prep.cwl
     label: prep
     'sbg:x': 0
@@ -386,6 +386,12 @@ steps:
         source: do_smooth
       - id: insolutions
         source: fr/outsolutions
+      - id: solutions2transfer
+        source: solutions2transfer
+      - id: antennas2transfer
+        source: antennas2transfer
+      - id: calibrator_name
+        source: prep/calibrator_name
     out:
       - id: msout
       - id: outsolutions
diff --git a/workflows/prefactor_calibrator/bp.cwl b/workflows/prefactor_calibrator/bp.cwl
index 7a7d1bc7ecb63b298dd087369705040c9054dbb9..a5019e8f3ccdcbfc209a819bc79604203bb71a01 100644
--- a/workflows/prefactor_calibrator/bp.cwl
+++ b/workflows/prefactor_calibrator/bp.cwl
@@ -5,6 +5,10 @@ label: BP
 $namespaces:
   sbg: 'https://www.sevenbridges.com/'
 inputs:
+  - id: calibrator_name
+    type: string
+    'sbg:x': -1000
+    'sbg:y': -700
   - id: ampRange
     type: 'float[]?'
     'sbg:x': -1000
@@ -43,8 +47,12 @@ inputs:
     type: File
     'sbg:x': -1000
     'sbg:y': 200
+  - id: solutions2transfer
+    type: File?
+    'sbg:x': -1000
+    'sbg:y': 300
   - id: inh5parm_logfile
-    type: File
+    type: File[]
     'sbg:x': -1000
     'sbg:y': 400
   - id: do_smooth
@@ -56,6 +64,10 @@ inputs:
     type: File
     'sbg:x': -1000
     'sbg:y': 600
+  - id: antennas2transfer
+    type: string?
+    'sbg:x': -1000
+    'sbg:y': 700
 outputs:
   - id: outh5parm
     outputSource:
@@ -76,13 +88,14 @@ outputs:
       - losoto_plot_B1/output_plots
       - losoto_plot_B2/output_plots
       - losoto_plot_B3/output_plots
-    type: 'File[]'
+      - transfer_solutions/plots
+    type: 'File[]?'
     linkMerge: merge_flattened
     'sbg:x': 1000
     'sbg:y': 0
   - id: outsolutions
     outputSource:
-      - write_solutions/outh5parm
+      - transfer_solutions/outh5parm
     type: File
     'sbg:x': 1000
     'sbg:y': 100
@@ -101,7 +114,7 @@ outputs:
   - id: outh5parm_logfile
     outputSource:
       - h5parm_collector/log
-    type: File
+    type: File[]
     'sbg:x': 1000
     'sbg:y': 300
 steps:
@@ -147,7 +160,7 @@ steps:
       - id: logfile
     run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
     label: losoto_plot_A1
-    'sbg:x': 0
+    'sbg:x': -200
     'sbg:y': -200
   - id: losoto_plot_A2
     in:
@@ -170,7 +183,7 @@ steps:
       - id: logfile
     run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
     label: losoto_plot_A2
-    'sbg:x': 0
+    'sbg:x': -200
     'sbg:y': -100
   - id: losoto_plot_B1
     in:
@@ -193,7 +206,7 @@ steps:
       - id: logfile
     run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
     label: losoto_plot_B1
-    'sbg:x': 0
+    'sbg:x': -200
     'sbg:y': 0
   - id: losoto_plot_B2
     in:
@@ -222,7 +235,7 @@ steps:
       - id: logfile
     run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
     label: losoto_plot_B2
-    'sbg:x': 0
+    'sbg:x': -200
     'sbg:y': 100
   - id: losoto_plot_B3
     in:
@@ -249,8 +262,84 @@ steps:
       - id: logfile
     run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
     label: losoto_plot_B3
-    'sbg:x': 0
+    'sbg:x': -200
     'sbg:y': 200
+  - id: losoto_plot_B1_trans
+    in:
+      - id: input_h5parm
+        source: bandpass/output_h5parm
+      - id: soltab
+        default: sol000/bandpass
+      - id: axesInPlot
+        default:
+          - time
+          - freq
+      - id: axisInTable
+        default: ant
+      - id: plotFlag
+        default: true
+      - id: prefix
+        default: bandpass_transfer_
+    out:
+      - id: parset
+    run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
+    label: losoto_plot_B1_trans
+    'sbg:x': -200
+    'sbg:y': 300
+  - id: losoto_plot_B2_trans
+    in:
+      - id: input_h5parm
+        source: bandpass/output_h5parm
+      - id: soltab
+        default: sol000/bandpass
+      - id: axesInPlot
+        default:
+          - freq
+      - id: axisInTable
+        default: ant
+      - id: axisInCol
+        default: pol
+      - id: plotFlag
+        default: true
+      - id: time.minmaxstep
+        default:
+          - 0
+          - 1e20
+          - 500000
+      - id: prefix
+        default: bandpass_transfer_
+    out:
+      - id: parset
+    run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
+    label: losoto_plot_B2_trans
+    'sbg:x': -200
+    'sbg:y': 400
+  - id: losoto_plot_B3_trans
+    in:
+      - id: input_h5parm
+        source: bandpass/output_h5parm
+      - id: soltab
+        default: sol000/bandpass
+      - id: axesInPlot
+        default:
+          - freq
+      - id: axisInCol
+        default: ant
+      - id: plotFlag
+        default: true
+      - id: time.minmaxstep
+        default:
+          - 0
+          - 1e20
+          - 500000
+      - id: prefix
+        default: bbandpass_transfer_
+    out:
+      - id: parset
+    run: ../../lofar-cwl/steps/LoSoTo.Plot.cwl
+    label: losoto_plot_B3_trans
+    'sbg:x': -200
+    'sbg:y': 500
   - id: concat_logfiles_bp
     in:
       - id: file_list
@@ -264,6 +353,8 @@ steps:
           - losoto_plot_B2/logfile
           - losoto_plot_B3/logfile
           - write_solutions/log
+          - h5parm_pointingname/log
+          - transfer_solutions/log
       - id: file_prefix
         default: losoto_bandpass
     out:
@@ -293,8 +384,8 @@ steps:
       - id: log
     run: ../../steps/h5parmcat.cwl
     label: write_solutions
-    'sbg:x': 0
-    'sbg:y': 500
+    'sbg:x': -200
+    'sbg:y': 700
   - id: apply_calibrate_bp
     in:
       - id: msin
@@ -306,7 +397,7 @@ steps:
       - id: propagatesolutions
         source: propagatesolutions
       - id: input_h5parm
-        source: write_solutions/outh5parm
+        source: transfer_solutions/outh5parm
     out:
       - id: msout
       - id: BLsmooth.log
@@ -404,6 +495,65 @@ steps:
     label: H5parm_collector
     'sbg:x': 750
     'sbg:y': -300
+  - id: h5parm_pointingname
+    in:
+      - id: h5parm
+        source: write_solutions/outh5parm
+      - id: solsetName
+        default: calibrator
+      - id: pointing
+        source: calibrator_name
+    out:
+      - id: outh5parm
+      - id: log
+    run: ../../steps/h5parm_pointingname.cwl
+    label: h5parm_pointingname
+    'sbg:x': 0
+    'sbg:y': 300
+  - id: transfer_solutions
+    in:
+      - id: h5parm
+        source: h5parm_pointingname/outh5parm
+      - id: refh5parm
+        source: solutions2transfer
+      - id: insolset
+        default: calibrator
+      - id: outsolset
+        default: calibrator
+      - id: insoltab
+        default: bandpass
+      - id: outsoltab
+        default: bandpass
+      - id: antenna
+        source: antennas2transfer
+      - id: parset
+        source: concat_parset/output
+    out:
+      - id: outh5parm
+      - id: log
+      - id: plots
+    run: ../../steps/transfer_solutions.cwl
+    label: transfer_solutions
+    'sbg:x': 200
+    'sbg:y': 300
+  - id: concat_parset
+    in:
+      - id: file_list
+        linkMerge: merge_flattened
+        source:
+          - losoto_plot_B1_trans/parset
+          - losoto_plot_B2_trans/parset
+          - losoto_plot_B3_trans/parset
+      - id: file_prefix
+        default: losoto
+      - id: file_suffix
+        default: parset
+    out:
+      - id: output
+    run: ../../steps/concatenate_files.cwl
+    label: concat_parset
+    'sbg:x': 0
+    'sbg:y': 500
 requirements:
   - class: SubworkflowFeatureRequirement
   - class: ScatterFeatureRequirement
diff --git a/workflows/prefactor_calibrator/fr.cwl b/workflows/prefactor_calibrator/fr.cwl
index 6c8a01c72039ff5de27645d347f1d86ae5b19b95..b907a0432f6d8ef2f6e70756b254c1d502386c32 100644
--- a/workflows/prefactor_calibrator/fr.cwl
+++ b/workflows/prefactor_calibrator/fr.cwl
@@ -28,7 +28,7 @@ inputs:
     'sbg:x': -1000
     'sbg:y': 100
   - id: inh5parm_logfile
-    type: File
+    type: File[]
     'sbg:x': -1000
     'sbg:y': 200
   - id: do_smooth
@@ -85,7 +85,7 @@ outputs:
   - id: outh5parm_logfile
     outputSource:
       - h5parm_collector/log
-    type: File
+    type: File[]
     'sbg:x': 1000
     'sbg:y': 300
 steps:
diff --git a/workflows/prefactor_calibrator/pa.cwl b/workflows/prefactor_calibrator/pa.cwl
index 7ff28e55f778217567c7d4e3da33fc23ef593e49..6a6e66cdb35d5672ef963d9ef9ff8c1fa63433b7 100644
--- a/workflows/prefactor_calibrator/pa.cwl
+++ b/workflows/prefactor_calibrator/pa.cwl
@@ -28,7 +28,7 @@ inputs:
     'sbg:x': -1000
     'sbg:y': 100
   - id: inh5parm_logfile
-    type: File
+    type: File[]
     'sbg:x': -1000
     'sbg:y': 200
   - id: do_smooth
@@ -82,7 +82,7 @@ outputs:
   - id: outh5parm_logfile
     outputSource:
       - h5parm_collector/log
-    type: File
+    type: File[]
     'sbg:x': 1000
     'sbg:y': 300
 steps:
diff --git a/workflows/prefactor_calibrator/prep.cwl b/workflows/prefactor_calibrator/prep.cwl
index 950f70d62a80b18f55f6e84ce916f7b705c28326..313b14746d9144d1c57e7f01945bf9479c23283b 100644
--- a/workflows/prefactor_calibrator/prep.cwl
+++ b/workflows/prefactor_calibrator/prep.cwl
@@ -134,10 +134,16 @@ outputs:
     type: 'File[]'
     'sbg:x': 1000
     'sbg:y': 200
+  - id: calibrator_name
+    outputSource:
+      - find_skymodel_cal/model_name
+    type: string
+    'sbg:x': 1000
+    'sbg:y': 400
   - id: outh5parm_logfile
     outputSource:
       - h5parm_collector/log
-    type: File
+    type: File[]
     'sbg:x': 1000
     'sbg:y': 650
   - id: logfiles