Added more tests and implementation for hashable