new file: range.js