Made it asynchronous