use SegmentReader