tree
tree with all functionalities completed