     else
       msg += serialize(obj[keys[i]], keys[i])
     if i < length - 1
-      msg += ', '
+      msg += ' '
     i++
   msg
 

  escape: /%{2,2}/g
  type: /(%?)(%([jds]))/g

serialize = (obj, key) ->
  # symbols cannot be directly casted to strings
  if typeof key == 'symbol'
    key = key.toString()
  if typeof obj == 'symbol'
    obj = obj.toString()
  if obj == null
    obj = 'null'
  else if obj == undefined
    obj = 'undefined'
  else if obj == false
    obj = 'false'
  if typeof obj != 'object'
    return if key then key + '=' + obj else obj
  if obj instanceof Buffer
    return if key then key + '=' + obj.toString('base64') else obj.toString('base64')

      while j < l
        msg += serialize(obj[keys[i]][j])
        if j < l - 1
          msg += ' '
        j++
      msg += ']'
    else if obj[keys[i]] instanceof Date
