lots of work on the ranges