use Task::await() API and auto in more places