xml fileio refacto