the exercise of 1.7 file's io