Use asynchronous methods for better performance