event handling improved. current status: unstable