some cleanup + preproc abuse :)
naive hasher
moved to separate files
need to rethink the hasher type