data structure change for get_ports()