use hashset instead of set reader macro