use async for testing