Added intersect_line() - needs testing