impl of multiple cursors