unfinished rewritten Line struct