introduce io header; later all the input output stuff should be moved here