uses set instead of list for counting