dealing with ports