Async methods added and refactored