got the update loop outside of the event loop