before refactoring lang management