better to_hash_map