added i/o