moved methods to provider