added consistent hashing implementation