adding intersect functionality