controller rework done, added service for business logic, some refactoring