updated hasher and javadoc