restructure for port categories