rename to avoid shadowing 'range' built-in