internal working of hashset