inputoutput update