working on class Port