refactoring children call