asynchronous all the way down