passes input-output