asynchronous input is implemented