improved keyboard input and navigation