Made major changes to how range is defined.