You are right about this being the wrong way of getting the info but I'm tempted to say we should merge this PR because this *allows* it to be overridden by arguments passed in where as the previous required it; and then I'll make another PR to use the interface the provider/drivers give us