singletonset
union and intersect