proper game event handling