Template all intersections functions