refactoring changelanguage, better var names, etc.