switch to hashset