Implemented UnitOfWork and Repositories Pattern