use async for flow ctrl