hirarchical documentbuilder