add print_tree() method