Optimizations: Prepermuting and async
Other nits