Async version added, not working quite yet