xml RW improoved