varous i/o updates