changed method to async