将 hex_tree 功能分离出来