Implementation code for the various requirements of the tree, with documentation