rehash function prototype