Added initial implementation of Repository and UnitOfWork