added more asynchronous functions to attempt to improve performance