Implemented Repository and UnitOfWork pattern.