doing generic hasher.