separate io file