change Line interface
why it fails?
fix mistakes
remove _Segment, FiniteSegment