diff --git a/subworkflow/bandpass.cwl b/subworkflow/bandpass.cwl
index 31134f3a0ae4f6357355234da5a75fa84ff6d4c6..c9955ee3b9e1ca94b8e3a5167770365f327f396d 100644
--- a/subworkflow/bandpass.cwl
+++ b/subworkflow/bandpass.cwl
@@ -5,22 +5,6 @@ label: bandpass
 $namespaces:
   sbg: 'https://www.sevenbridges.com/'
 inputs:
-  - id: msin
-    type: 'Directory[]'
-    'sbg:x': -66.62995910644531
-    'sbg:y': -47.43605041503906
-  - id: do_smooth
-    type: boolean
-    'sbg:x': -30.103496551513672
-    'sbg:y': 168.6453857421875
-  - id: propagate_solutions
-    type: boolean?
-    'sbg:x': 81.81513214111328
-    'sbg:y': -313.3733215332031
-  - id: flagunconverged
-    type: boolean?
-    'sbg:x': 172.986328125
-    'sbg:y': 244.30821228027344
   - id: skipInternational
     type: string?
     'sbg:x': 600.0303344726562
@@ -49,6 +33,22 @@ inputs:
     type: string?
     'sbg:x': 985.4193725585938
     'sbg:y': 183.84898376464844
+  - id: msin
+    type: 'Directory[]'
+    'sbg:x': 61.43736267089844
+    'sbg:y': -38.334991455078125
+  - id: propagate_solutions
+    type: boolean
+    'sbg:x': 56.69083023071289
+    'sbg:y': -292.27447509765625
+  - id: flagunconverged
+    type: boolean
+    'sbg:x': -13.930643081665039
+    'sbg:y': 73.78814697265625
+  - id: do_smooth
+    type: boolean
+    'sbg:x': 137.3818817138672
+    'sbg:y': 210.85794067382812
 outputs:
   - id: output
     outputSource:
@@ -57,52 +57,11 @@ outputs:
     'sbg:x': 1310.1014404296875
     'sbg:y': -65.6321029663086
 steps:
-  - id: smooth_corrected
-    in:
-      - id: msin
-        source: msin
-      - id: do_smooth
-        source: do_smooth
-      - id: in_column_name
-        default: CORRECTED_DATA
-      - id: out_column
-        default: SMOOTHED_DATA
-      - id: restore
-        default: true
-    out:
-      - id: msout
-    run: ../steps/blsmooth.cwl
-    label: smooth_corrected
-    scatter:
-      - msin
-    'sbg:x': 143.50439453125
-    'sbg:y': -49.544036865234375
-  - id: calib_cal2
-    in:
-      - id: msin
-        source: smooth_corrected/msout
-      - id: msin_datacolumn
-        default: SMOOTHED_DATA
-      - id: output_name_h5parm
-        default: calibration.h5
-      - id: propagate_solutions
-        default: true
-        source: propagate_solutions
-      - id: flagunconverged
-        source: flagunconverged
-    out:
-      - id: msout
-      - id: h5parm
-    run: ../lofar-cwl/steps/calib_rot_diag.cwl
-    scatter:
-      - msin
-    'sbg:x': 347.1034851074219
-    'sbg:y': -49.969146728515625
   - id: h5imp_cal_bandpass
     in:
       - id: h5parmFiles
         source:
-          - calib_cal2/h5parm
+          - smooth_calibrate/h5parm
       - id: insolset
         default: bandpass
       - id: squeeze
@@ -189,6 +148,25 @@ steps:
     label: losoto_bandpass
     'sbg:x': 747.5215454101562
     'sbg:y': -46.37216567993164
+  - id: smooth_calibrate
+    in:
+      - id: msin
+        source:
+          - msin
+      - id: mode
+        default: diagonal
+      - id: propagate_solutions
+        source: propagate_solutions
+      - id: flagunconverged
+        source: flagunconverged
+      - id: do_smooth
+        source: do_smooth
+    out:
+      - id: h5parm
+    run: ./smooth_calibrate.cwl
+    label: smooth_calibrate
+    'sbg:x': 297.36822509765625
+    'sbg:y': -42.97225570678711
 requirements:
   - class: SubworkflowFeatureRequirement
   - class: ScatterFeatureRequirement
diff --git a/subworkflow/calib_cal.cwl b/subworkflow/calib_cal.cwl
index 90e5d2918f225e178a3a2211967dfcaa3cf0a3d4..1857e5bc044f162234b0bf3e12c0b744002c577a 100644
--- a/subworkflow/calib_cal.cwl
+++ b/subworkflow/calib_cal.cwl
@@ -98,7 +98,7 @@ steps:
     out:
       - id: msout
       - id: h5parm
-    run: ../lofar-cwl/steps/calib_rot_diag.cwl
+    run: ../lofar-cwl/steps/ddecal.cwl
     'sbg:x': 222
     'sbg:y': -89
 requirements: []
diff --git a/subworkflow/faraday_rotation.cwl b/subworkflow/faraday_rotation.cwl
index 90ce49c3700972a898417f21b7a6650c306a227c..bf8c12579ac01fc7e4c47505dcdcd8aff8c1fbe4 100644
--- a/subworkflow/faraday_rotation.cwl
+++ b/subworkflow/faraday_rotation.cwl
@@ -9,22 +9,22 @@ inputs:
     type: 'Directory[]'
     'sbg:x': -1017.7406616210938
     'sbg:y': -230.76498413085938
-  - id: do_smooth
-    type: boolean
-    'sbg:x': -892.199951171875
-    'sbg:y': 63.25977325439453
-  - id: propagate_solutions
-    type: boolean
-    'sbg:x': -862.6722412109375
-    'sbg:y': -476.848876953125
-  - id: flagunconverged
-    type: boolean
-    'sbg:x': -719.998046875
-    'sbg:y': 88.66199493408203
   - id: refAnt
     type: string?
     'sbg:x': -468.52337646484375
     'sbg:y': -415.06396484375
+  - id: propagate_solutions
+    type: boolean
+    'sbg:x': -980.18701171875
+    'sbg:y': -452.49566650390625
+  - id: flagunconverged
+    type: boolean
+    'sbg:x': -1034.012939453125
+    'sbg:y': -66.9654769897461
+  - id: do_smooth
+    type: boolean
+    'sbg:x': -869.2564086914062
+    'sbg:y': 72.52835083007812
 outputs:
   - id: msout
     outputSource:
@@ -33,53 +33,12 @@ outputs:
     'sbg:x': 481.69647216796875
     'sbg:y': -386.3322448730469
 steps:
-  - id: smooth_corrected
-    in:
-      - id: msin
-        source: msin
-      - id: do_smooth
-        source: do_smooth
-      - id: in_column_name
-        default: CORRECTED_DATA
-      - id: out_column
-        default: SMOOTHED_DATA
-    out:
-      - id: msout
-    run: ../steps/blsmooth.cwl
-    label: smooth_corrected
-    scatter:
-      - msin
-    'sbg:x': -773.8645629882812
-    'sbg:y': -111.44158172607422
-  - id: calib_cal
-    in:
-      - id: msin
-        source: smooth_corrected/msout
-      - id: msin_modelcolum
-        default: SMOOTHED_DATA
-      - id: output_name_h5parm
-        default: output.h5
-      - id: propagate_solutions
-        source: propagate_solutions
-      - id: flagunconverged
-        default: true
-        source: flagunconverged
-      - id: flagdivergedonly
-        default: true
-    out:
-      - id: msout
-      - id: h5parm
-    run: ../lofar-cwl/steps/calib_rot_diag.cwl
-    scatter:
-      - msin
-    'sbg:x': -568.359130859375
-    'sbg:y': -151.39132690429688
   - id: h5imp_cal_FR
     in:
       - id: h5parmFiles
         linkMerge: merge_flattened
         source:
-          - calib_cal/h5parm
+          - smooth_calibrate/h5parm
       - id: squeeze
         default: true
       - id: verbose
@@ -148,5 +107,25 @@ steps:
       - msin
     'sbg:x': 291.55780029296875
     'sbg:y': -384.2626647949219
+  - id: smooth_calibrate
+    in:
+      - id: msin
+        source:
+          - msin
+      - id: mode
+        default: rotation+diagonal
+      - id: propagate_solutions
+        source: propagate_solutions
+      - id: flagunconverged
+        source: flagunconverged
+      - id: do_smooth
+        source: do_smooth
+    out:
+      - id: h5parm
+    run: ./smooth_calibrate.cwl
+    label: smooth_calibrate
+    'sbg:x': -750.2130126953125
+    'sbg:y': -139.6724090576172
 requirements:
+  - class: SubworkflowFeatureRequirement
   - class: ScatterFeatureRequirement