add intersect utility