add mutli-language logic