logic first when you do recursion