handle range selection with shift + click, fixed #2