moved KeyHandler to Core