should be using a set
starting move to IP sets