Recursion implimented.