refactoring to splip to several controllers