switching to unordered_set