Nice tail recursion! :)