beginning of a low-level tree class to support induced_tree