Add generic repository and unit of work class