additional transaltions, some refactoring