Implemented Generic Repository/Unit of Work pattern