supporting hashing encoding