reuse input/output object.