factored out finding next cigar element and read position