l20n and some refactoring