added Tree.remove() recursive implementation