modified:   tree.cpp and tree.hpp