                 __filename:opts.file
             required.strings = required.strings.concat(exps)
 
-        entry = @append(opts.file, body, {dirname})
+        entry = @append(opts.file, source ? body, {dirname})
         entry.target = opts.target
         entry.name = name
 

        return this

    readFile: (file) ->
        body = fs.readFileSync(file, 'utf-8')
        for fn in @filters
            body = fn.call(this, body, file)
        return body

    addEntry: (filename, opts = {}, callback) ->
        dirname = opts.dirname ? @dirname
        file = path.resolve(dirname, filename)
        body = opts.body ? @readFile(file)

        try required = @detective.find(body)
        catch err



        dirname = path.dirname(file)
        entry = @append(filename, source ? body, {dirname})
        entry.target = opts.target if opts.target?
        entry.name = name = opts.name ? "main"

