how come we store this on the function (as opposed to the provider instance)?