Refactoring: controllers method have been divided for functional parts