initial async code
Slowly making it async