added Intersect function