ports as data