migrate to java 8
refractoring and handle exceptions in separate methods wirh @ExceptionHandler in controllers