synchronized input and output