Added some recursion.