working with ranges