override I/O operators