added async waterfall to query data