Added union, intersection, and difference