update and add io