compute hashes separately