range function should only be available after hash function is called