Add provider function