Adds provider class and unit tests