improved the hash