Adding the recursion