moved the range module to a npm