use a set instead of a list