improved event queue