Rewrite with Async.js