support for reverse ranges