populate calls process_hier (not tested)