added recursive call to RecusionUtils