move concurrency and fix event handlers