implemented key bindings