Added, union, intersection and difference methods.