hierarchical alloc is an extension to standard malloc/free
