how hashset work internally