not really in the scope of this PR but the amount of indentation should probably be passed into the print_tree method :D