Added some proper hashing. Added a few more tests. Added a little bit more benchmarking