r1642 introduce FILE_IO