factored out formats so that we can create many formats to handle xml translation files, etc...