Getting Started with SkyLang Auto Translator for Polylang
Welcome to SkyLang! This guide will walk you through installation, initial setup, and your first steps to auto‑translate posts, pages, products, and taxonomies with Polylang. Whether you’re using the free Google Translate engine or a Pro AI provider, you’ll be up and running in minutes.
Trước khi bạn bắt đầu
Make sure your site meets these requirements:
- trang web WordPress – version 5.0 or higher recommended.
- Polylang plugin – installed and activated, with at least two languages configured.
- Free version – no API key needed; Google Translate is included at no cost.
- Pro version – a valid SkyLang Pro license key to unlock AI engines (Gemini, OpenAI, Claude, OpenRouter, and OpenAI‑compatible endpoints).
Ghi chú: All translation features rely on your Polylang language setup. If you haven’t added languages yet, do that first in Polylang → Languages.
Cài đặt
- Tải xuống plugin – có được
.zipfile from your purchase receipt or the WordPress plugin repository. - Upload and install – in your WordPress admin area, go to Plugin → Thêm mới → Tải plugin lên. Choose the
.zipfile and click Cài đặt ngay. - Kích hoạt – after installation, click Activate Plugin.
- Launch the Setup Wizard – on first activation you’ll be automatically redirected to a multi‑step wizard. This helps you verify your languages, test a translation, and see what Pro offers. You can skip any step and finish when ready.
Thiết lập lần đầu
After completing the wizard, head to SkyLang → Settings to configure your translation engine.
1. Choose your AI provider
- Miễn phí: Select Google Translator – no key required.
- Pro: Pick from Google Song Tử, OpenAI, Anthropic Claude, Bộ định tuyến mở, or an OpenAI‑compatible URL. Enter the corresponding API key and model.
2. Adjust additional settings (optional)
- Auto‑sync taxonomies – enable to automatically copy translated categories and tags to translated posts.
- Translation Mode – choose between safe string extraction (recommended) or full‑content AI translation.
- Post Types – select which content types (posts, pages, products, etc.) should appear in the Bulk Editor.
- Full Content Custom Instructions – add instructions for the AI when using full‑content mode (Pro only).
3. Save changes
nhấp chuột Lưu thay đổi at the bottom of the Settings page. Your configuration is now ready.
Tip: If you’re unsure, start with the default settings. You can change them anytime.
Những bước đầu tiên của bạn
Try two core features to get a feel for SkyLang:
📋 Bulk Editor – Translate missing content in one go
- đi đến SkyLang → Bulk Editor.
- Sử dụng Folder filter to show a specific content type (e.g., bài viết hoặc Trang).
- The table displays items with missing translations. Check the box next to one or more items.
- nhấp chuột Bulk translate selected.
- Watch the progress – each row shows a status badge. When complete, the translation is ready.
Ghi chú: You can also translate all missing items with one click using the Translate all missing cái nút.
⏳ Background Translate – Let translations run while you work
- đi đến SkyLang → Background Translate.
- Chọn Post Types you want to include.
- Chọn Translation Mode – either “Translate untranslated only” or “Force translate all”.
- nhấp chuột Start Background Translation.
- A progress bar and summary counters (total, processed, failed, remaining) show real‑time status. You can leave the page – the queue keeps running.
- Sử dụng Pause, Resume, hoặc Reset Queue as needed.
Trình chỉnh sửa hàng loạt
Nó làm gì
The Bulk Editor gives you a single place to review all your posts, pages, and taxonomy terms that are missing translations in Polylang. You can filter the list by content type, browse results page by page, and perform bulk actions like translating, force-translating, or deleting translations on multiple items at once.
Cách sử dụng nó
- đi đến SkyLang → Trình chỉnh sửa hàng loạt tab.
- Optionally use the Folder filter to show only a specific content type (e.g., Products or Categories), and adjust Items per page to control how many items appear on screen.
- Select the items you want to work with by checking the boxes next to them.
- Click one of the bulk action buttons:
- Bulk translate selected – Translate missing languages for the chosen items.
- Force translate selected – Overwrite any existing translations.
- Delete translations selected – Remove all translations (except the source language).
- Reassign Language – Change the language label assigned to the selected items.
- Watch the progress as each item is processed — status badges show success or failure.
- Review the final result per row to confirm each action completed.
Extra toolbar actions
- nhấp chuột Translate all missing to auto-translate every incomplete item in the current folder.
- nhấp chuột Sync categories & tags to run a taxonomy sync.
- nhấp chuột Sync menus to run a menu sync.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Folder filter | Filters the list by post type or taxonomy folder (All folders, Posts, Pages, Products, Categories, Tags, Product Categories, Product Tags, Product Brands) |
| Items per page | Sets the number of items displayed per page (10, 20, 50, or 100) |
| Debug toggle | Shows a debug panel with raw query counts, post type data, and SQL queries for troubleshooting |
Mẹo & phương pháp hay nhất
- Sử dụng Folder filter to focus on a specific content type – this keeps large lists manageable and helps you avoid accidental changes to unrelated items.
- When you have many items to translate, first click Translate all missing rather than selecting each individually.
- Force translate selected overwrites existing translations, so use it only when you’re sure you want to replace the current content.
- Bật Debug toggle if something isn’t working as expected – it can reveal query issues and help you diagnose problems faster.
Dịch nền
Nó làm gì
The Background Translate feature lets you queue up post translations to run in the background — you can navigate away from the page and the process keeps going. You can watch real-time progress through a status badge, a progress bar, summary counters (total, processed, failed, remaining), and a detailed activity log.
Cách sử dụng nó
- đi đến SkyLang admin page and click the Dịch nền tab.
- Select the checkboxes for the post types you want to include in the translation queue.
- Choose a translation mode:
- Translate untranslated only – skip posts that already have translations.
- Force translate all – process every post, even if already translated.
- nhấp chuột Start Background Translation to begin processing.
- Monitor the queue using the progress bar, status badge, and the counters that show total, processed, failed, and remaining posts.
- At any time you can:
- nhấp chuột Pause to stop the queue.
- nhấp chuột Resume to continue a paused queue.
- nhấp chuột Reset Queue to cancel all pending translations and clear the progress.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Post Types | Choose which post types are included in the background translation queue. |
| Translation Mode | Lựa chọn Translate untranslated only to skip already‑translated posts, or Force translate all to process every post. |
Mẹo & phương pháp hay nhất
- Sử dụng Translate untranslated only to save time and avoid re‑processing posts you’ve already translated.
- The activity log gives you a detailed breakdown of each translation result — check it if you need to troubleshoot any failures.
- You can safely navigate to other pages or close the tab; the translation process continues in the background.
- If you need to change settings or make adjustments, use Pause Và Reset Queue before starting a new batch.
Category, Tag & Product Taxonomy Sync
Nó làm gì
This feature performs a one‑shot sync that copies translated categories, tags, and product taxonomies (such as product categories, product tags, and product brands) to their corresponding translated posts and products. If no translation exists for a term, it will automatically create a new term in the target language.
Cách sử dụng nó
- đi đến SkyLang admin page and open the Công cụ tab, or click the sync button in the Trình chỉnh sửa hàng loạt toolbar.
- Bấm vào Sync categories & tags button to start the process.
- The sync scans all default‑language posts and their translations.
- For each translated post, the feature assigns the translated versions of the source terms.
- When the sync finishes, a status message displays the number of posts that were updated.
Cài đặt & Tùy chọn
There are no configurable settings for this feature. Simply click the sync button to run it.
Mẹo & phương pháp hay nhất
- Run the sync after translating your categories, tags, or product taxonomies to make sure all translated posts use the correct terms.
- Because the sync creates missing translations automatically, you don’t need to pre‑create translated terms before running it.
- For quick access while editing content, use the sync button directly from the Bulk Editor toolbar.
- Check the status message that appears after the sync to confirm how many posts were updated.
Menu Sync
Nó làm gì
Menu Sync duplicates your navigation menus across all Polylang languages. When you run the sync, menu items that link to posts, pages, or categories are automatically mapped to their translated versions. If a translation doesn’t exist, the original link is kept. Any Polylang language switcher items in your menu are preserved as they are.
Cách sử dụng nó
- đi đến SkyLang admin page and open the Công cụ tab, or click the Menu Sync button in the Trình chỉnh sửa hàng loạt toolbar.
- Bấm vào Sync menus cái nút.
- The tool scans all menus assigned to your site’s default language.
- For each target language, it creates or updates a duplicate menu.
- Menu items pointing to posts, pages, or categories are matched to their translations.
- The new menus are automatically registered in Polylang.
Cài đặt & Tùy chọn
There are no configurable settings for this feature. The sync process runs immediately when you click the button.
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| (None) | The sync has no adjustable options. |
Mẹo & phương pháp hay nhất
- Run Menu Sync after you have created translations for your posts, pages, and categories to get the most accurate mapping.
- If you edit a default language menu later, run the sync again to propagate those changes to other language menus.
- Items without a translation will keep the original language link, so check for any missing translations if you need fully localized menus.
- Use the Bulk Editor toolbar button for quick access while managing your content.
Auto-Sync Categories & Tags During Translation
Nó làm gì
When you translate a post, this feature automatically creates translated copies of the post’s categories, tags, and product taxonomies and assigns them to the translated version. If a term doesn’t already have a translation in the target language, a new term is created so your taxonomy stays complete and consistent across languages.
Cách sử dụng nó
- đi đến SkyLang → Settings.
- Select the checkbox labeled Auto-sync categories, tags & product taxonomies during translation.
- Lưu cài đặt của bạn.
- The next time you translate a post, the plugin will automatically create and assign the translated taxonomy terms.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Auto-sync categories, tags & product taxonomies during translation | When checked, translated terms are created and assigned to translated posts during each translation operation. |
Mẹo & phương pháp hay nhất
- Enable this option if you regularly translate posts with important categories or tags to keep your site’s taxonomy synchronized across languages.
- Because new terms are created automatically, consider translating key taxonomy terms first so that the existing translations are reused instead of creating duplicates.
- If you prefer to manually assign categories and tags to translated content, leave this checkbox unchecked.
- This feature works with the bulk editor to help you translate many posts at once while keeping taxonomy relationships intact.
String Translation (Polylang Strings)
Nó làm gì
Adds an "Auto-translate missing" button to the Polylang String Translation page (Polylang → Strings translation). When clicked, the button automatically fills all empty translation fields for every non-default language using your chosen AI provider.
Cách sử dụng nó
- đi đến Polylang → Strings translation trong quản trị viên WordPress của bạn.
- Bấm vào "Auto-translate missing" button located in the toolbar.
- The plugin scans every row for empty textarea or input fields.
- It groups the missing strings by target language and sends them in batches to the AI provider.
- The translated text is automatically inserted into the empty fields.
- Review the newly filled translations and save the page manually.
Cài đặt & Tùy chọn
There are no settings for this feature. The button works with your existing AI provider configuration.
Mẹo & phương pháp hay nhất
- Review before saving – AI translations may need minor adjustments. Always check the filled fields before clicking the save button.
- Only empty fields are filled – Existing translations will not be overwritten, so you can safely use the button after manually translating some strings.
- Use it after adding new strings – If you’ve added new translatable strings, run the “Auto-translate missing” button to quickly populate them.
- Configure your AI provider first – This feature relies on your selected AI provider. Make sure it is set up correctly in the translation engine settings.
Translation Engine Configuration
Nó làm gì
Choose the AI service that powers your site’s translations. The free version works with Google Translate right out of the box — no API key needed. Pro unlocks access to advanced AI models like Google Gemini, OpenAI, Anthropic Claude, OpenRouter, and any OpenAI‑compatible endpoint, with full control over model selection and custom base URLs.
Cách sử dụng nó
- đi đến SkyLang admin page and open the Cài đặt tab.
- Từ Nhà cung cấp AI dropdown, pick the translation service you want to use.
- Depending on your choice:
- Google Translator (free) – No further setup required.
- Google Gemini, OpenAI, Anthropic, OpenRouter, or OpenAI‑compatible – Enter the corresponding API Key and select or type a Model name.
- If needed, adjust the Hết thời gian chờ API (for large posts) or fill in custom base URLs for OpenAI or Anthropic endpoints.
- nhấp chuột Lưu thay đổi to apply your configuration.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Nhà cung cấp AI | Selects the translation engine: Google Translator (free), Google Gemini, OpenAI, Anthropic Claude, OpenRouter, or OpenAI‑compatible URL |
| Khóa API Song Tử | Your Google Gemini API key from Google AI Studio |
| Người Mẫu Song Tử | Predefined Gemini models (e.g., Gemini 3.1 Pro Preview, Gemini Flash Latest) or a custom model ID |
| Khóa API OpenAI | Your OpenAI API key from platform.openai.com |
| Mô hình OpenAI | Predefined OpenAI models (e.g., GPT‑5.4, GPT‑5.4 Mini) or a custom model ID |
| OpenAI Base URL | Custom URL for OpenAI‑compatible API endpoints (default: https://api.openai.com/v1) |
| Khóa API nhân loại | Your Anthropic API key from console.anthropic.com |
| Mô hình nhân học | Predefined Claude models (Opus 4.6, Sonnet 4.6, Haiku 4.5) or a custom model ID |
| Anthropic Base URL | Custom URL for Anthropic‑compatible API endpoints (default: https://api.anthropic.com/v1) |
| Khóa API OpenRouter | Your OpenRouter API key from openrouter.ai/keys |
| Mô hình bộ định tuyến mở | The OpenRouter model slug (e.g., openai/gpt-4o-mini) |
| OpenAI‑compatible API Key | API key for your OpenAI‑compatible endpoint |
| OpenAI‑compatible Model | Model name for your OpenAI‑compatible endpoint |
| OpenAI‑compatible Base URL | Base URL for your OpenAI‑compatible endpoint |
| Hết thời gian chờ API | Request timeout in seconds (30–300, default 60). Increase if you get timeout errors on large posts. |
Mẹo & phương pháp hay nhất
- Start free: The default Google Translate option works immediately and needs no API key or extra setup.
- Giữ khóa API an toàn: For Pro providers, double‑check that your keys are entered correctly and have enough credits for your translation volume.
- Adjust timeout for large content: If translations of long posts fail, increase the Hết thời gian chờ API setting to give the provider more time to respond.
- Use custom base URLs: If you have a self‑hosted or third‑party service that mimics the OpenAI API, simply change the base URL and provide the matching model name.
Translation Mode
Nó làm gì
Translation Mode lets you choose how your content is processed for translation. You can either extract individual translatable strings from your content (safe string extraction) or send the full post content to AI for a context-aware translation that preserves Gutenberg blocks, HTML, and inline styles.
Cách sử dụng nó
- Go to the SkyLang admin page and open the Cài đặt tab.
- Tìm Translation Mode dropdown.
- Select the mode you want to use:
- Safe string extraction (recommended) – for per-string extraction.
- Full post_content AI translation – for complete, context-aware translation.
- nhấp chuột Cứu để áp dụng sự lựa chọn của bạn.
- The selected mode will be used whenever content is translated.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Translation Mode | Choose between safe string extraction or full post content AI translation. |
Mẹo & phương pháp hay nhất
- Sử dụng Safe string extraction as your default mode – it’s reliable and works well for most content.
- Switch to Full post_content AI translation when you need the AI to understand the full context, such as long articles or pages with complex formatting.
- After enabling full content translation, always review a few translations to ensure Gutenberg blocks and inline styles are preserved correctly.
- Keep in mind that full content translation may use more AI processing time, so plan accordingly if you translate many posts at once.
Full Content Custom AI Instructions
Nó làm gì
This feature lets you add your own custom instructions that are sent to the AI along with SkyLang’s built-in preservation prompt when you use the Full Content translation mode. It gives you extra control over how the AI handles the tone, terminology, or specific elements of your content. (Available in the Pro version.)
Cách sử dụng nó
- đi đến SkyLang admin page and open the Cài đặt tab.
- Cuộn xuống Full Content Custom Instructions textarea.
- Type your custom instructions for the AI (for example, preferred phrasing, domain‑specific terms, or formatting rules).
- Bấm vào Lưu cài đặt button to store your instructions.
- When you translate content using the Full Content translation mode, your custom text will be appended to the default preservation prompt automatically.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Full Content Custom Instructions | Optional text appended to SkyLang’s built‑in full‑content preservation prompt for the AI |
Mẹo & phương pháp hay nhất
- Be specific about any terms, brand names, or style preferences you want the AI to follow.
- Keep your instructions clear and concise – short, focused prompts often produce better results.
- Experiment with different instructions to see which phrasing works best for your content type.
- Remember that these instructions apply only when using the Full Content translation mode; other modes ignore this setting.
Configurable Post Types
Nó làm gì
This feature lets you choose which content types (like posts, pages, or products) are available for translation in SkyLang. In the free version, you can enable translation for posts, pages, and products (when WooCommerce is active). The Pro version extends this to any custom post type that works with Polylang.
Cách sử dụng nó
- Go to the SkyLang admin page and open the Cài đặt tab.
- Look for the Enable for Post Types phần.
- Check the boxes next to each post type you want to use for translation.
- Uncheck any post type you don’t want to appear in the Bulk Editor or be translated.
- nhấp chuột Cứu để áp dụng những thay đổi của bạn.
After saving, the Bulk Editor and translation features will only show the post types you’ve selected.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Enable for Post Types | Which post types appear in the Bulk Editor and are available for translation. |
Mẹo & phương pháp hay nhất
- Only enable the post types you actually need to translate. This keeps the Bulk Editor clean and reduces confusion.
- If you use WooCommerce, remember that “Products” will only appear as an option if WooCommerce is active.
- In the Pro version, custom post types registered with Polylang support will show up automatically—check them if you want them included.
- After enabling a new post type, refresh the Bulk Editor to see its content appear for translation.
SEO Meta Translation
Nó làm gì
This feature automatically translates the meta titles and descriptions from popular SEO plugins—Yoast SEO, Rank Math, and All in One SEO—when you translate a post or term. It detects which SEO plugin is active on your site and ensures the appropriate meta fields are translated along with your main content.
Cách sử dụng nó
No manual activation or extra steps are required. The translation happens automatically whenever you translate a post or term:
- Start translating a post or term using your usual translation workflow.
- The system detects the active SEO plugin (Yoast SEO, Rank Math, or All in One SEO).
- It extracts the SEO title and description from the source content and sends them to the AI provider for translation alongside the body text.
- The translated SEO meta values are saved to the new translation.
Cài đặt & Tùy chọn
This feature has no configurable settings. It runs automatically each time you translate content.
Mẹo & phương pháp hay nhất
- Make sure your source content has SEO titles and descriptions filled in before translating. The feature will only translate meta that already exists.
- This feature is compatible with Yoast SEO, Rank Math, and All in One SEO. If you use another SEO plugin, the meta fields may not be translated.
- After translation, review the SEO meta of your translated content. Automated translations can sometimes require minor edits to sound natural and fit your SEO strategy.
- Because the translation happens alongside the main content, you don’t need to take any additional steps—just translate as you normally would.
WooCommerce Product Variation Translation
Nó làm gì
When you translate a WooCommerce product, this feature automatically creates translated versions of all product variations and links them to the translated product. Variation short descriptions are translated using your chosen AI provider, and all variation meta data such as prices, SKUs, and attributes are copied from the original variations.
Cách sử dụng nó
- Start a translation for a WooCommerce product (for example, from the product edit page or using the bulk translation tools).
- The plugin automatically finds all variations attached to the source product.
- Each variation’s short description is translated by the AI provider.
- New variation posts are created for the translated product, and every meta field (price, SKU, attributes, etc.) is copied from the source variation.
No additional steps are required—the process is handled entirely during the product translation workflow.
Cài đặt & Tùy chọn
This feature has no configurable settings. It works automatically whenever you translate a WooCommerce product.
Mẹo & phương pháp hay nhất
- Review translated descriptions – Variation short descriptions are automatically translated, so check them to ensure they fit the context of the translated product.
- Prices and SKUs are copied – If you need different pricing or SKUs for translated variations, update them manually after the translation is complete.
- Custom meta is preserved – All custom variation data is copied to the translated variations, so you don’t have to re‑enter product‑specific information.
- Prepare your AI provider – For best results, confirm that your AI translation provider is configured and optimised for product descriptions before translating products with variations.
Elementor Layout & Data Preservation
Nó làm gì
When translating an Elementor‑built page, the plugin deeply copies and translates Elementor data while preserving the layout structure. Widget settings with translatable text (titles, descriptions, button text, etc.) are translated, and Elementor CSS files are regenerated for the translated post.
Cách sử dụng nó
This feature works automatically — there is no separate UI or setup required. Simply translate a post that was created with Elementor, and the plugin will handle the rest.
- Start the translation of a post that contains Elementor data (e.g., from the WordPress dashboard or using the bulk editor).
- The plugin detects the Elementor metadata and recursively processes the widget structure.
- Widget settings with translatable text are sent to the AI provider for translation.
- The translated Elementor data is saved to the translated post.
- Essential Elementor meta keys are copied, and CSS/assets are regenerated for the new translated post.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Không có | This feature has no configurable settings. It runs automatically during translation. |
Mẹo & phương pháp hay nhất
- Complete your original Elementor layout and text before translating. This ensures the entire structure is captured and translated correctly.
- After translation, preview the translated page to verify that the layout remains intact and all widget text has been updated.
- When working with multiple Elementor pages, use the bulk editor to translate them all at once — the layout preservation works seamlessly in bulk.
Onboarding Setup Wizard
Nó làm gì
The Onboarding Setup Wizard is a multi-step guide that appears automatically after you first activate the plugin. It helps you get started by detecting your Polylang languages, offering a test translation, and introducing you to Pro features. The wizard ensures you have a smooth initial setup before you start translating your content.
Cách sử dụng nó
- On first activation, you are automatically redirected to the wizard’s welcome page.
- In Step 1, review the detected Polylang languages. If everything looks correct, click “Next” to continue.
- Step 2 lets you test a translation: enter some sample text, select a target language, and see how the translation works. You can also skip this optional step.
- Step 3 shows a comparison of Pro features with the option to “View Pro Plans & Pricing”. If you already have a license, you’ll see a confirmation that Pro is active.
- Step 4 displays a review prompt. Choose “Go to Dashboard” to start using the plugin or “Visit Our Website” for additional resources.
Cài đặt & Tùy chọn
There are no settings to configure for the Onboarding Setup Wizard. It guides you through the setup without requiring any permanent adjustments.
Mẹo & phương pháp hay nhất
- Take advantage of the test translation in Step 2 to verify the engine works with your content before translating entire pages.
- The wizard is designed to be completed in a few minutes — don’t skip it, as it ensures your languages are correctly detected.
- If you’re already a Pro user, Step 3 will confirm your license is active, so you can proceed with confidence.
- After finishing, you can always revisit the bulk translation or configuration settings from the main dashboard.
License Management
Nó làm gì
The License Management feature lets you activate, deactivate, and verify your SkyLang Pro license key. You can view your license status and expiry date, and manage automatic updates and premium support eligibility.
Cách sử dụng nó
- Go to the SkyLang admin page and open the Giấy phép tab (available for Pro users only).
- If no license is active, enter your license key in the provided field.
- nhấp chuột Kích hoạt giấy phép — the plugin will contact the license server to validate the key.
- Once activated, you’ll see a masked license key, a status badge (showing “Active”), and the expiry date.
- To deactivate the license on this site, click Vô hiệu hóa giấy phép.
- To re‑validate with the server at any time, click Xác minh trạng thái giấy phép.
Cài đặt & Tùy chọn
| Cài đặt | Nó kiểm soát những gì |
|---|---|
| Khóa cấp phép | Enter your SkyLang Pro license key to activate premium features and updates. |
Mẹo & phương pháp hay nhất
- Keep your license key handy in case you need to re‑activate after a site migration or reinstallation.
- Sử dụng Xác minh trạng thái giấy phép periodically or after making network changes to ensure your key remains valid.
- Deactivate your license before removing the plugin or transferring it to another site to free up the activation slot.
- Only one site can be active per license key at a time; deactivate the old site before activating on a new one.
