diff --git a/CHANGELOG.md b/CHANGELOG.md
index b3dbc7f6a1e23f3317820d112a95e6c2348e4da6..126f1ed9aa60503f8793f43f60ae2f2b233b9cb2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,8 +7,18 @@ Newest changes should be on top.
 This document is user facing. Please word the changes in such a way
 that users understand how the changes affect the new version.
 -->
+version 5.1.0-dev
+---------------------------
++ Update parameter_meta for macs2
++ Add sample position in array task.
+
+version 5.0.2
+---------------------------
++ bumped ScatterRegions container to 1.0.0
+
 version 5.0.1
 ---------------------------
++ Smoove: enable genotyping
 + add runtime memory to number of tasks.
 
 version 5.0.0
diff --git a/bcftools.wdl b/bcftools.wdl
index 5170a01f55795ac25d455071610dc7b2e9a2c1cc..13ce36bedbd0faf02ae6860db4216eb5e0e0d42c 100644
--- a/bcftools.wdl
+++ b/bcftools.wdl
@@ -55,7 +55,7 @@ task Annotate {
     Boolean compressed = basename(outputPath) != basename(outputPath, ".gz")
 
     command {
-        set -e 
+        set -e
         mkdir -p "$(dirname ~{outputPath})"
         bcftools annotate \
         -o ~{outputPath} \
@@ -209,7 +209,7 @@ task Sort {
         File outputVcf = outputPath
         File? outputVcfIndex = outputPath + ".tbi"
     }
-    
+
     runtime {
         memory: memory
         time_minutes: timeMinutes
diff --git a/chunked-scatter.wdl b/chunked-scatter.wdl
index fba1af5ac80b86c95d32e22c14908f2f3fe7e323..66954c36ebe723e5ef78e759684ca1a43deceedc 100644
--- a/chunked-scatter.wdl
+++ b/chunked-scatter.wdl
@@ -86,7 +86,7 @@ task ScatterRegions {
 
         String memory = "256M"
         Int timeMinutes = 2
-        String dockerImage = "quay.io/biocontainers/chunked-scatter:0.2.0--py_0"
+        String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0"
     }
 
     String finalSize = if defined(scatterSize) then "~{scatterSize}" else "~{scatterSizeMillions}000000"
diff --git a/common.wdl b/common.wdl
index d29ed5daf6f0e7355efe5bcd43265fc69bfe4aa5..1e4fc8cbac6317db2dd44276e50e99ebe031d90e 100644
--- a/common.wdl
+++ b/common.wdl
@@ -148,6 +148,44 @@ task CreateLink {
     }
 }
 
+task GetSamplePositionInArray {
+    input {
+        Array[String] sampleIds
+        String sample
+
+        # python:3.7-slim's sha256 digest. This image is based on debian buster.
+        String dockerImage = "python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
+    }
+
+    command <<<
+        python <<CODE
+        samples = ['~{sep="','" sampleIds}']
+        print(samples.index('~{sample}'))
+        CODE
+    >>>
+
+    output {
+        Int position = read_int(stdout())
+    }
+
+    runtime {
+        # 4 gigs of memory to be able to build the docker image in singularity.
+        memory: "4G"
+        docker: dockerImage
+        timeMinutes: 5
+    }
+
+    parameter_meta {
+        # inputs
+        sampleIds: {description: "A list of sample ids.", category: "required"}
+        sample: {description: "The sample for which the position is wanted.", category: "required"}
+        dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"}
+
+        # outputs
+        position: {description: ""}
+    }
+}
+
 task MapMd5 {
     input {
         Map[String,String] map
diff --git a/macs2.wdl b/macs2.wdl
index 757eaf677281e992839e4a751527609b32743af2..eb71ac1dd8ba5fe7e165068d97ecfb870d1befa6 100644
--- a/macs2.wdl
+++ b/macs2.wdl
@@ -24,13 +24,12 @@ task PeakCalling {
     input {
         Array[File]+ inputBams
         Array[File]+ inputBamsIndex
-        Array[File]+? controlBams
-        Array[File]+? controlBamsIndex
-        String outDir
+        Array[File] controlBams
+        Array[File] controlBamsIndex
+        String outDir = "macs2"
         String sampleName
         Boolean nomodel = false
-
-        Int threads = 1
+        Int timeMinutes = 600  # Default to 10 hours
         String memory = "8G"
         String dockerImage = "quay.io/biocontainers/macs2:2.1.2--py27r351_0"
     }
@@ -39,7 +38,7 @@ task PeakCalling {
         set -e
         macs2 callpeak \
         --treatment ~{sep = ' ' inputBams} \
-        ~{true="--control" false="" defined(controlBams)} ~{sep = ' ' controlBams} \
+        ~{true="--control" false="" length(controlBams) > 0} ~{sep = ' ' controlBams} \
         --outdir ~{outDir} \
         --name ~{sampleName} \
         ~{true='--nomodel' false='' nomodel}
@@ -50,8 +49,22 @@ task PeakCalling {
     }
 
     runtime {
-        cpu: threads
+        cpu: 1
         memory: memory
         docker: dockerImage
+        time_minutes: timeMinutes
+    }
+    parameter_meta {
+        inputBams: {description: "The BAM files on which to perform peak calling.", category: "required"}
+        inputBamsIndex: {description: "The indexes for the input BAM files.", category: "required"}
+        controlBams: {description: "Control BAM files for the input bam files.", category: "common"}
+        controlBamsIndex: {description: "The indexes for the control BAM files.", category: "common"}
+        sampleName: {description: "Name of the sample to be analysed", category: "required"}
+        outDir: {description: "All output files will be written in this directory.", category: "advanced"}
+        nomodel: {description: "Whether or not to build the shifting model.", category: "advanced"}
+        memory: {description: "The amount of memory this job will use.", category: "advanced"}
+        timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"}
+        dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"}
+
     }
 }
diff --git a/smoove.wdl b/smoove.wdl
index e5c5348f365fe56ad9bbbec9e075b44a42f9fd90..d1011f6cd3623e13377af67d000639b1c438bdaa 100644
--- a/smoove.wdl
+++ b/smoove.wdl
@@ -41,11 +41,13 @@ task Call {
         --outdir ~{outputDir} \
         --name ~{sample} \
         --fasta ~{referenceFasta} \
+        --removepr \
+        --genotype \
         ~{bamFile}
     }
 
     output {
-        File smooveVcf = outputDir + "/" + sample + "-smoove.vcf.gz"
+        File smooveVcf = outputDir + "/" + sample + "-smoove.genotyped.vcf.gz"
     }
 
     runtime {