add reverse_range for convenience