diff --git a/steps/DP3.ParsetSelector.cwl b/steps/DP3.ParsetSelector.cwl
deleted file mode 100755
index f58d1420436a9f470c6d3106d31f260faee29da9..0000000000000000000000000000000000000000
--- a/steps/DP3.ParsetSelector.cwl
+++ /dev/null
@@ -1,24 +0,0 @@
-class: ExpressionTool
-cwlVersion: v1.0
-id: parsetselector
-inputs:
-  - id: select_a
-    type: boolean
-    doc: 'if true selects parset_a, files_a if false selects parset_b files_b'
-  - id: a_arguments
-    type: Any[]
-    default: []
-  - id: b_arguments
-    type: Any[]
-    default: []
-outputs:
-  - id: output_arguments
-    type: Any
-expression: |
-  $(
-    {'output_arguments': inputs.selector ? inputs.a_arguments : inputs.b_arguments}
-  )
-label: ParsetSelector
-
-requirements:
-  - class: InlineJavascriptRequirement
diff --git a/steps/DP3.PreflaggerStepGenerator.cwl b/steps/DP3.PreflaggerStepGenerator.cwl
index b1ff11afefa2122136e784f437b9a46e9a42fd78..7b29b255eb61e6d2d4e982b255f4adc0d2cb514a 100755
--- a/steps/DP3.PreflaggerStepGenerator.cwl
+++ b/steps/DP3.PreflaggerStepGenerator.cwl
@@ -5,7 +5,7 @@ cwlVersion: v1.0
 id: preflag_step_generator
 
 inputs:
-  - id: input_parset
+  - id: steps
     type: Any[]?
     default: []
   - id: step_name
@@ -182,7 +182,7 @@ steps:
       - id: step_id
         source: step_name
       - id: steps
-        source: input_parset
+        source: steps
       - id: parameters
         valueFrom: $(inputs)
       - id: count.save
diff --git a/steps/DP3.Selector.cwl b/steps/DP3.Selector.cwl
new file mode 100755
index 0000000000000000000000000000000000000000..28c5d866b55fc365774eeb593ebe5d807309ff8d
--- /dev/null
+++ b/steps/DP3.Selector.cwl
@@ -0,0 +1,24 @@
+class: ExpressionTool
+cwlVersion: v1.0
+id: selector
+inputs:
+  - id: select_a
+    type: boolean
+    doc: 'if true selects a_steps if false selects b_steps'
+  - id: a_steps
+    type: Any[]
+    default: []
+  - id: b_steps
+    type: Any[]
+    default: []
+outputs:
+  - id: selected_steps
+    type: Any
+expression: |
+  $(
+    {'selected_steps': inputs.selector ? inputs.a_steps : inputs.b_steps}
+  )
+label: Selector
+
+requirements:
+  - class: InlineJavascriptRequirement
diff --git a/subworkflow/ndppp_prep_cal.cwl b/subworkflow/ndppp_prep_cal.cwl
index 29e7bcb32841c68181669f054cc14925b504ef9d..b495d85a1a3491b70e28d8e90dee66e70581674b 100644
--- a/subworkflow/ndppp_prep_cal.cwl
+++ b/subworkflow/ndppp_prep_cal.cwl
@@ -7,16 +7,16 @@ $namespaces:
 inputs:
   - id: baselines_to_flag
     type: 'string[]'
-    'sbg:x': 707.7924194335938
-    'sbg:y': -366.86871337890625
+    'sbg:x': 732.2234497070312
+    'sbg:y': 79.11939239501953
   - id: elevation_to_flag
     type: string
-    'sbg:x': 847
-    'sbg:y': -501.7469482421875
+    'sbg:x': 815.8416137695312
+    'sbg:y': -281.40777587890625
   - id: min_amplitude_to_flag
     type: float
-    'sbg:x': 1129.3828125
-    'sbg:y': 338.9372863769531
+    'sbg:x': 964.3058471679688
+    'sbg:y': 191.110595703125
   - id: memoryperc
     type: int
     'sbg:x': 136.78256225585938
@@ -31,8 +31,8 @@ inputs:
     'sbg:y': -298.45196533203125
   - id: msin
     type: Directory?
-    'sbg:x': 2095.969482421875
-    'sbg:y': 563.7855224609375
+    'sbg:x': 2129.6337890625
+    'sbg:y': 149.5590362548828
 outputs:
   - id: msout
     outputSource:
@@ -51,7 +51,7 @@ steps:
     in:
       - id: steps
         source:
-          - process_raw_data_select/steps
+          - process_raw_data_select/selected_steps
       - id: step_name
         default: flagbaseline
       - id: baseline
@@ -60,8 +60,8 @@ steps:
     out:
       - id: augmented_steps
     run: ../steps/DP3.PreflaggerStepGenerator.cwl
-    'sbg:x': 1160.802978515625
-    'sbg:y': -95.15213775634766
+    'sbg:x': 955.2450561523438
+    'sbg:y': -75.71149444580078
   - id: flagelev
     in:
       - id: steps
@@ -74,19 +74,21 @@ steps:
     out:
       - id: augmented_steps
     run: ../steps/DP3.PreflaggerStepGenerator.cwl
-    'sbg:x': 1459.2421875
-    'sbg:y': -83.970458984375
+    'sbg:x': 1187.4771728515625
+    'sbg:y': -83
   - id: process_raw_data_select
     in:
       - id: select_a
         source: raw_data
-      - id: a_arguments
+      - id: a_steps
         source:
           - aoflag/augmented_steps
+      - id: b_steps
+        default: []
     out:
-      - id: output_arguments
-    run: ../steps/DP3.ParsetSelector.cwl
-    label: ParsetSelector
+      - id: selected_steps
+    run: ../steps/DP3.Selector.cwl
+    label: Selector
     'sbg:x': 621.4892578125
     'sbg:y': -71.31844329833984
   - id: flagamp
@@ -101,19 +103,21 @@ steps:
     out:
       - id: augmented_steps
     run: ../steps/DP3.PreflaggerStepGenerator.cwl
-    'sbg:x': 1659.302001953125
-    'sbg:y': -23
+    'sbg:x': 1385.993408203125
+    'sbg:y': -42.28850555419922
   - id: flagedge
     in:
       - id: step_name
         default: flagedge
+      - id: steps
+        default: []
       - id: chan
         default: '[0..nchan/32-1,31*nchan/32..nchan-1]'
     out:
       - id: augmented_steps
     run: ../steps/DP3.PreflaggerStepGenerator.cwl
-    'sbg:x': 53.59375762939453
-    'sbg:y': -119.96077728271484
+    'sbg:x': 122.25408935546875
+    'sbg:y': -54.06163024902344
   - id: aoflag
     in:
       - id: steps
@@ -128,21 +132,21 @@ steps:
     out:
       - id: augmented_steps
     run: ../steps/DP3.AOFlaggerStepGenerator.cwl
-    'sbg:x': 357.934326171875
-    'sbg:y': -129.337890625
+    'sbg:x': 369.9876708984375
+    'sbg:y': -38.086280822753906
   - id: demix_select
     in:
       - id: select_a
         source: demix
-      - id: a_arguments
+      - id: a_steps
         source:
           - demixstepgenerator/augmented_steps
-      - id: b_arguments
+      - id: b_steps
         source:
           - flagamp/augmented_steps
     out:
-      - id: output_arguments
-    run: ../steps/DP3.ParsetSelector.cwl
+      - id: selected_steps
+    run: ../steps/DP3.Selector.cwl
     label: demix?
     'sbg:x': 1985.5047607421875
     'sbg:y': -44.651588439941406
@@ -154,13 +158,13 @@ steps:
     out:
       - id: augmented_steps
     run: ../steps/DP3.DemixerStepGenerator.cwl
-    'sbg:x': 1828.623046875
-    'sbg:y': 156.3474578857422
+    'sbg:x': 1676.6593017578125
+    'sbg:y': 90.7158203125
   - id: parsetgenerator
     in:
       - id: steps
         source:
-          - demix_select/output_arguments
+          - demix_select/selected_steps
     out:
       - id: parset
       - id: input_files
@@ -168,8 +172,8 @@ steps:
       - id: output_file_names
       - id: output_directory_names
     run: ../steps/DP3.ParsetGenerator.cwl
-    'sbg:x': 2228.349365234375
-    'sbg:y': -53.74734115600586
+    'sbg:x': 2228
+    'sbg:y': -40.012325286865234
   - id: dppp
     in:
       - id: parset
@@ -215,3 +219,4 @@ requirements:
   - class: SubworkflowFeatureRequirement
   - class: StepInputExpressionRequirement
   - class: InlineJavascriptRequirement
+