Clean some code not needed, add custom exceptions, add structure of repository
Transform validation into trait