Let's use io_listener instead