added GeometryCollection support to intersect function