complete refactoring of controller, new RestController