modified fileIO class