cleanup, use port1, port2 like MessageChannel