Refactor Hasher