Use a more straightforward algorithm to find intersections (fixes bug)