Asynchronous systems