input output update