fighting async.waterfall