synchronized i/o