add insert mode, maintain cursor position