Use async.waterfall