Use async waterfall for processing