removing static methods, improved Hasher class, refactoring