more work with ports