Thanks a lot Pete. Somehow couldn't wrap my head around the recursive function & base case. I assumed that each time the function called itself it "lost" the previous call result as I thought a variable was needed when it doesn't.