range is inclusive on low, exclusive on high, ugh!