multiple input. (multiple output tbd)