generate_root
root = generate_root(roots[0], fragnum);
node_ptr generate_root(node_ptr &node, int &fragnum);