Added RecursiveUtils
Refactoring to limit the complexity