Added fingerprinting and hash tables