       exports.bucket = new exports.Bucket(filename)
       exports.bucket.load () ->
         cb(exports.bucket)
+    else
+      cb(exports.bucket)
 

    close : (cb) ->
      @tailProcess.kill()

    reader : () ->
      #inStream = fs.createReadStream(@fileName, {flags:'r', encoding:'utf8'})
      @tailProcess = cp.spawn 'tail', ['-f', '-n +0', @fileName]
      inStream     = @tailProcess.stdout
      dataReader   = carrier.carry inStream, (line) =>
        console.log "Reader LINE callback..."
        chunk   = JSON.parse line
        deleted = _.where chunk, {deleted:true}
        deleted = _.pluck deleted, 'id'
        _.each deleted, (id) =>
          delete chunk[id]
          delete @bucket[id]

#        _.extend contextBucket, chunk
        _.extend @bucket, chunk
        console.log "Reader LINE callback end!"

      dataReader.once 'end', () ->
        console.log "Reader END callback..."
#        cb() what?

    load : (cb) ->
      fs.closeSync(fs.openSync(@fileName, 'a'))
      @reader()
      cb()


    deleteById : (id) ->

    dirty       : {}
    deleted     : []
    tailProcess : null
    writehashes : []

    obliterate : (cb) ->
      closing = () =>
        fs.unlink @fileName, (err) ->
          unless err?
            delete @bucket
            delete @filename
