Updated requirements, refactored UnitOfWork