Recursive programming.