properly distinct between input & output ports