now with keyboardcontroler