re-factored Tree Navigation