bug fixes in io_func