diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f9df602bbfb95c84f7f4f2e4f5cf9ed9ec86883..b3dbc7f6a1e23f3317820d112a95e6c2348e4da6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,7 +9,7 @@ that users understand how the changes affect the new version.
 -->
 version 5.0.1
 ---------------------------
-+ Update number of tasks: add memory runtime
++ add runtime memory to number of tasks.
 
 version 5.0.0
 ---------------------------
diff --git a/samtools.wdl b/samtools.wdl
index 04e27fca696c10f481890a21c78dffbb8b852b6e..54215831f431d5d5dfea194b0234ca5c162302d4 100644
--- a/samtools.wdl
+++ b/samtools.wdl
@@ -25,6 +25,7 @@ task BgzipAndIndex {
         File inputFile
         String outputDir
         String type = "vcf"
+
         String memory = "2G"
         Int timeMinutes = 1 + ceil(size(inputFile, "G"))
         String dockerImage = "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
@@ -45,6 +46,7 @@ task BgzipAndIndex {
     }
 
     runtime {
+        memory: memory
         time_minutes: timeMinutes
         docker: dockerImage
         memory: memory
@@ -55,6 +57,7 @@ task BgzipAndIndex {
         inputFile: {description: "The file to be compressed and indexed.", category: "required"}
         outputDir: {description: "The directory in which the output will be placed.", category: "required"}
         type: {description: "The type of file (eg. vcf or bed) to be compressed and indexed.", category: "common"}
+        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/somaticseq.wdl b/somaticseq.wdl
index 27c3fe369a73d942829a2294f526d3f534d7f38f..afe2918f7d5fd50ac0870db6038c90cd212c7957 100644
--- a/somaticseq.wdl
+++ b/somaticseq.wdl
@@ -47,6 +47,7 @@ task ParallelPaired {
         File? strelkaSNV
         File? strelkaIndel
 
+        String memory = "2G"
         Int threads = 1
         Int timeMinutes = 60
         String memory = "2G"
@@ -92,6 +93,7 @@ task ParallelPaired {
 
     runtime {
         cpu: threads
+        memory: memory
         time_minutes: timeMinutes
         memory: memory
         docker: dockerImage
@@ -123,6 +125,7 @@ task ParallelPaired {
         strelkaSNV: {description: "An SNV VCF as produced by strelka.", category: "advanced"}
         strelkaIndel: {description: "An indel VCF as produced by somaticsniper.", category: "advanced"}
         threads: {description: "The number of threads to use.", 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"}
 
@@ -161,6 +164,7 @@ task ParallelPairedTrain {
         File? strelkaSNV
         File? strelkaIndel
 
+        String memory = "2G"
         Int threads = 1
         Int timeMinutes = 240
         String memory = "2G"
@@ -205,6 +209,7 @@ task ParallelPairedTrain {
 
     runtime {
         cpu: threads
+        memory: memory
         time_minutes: timeMinutes
         memory: memory
         docker: dockerImage
@@ -236,6 +241,7 @@ task ParallelPairedTrain {
         strelkaSNV: {description: "An SNV VCF as produced by strelka.", category: "advanced"}
         strelkaIndel: {description: "An indel VCF as produced by somaticsniper.", category: "advanced"}
         threads: {description: "The number of threads to use.", 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"}
 
@@ -268,6 +274,7 @@ task ParallelSingle {
         File? scalpelVCF
         File? strelkaVCF
 
+        String memory = "2G"
         Int threads = 1
         Int timeMinutes = 60
         String memory = "2G"
@@ -306,6 +313,7 @@ task ParallelSingle {
 
     runtime {
         cpu: threads
+        memory: memory
         time_minutes: timeMinutes
         memory: memory
         docker: dockerImage
@@ -329,6 +337,7 @@ task ParallelSingle {
         scalpelVCF: {description: "A VCF as produced by scalpel.", category: "advanced"}
         strelkaVCF: {description: "A VCF as produced by strelka.", category: "advanced"}
         threads: {description: "The number of threads to use.", 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"}
 
@@ -359,6 +368,7 @@ task ParallelSingleTrain {
         File? scalpelVCF
         File? strelkaVCF
 
+        String memory = "2G"
         Int threads = 1
         Int timeMinutes = 240
         String memory = "2G"
@@ -396,6 +406,7 @@ task ParallelSingleTrain {
 
     runtime {
         cpu: threads
+        memory: memory
         time_minutes: timeMinutes
         memory: memory
         docker: dockerImage
@@ -419,6 +430,7 @@ task ParallelSingleTrain {
         scalpelVCF: {description: "A VCF as produced by scalpel.", category: "advanced"}
         strelkaVCF: {description: "A VCF as produced by strelka.", category: "advanced"}
         threads: {description: "The number of threads to use.", 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"}
 
@@ -437,6 +449,7 @@ task ModifyStrelka {
         File strelkaVCF
         String outputVCFName = basename(strelkaVCF, ".gz")
 
+        String memory = "2G"
         Int timeMinutes = 20
         String memory = "2G"
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -456,6 +469,7 @@ task ModifyStrelka {
     }
 
     runtime {
+        memory: memory
         time_minutes: timeMinutes
         memory: memory
         docker: dockerImage
@@ -465,6 +479,7 @@ task ModifyStrelka {
         # inputs
         strelkaVCF: {description: "A vcf file as produced by strelka.", category: "required"}
         outputVCFName: {description: "The location the output VCF file should be written to.", 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"}