fix: use async api