some refactoring, and external ports are created with the same name asthe internal ports, to not violate transparency