Switched from using a list for matches to a HashSet