added data hashing