hashes and ranges