Started implementation for keyboard + refactoring