added union-all, intersect, and except