added recursion exercise