making Recursion work better and better