moved keyboard controller to seperate file