added nonrecursive climb