added ability to collect ranges