add keyboard input
refactor, make eventhandler create event too