add row I/O