Refactoring + Add controllers