diff --git a/steps/wsclean.cwl b/steps/wsclean.cwl
index b1ab1734c56bf7af9f1efb30a6a94c9e77dd3ad4..94882771de10a1388bfe5e4b22e5ea77419676d7 100644
--- a/steps/wsclean.cwl
+++ b/steps/wsclean.cwl
@@ -27,6 +27,104 @@ inputs:
     type: Directory
     inputBinding:
       position: 2
+  - id: no_reorder
+    type: boolean?
+    default: false
+    inputBinding:
+      prefix: -no-reorder
+  - id: no_update
+    type: boolean?
+    default: false
+    inputBinding:
+      prefix: -no-update-model
+  - id: mgain
+    type: float?
+    inputBinding:
+      prefix: -mgain
+    doc: |
+     Set the major iteration gain: during every major iteration,
+     the peak is reduced by the given factor.
+     With an mgain of 0.8, the peak is reduced by 80%.
+     This is quite a common and safe option for cleaning.
+     With a reasonable good PSF, 0.9 is accettable choice without losing
+     accuracy but speeding up the computation. With a very bad PSF,
+     it might be necessary to lower the mgain parameter.
+  - id: mem
+    type: int?
+    inputBinding:
+      prefix: -mem 
+    doc: |
+      Limit memory usage to the given fraction of the total system memory. This is an approximate value.
+  - id:  n_threads
+    type: int?
+    inputBinding:
+      prefix: -j
+    doc: |
+       Specify number of computing threads to use, i.e., number of cpu cores that will be used.
+  - id: no-update-model-required
+    type: boolean?
+    doc:
+      Do not require the update of the data column after imaging
+    inputBinding:
+      prefix: -no-update-model-required
+  - id: weight
+    type: string?
+    inputBinding:
+      prefix: -weight 
+    doc: |
+      Weightmode can be: natural, uniform, briggs. Default: uniform. When using Briggs' weighting,
+      add the robustness parameter, like: briggs 0.5.
+  - id: pol
+    type: string?
+    inputBinding:
+      prefix: -pol 
+    doc: |
+      Default: \'I\'. Possible values: XX, XY, YX, YY, I, Q, U, V, RR, RL, LR or LL (case insensitive).
+      It is allowed but not necessary to separate with commas, e.g.: 'xx,xy,yx,yy'.
+      Two or four polarizations can be joinedly cleaned (see '-joinpolarizations'), but 
+      this is not the default. I, Q, U and V polarizations will be directly calculated from
+      the visibilities, which might require correction to get to real IQUV values. The
+      'xy' polarization will output both a real and an imaginary image, which allows calculating
+      true Stokes polarizations for those telescopes.
+  - id: niter
+    type: integer?
+    inputBinding:
+      prefix: -niter 
+    doc: |
+      Maximum number of clean iterations to perform. Default: 0 (=no cleaning)
+  - id: intervals-out
+    type: integer?
+    inputBinding:
+      prefix: -intervals-out 
+    doc: |
+      Number of intervals to image inside the selected global interval. Default: 1
+  - id: interval
+    type: integer[]?
+    inputBinding:
+      prefix: -interval 
+    doc: |
+      Only image the given time interval. Indices specify the timesteps, end index is exclusive.
+      Default: image all time steps.
+  - id: multiscale
+    type: boolean?
+    inputBinding:
+      prefix: -multiscale
+    doc: |
+      Clean on different scales. This is a new algorithm. Default: off.
+      This parameter invokes the optimized multiscale algorithm published by Offringa & Smirnov (2017).
+  - id: auto-threshold
+    type: int?
+    inputBinding:
+      prefix: -auto-threshold 
+    doc: |
+      Estimate noise level using a robust estimator and stop at sigma x stddev.
+  - id: auto-mask
+    type: int
+    inputBinding:
+      prefix: -auto-mask 
+    doc: |
+      Construct a mask from found components and when a threshold of sigma is reached, continue
+      cleaning with the mask down to the normal threshold. 
 outputs:
   dirty_image:
     type: File