Fix bugs, swap async for q