moving back to async code and adding a few more API calls