working outward_normal and triangle_from_surface_edge