revise file io object creation