added keyboardcontroller