Adding proc recursion