race condition
async accumulate