Adding hasher and tests and documentation.