added classes to handle permutations of port list and ip addresses