hierarchical updates