added port class interface