add disjoint sets (tested)