let's pass this in, we want the provider to remain responsible for these choices