added output_port.{h,cpp}