line intersects by implementing roots() in utils