       if not initialized
         initialize()
 
+      out = fs.createWriteStream zipPath
       zip.pipe out
 
       async.parallel fileStack, (err) ->

      type = type

    setOutput: (path) ->
      if out?
        out.end()
      out = fs.createWriteStream path

    add: (path, callback) ->
      if not initialized

  options     = level: 9
  initialized = false
  type        = 'zip'
  zipPath     = undefined
  fileList    = []
  fileStack   = []
  initialize = ->
