Commit number 4 adding keyboard control

Keyboard control is better managed in a class