diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala
index 374ba068fb576e26b7f1fa33eaf1896c3ff36f63..1a3f565880dc3a2bd5450efd86cfa188e647eef4 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala
@@ -17,7 +17,7 @@ package nl.lumc.sasc.biopet.core
 
 import java.io.File
 import java.io.PrintWriter
-import nl.lumc.sasc.biopet.core.config.{ Config, Configurable }
+import nl.lumc.sasc.biopet.core.config.{ ConfigValueIndex, Config, Configurable }
 import org.broadinstitute.gatk.utils.commandline.Argument
 import org.broadinstitute.gatk.queue.QSettings
 import org.broadinstitute.gatk.queue.function.QFunction
@@ -29,7 +29,14 @@ trait BiopetQScript extends Configurable with GatkLogging {
   @Argument(doc = "JSON config file(s)", fullName = "config_file", shortName = "config", required = false)
   val configfiles: List[File] = Nil
 
-  var outputDir: String = _
+  var outputDir: String = {
+    val temp = Config.getValueFromMap(Config.global.map, ConfigValueIndex(this.configName, configPath, "output_dir"))
+    if (temp.isEmpty) throw new IllegalArgumentException("No output_dir defined in config")
+    else {
+      val t = temp.get.value.toString
+      if (!t.endsWith("/")) t + "/" else t
+    }
+  }
 
   @Argument(doc = "Disable all scatters", shortName = "DSC", required = false)
   var disableScatter: Boolean = false
diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala
index 2579be01565cbf92d08519dee02e8ae568000c9f..e6d43d5a3b0bdc86d8900e8926032a0496cac7b9 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/MultiSampleQScript.scala
@@ -108,7 +108,7 @@ trait MultiSampleQScript extends BiopetQScript {
     def createFile(suffix: String) = new File(sampleDir, sampleId + suffix)
 
     /** Returns sample directory */
-    def sampleDir = outputDir + "samples" + File.pathSeparator + sampleId + File.pathSeparator
+    def sampleDir = outputDir + "samples" + File.separator + sampleId + File.separator
   }
 
   /** Sample type, need implementation in pipeline */
@@ -130,7 +130,8 @@ trait MultiSampleQScript extends BiopetQScript {
   }
 
   /**
-   * Runs addAndTrackJobs method for each sample */
+   * Runs addAndTrackJobs method for each sample
+   */
   final def addSamplesJobs() {
     for ((sampleId, sample) <- samples) {
       sample.addAndTrackJobs()
diff --git a/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala b/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala
index df58ab964cab259f1cdf8c22cf4a2970f5c87a87..47e892ab987176c9260942b82a12c0ec3da71aed 100644
--- a/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala
+++ b/public/carp/src/main/scala/nl/lumc/sasc/biopet/pipelines/carp/Carp.scala
@@ -80,6 +80,8 @@ class Carp(val root: Configurable) extends QScript with MultiSampleQScript {
         merge.sortOrder = "coordinate"
         merge.output = bamFile
         add(merge)
+
+        //TODO: Add BigWIg track
       }
 
       val macs2 = new Macs2CallPeak(qscript)
@@ -103,13 +105,13 @@ class Carp(val root: Configurable) extends QScript with MultiSampleQScript {
     addSamplesJobs
 
     for ((sampleId, sample) <- samples) {
-      for (control <- sample.controls) {
-        if (!samples.contains(control))
-          throw new IllegalStateException("For sample: " + sampleId + " this control: " + control + " does not exist")
+      for (controlId <- sample.controls) {
+        if (!samples.contains(controlId))
+          throw new IllegalStateException("For sample: " + sampleId + " this control: " + controlId + " does not exist")
         val macs2 = new Macs2CallPeak(this)
         macs2.treatment = sample.bamFile
-        macs2.control = samples(control).bamFile
-        macs2.name = sample + "_VS_" + control
+        macs2.control = samples(controlId).bamFile
+        macs2.name = sampleId + "_VS_" + controlId
         macs2.outputdir = sample.sampleDir + "/" + "macs2/" + macs2.name + "/"
         add(macs2)
       }