union find versions