maybe add_ports?