streamlined event loop