added ExceptionHandling, refactored Controller and Repositories