diff --git a/biopet.wdl b/biopet.wdl
index 89293a9a5cbffd680e72dcf4ccfe397f397bd159..93dab22236fd00f9343d353c9048d1c1c6e21706 100644
--- a/biopet.wdl
+++ b/biopet.wdl
@@ -84,10 +84,9 @@ task SampleConfig {
     }
 
     output {
-        Array[String] keys = read_lines(stdout())
+        File keysFile = stdout()
         File? jsonOutput = jsonOutputPath
         File? tsvOutput = tsvOutputPath
-        Object values = if (defined(tsvOutput) && size(tsvOutput) > 0) then read_map(tsvOutput) else { "": "" }
     }
 
     runtime {
diff --git a/gatk.wdl b/gatk.wdl
index 160849ad00e3d849bfb26a44ce717b73e2c4918f..bd97b427db13da28d323c0408a58f79f0ca0f275 100644
--- a/gatk.wdl
+++ b/gatk.wdl
@@ -253,6 +253,7 @@ task SplitNCigarReads {
     String? preCommand
 
     File input_bam
+    File input_bam_index
     File ref_fasta
     File ref_fasta_index
     File ref_dict
@@ -271,13 +272,13 @@ task SplitNCigarReads {
         SplitNCigarReads \
         -I ${input_bam} \
         -R ${ref_fasta} \
-        -O ${output_bam} # might have to be -o depending on GATK version \
+        -O ${output_bam} \
         -L ${sep=' -L ' intervals}
     }
 
     output {
         File bam = output_bam
-        File bam_index = output_bam + ".bai"
+        File bam_index = sub(output_bam, "\\.bam$", ".bai")
     }
 
     runtime {
diff --git a/star.wdl b/star.wdl
index d7d3b7b595953704ab0de936b82e1ba7405fe279..32dd0565dc2511c7c3073531c5f8e28c9ba707bf 100644
--- a/star.wdl
+++ b/star.wdl
@@ -12,6 +12,7 @@ task Star {
     String? outStd
     String? twopassMode
     Array[String]? outSAMattrRGline
+    Int? limitBAMsortRAM
 
     Int? memory
 
@@ -34,6 +35,7 @@ task Star {
         ${"--runThreadN " + runThreadN} \
         ${"--outStd " + outStd} \
         ${"--twopassMode " + twopassMode} \
+        ${"--limitBAMsortRAM " + limitBAMsortRAM} \
         ${true="--outSAMattrRGline " false="" defined(outSAMattrRGline)} ${sep=" , " outSAMattrRGline}
     }