use unordered_set
better comment