key binding refactoring