better array hashing