add intersect() except()