added Set.union/difference