fold slicedSegment implementation back into iterator.  create interface for mapped segemnt