Translations and some refactoring