more port properties, start of protocol refactor