- this also splits out port checking to re-order the checking to be more in line with the spec order.