option 1: move to char ranges option 2: move to 'diff' semantics rather than selection ranges ... option N: see discussion below