moving away from asynchronous calls