introducing the Port wrapper class