more mock providers, refactoring