fix count/size mixup
add Ports destructor