refactore children_controller