refactoring and add RangeError