// todo implement oio event loops