fixed race conditions using async-queue
async-queue broken