updating for i/o