provider class added
previous version