let filenames = yield new Promise((resolve, reject) =>
      fs.readdir(dirname, (err, filenames) => err ? reject(err) : resolve(filenames))
    )