Finished Conversion to Async. Tested