Async changes, mostly optimization attempts