Improve async api