add more i/o works