Async refactoring