better keyevents
cleanup