setup factored to be able to use any hashing algo