use async and it's methods