diff --git a/mergecounts.wdl b/mergecounts.wdl
index 8cca5dd494eefdaf208bedeffa051ec0960ed6d9..9d877401a68c5e74119e2d687a0d7a3d437a1a34 100644
--- a/mergecounts.wdl
+++ b/mergecounts.wdl
@@ -1,26 +1,29 @@
-task MergeCounts {
-    String? preCommand
-
-    Array[File] inputFiles
-    String outputFile
-    Int featureColumn
-    Int valueColumn
-    Boolean inputHasHeader
+version 1.0
 
+task MergeCounts {
+    input {
+        String? preCommand
+
+        Array[File] inputFiles
+        String outputFile
+        Int featureColumn
+        Int valueColumn
+        Boolean inputHasHeader
+    }
     # Based on a script by Szymon Kielbasa/Ioannis Moustakas
     command <<<
         set -e -o pipefail
-        mkdir -p ${sub(outputFile, basename(outputFile) + "$", "")}
-        ${preCommand}
+        mkdir -p ~{sub(outputFile, basename(outputFile) + "$", "")}
+        ~{preCommand}
         R --no-save <<CODE
             library(dplyr)
             library(reshape2)
 
-            listOfFiles <- c("${sep='", "' inputFiles}")
+            listOfFiles <- c("~{sep='", "' inputFiles}")
 
-            valueI <- ${valueColumn}
-            featureI <- ${featureColumn}
-            header <- ${true="TRUE" false="FALSE" inputHasHeader}
+            valueI <- ~{valueColumn}
+            featureI <- ~{featureColumn}
+            header <- ~{true="TRUE" false="FALSE" inputHasHeader}
 
             d <- do.call(rbind, lapply(listOfFiles, function(file){
                 d <- read.table(file, sep="\t", header=header, comment.char="#")
@@ -34,7 +37,7 @@ task MergeCounts {
             }))
 
             d <- d %>% dcast(feature ~ sample, value.var="count")
-            write.table(d, file="${outputFile}", sep="\t", quote=FALSE, row.names=FALSE)
+            write.table(d, file="~{outputFile}", sep="\t", quote=FALSE, row.names=FALSE)
         CODE
     >>>