recursion range completed