Adding some tests
Adding another hashing abstraction