implement wel event loop event handling