Implemented new provider interface