challenge 3 done both recursive and not