use set instead of list