   // Point to overide to expanding an array
   func expand(variable  variable:String, value:[AnyObject], explode:Bool) -> String? {
     let joiner = explode ? self.joiner : ","
-    return joiner.join(value.map { self.expand(value: "\($0)") })
+    return value.map { self.expand(value: "\($0)") }.joinWithSeparator(joiner)
   }
 
   // Point to overide to expanding a dictionary


  override func expand(variable  variable:String, value:[AnyObject], explode:Bool) -> String? {
    let joiner = explode ? self.joiner : ","
    let expandedValue = joiner.join(value.map {
      let expandedValue = self.expand(value: "\($0)")

      if explode {

      }

      return expandedValue
    }.joinWithSeparator(joiner)

    if !explode {
      return "\(variable)=\(expandedValue)"
