Added recursion.