improve DefaultValueRangeProvider to make it easier to override