Refactoring and asynchronous start.