added i/o capabilities