add arrow key handling