subtree update