actually moved keyboard control to keyboard class