Added hasher.py and a little code cleanup