add new hashing methods and update the original codes