Better logging and use of async