add the standard I/0 function