partial implementation of um_tree