chore: add async