In the previous videos in this series, we covered how to invite and manage vendors in the KIBO Admin, and how a vendor completes the four-step onboarding process in the Vendor Portal — from submitting business information and uploading verification documents, to configuring their integration setup and receiving operator approval. At the end of that journey, the vendor’s account is fully approved and active, and they’re ready to begin fulfilling orders.However, before dropship orders can route correctly to a vendor, another critical piece of configuration still needs to be in place: the vendor must set up at least one fulfillment location in the Vendor Portal, and that location must be assigned to the correct Location Group on the operator side — the one tied to the Dropship fulfillment workflow. In this video, we’ll walk through everything involved in that setup, from both the vendor’s and the operator’s perspective.We’re picking up right where the previous video left off — in the Vendor Portal, logged in as Jordan Romero, a Vendor Admin for Mystic Sports. The onboarding stepper shows “Setup Complete!” with all four steps completed and the account in “Approved” status. In the previous videos in this series, we covered how to invite and manage vendors in the KIBO Admin, and how a vendor completes the four-step onboarding process in the Vendor Portal — from submitting business information and uploading verification documents, to configuring their integration setup and receiving operator approval. At the end of that journey, the vendor’s account is fully approved and active, and they’re ready to begin fulfilling orders. However, before dropship orders can route correctly to a vendor, another critical piece of configuration still needs to be in place: the vendor must set up at least one fulfillment location in the Vendor Portal, and that location must be assigned to the correct Location Group on the operator side — the one tied to the Dropship fulfillment workflow. In this video, we’ll walk through everything involved in that setup, from both the vendor’s and the operator’s perspective. We’re picking up right where the previous video left off — in the Vendor Portal, logged in as Jordan Romero, a Vendor Admin for Mystic Sports. The onboarding stepper shows “Setup Complete!” with all four steps completed and the account in “Approved” status. Now we’ll navigate to the “Locations” dashboard page by clicking “Locations” in the left-hand menu. Now we’ll navigate to the “Locations” dashboard page by clicking “Locations” in the left-hand menu. This is the Vendor Portal “Locations” dashboard screen. It shows three summary tiles at the top: “All Locations”, “Active”, and “Inactive”, all currently showing zero.Before a vendor can receive routed orders, they need at least one active location configured here. This is the Vendor Portal “Locations” dashboard screen. It shows three summary tiles at the top: “All Locations”, “Active”, and “Inactive”, all currently showing zero. Before a vendor can receive routed orders, they need at least one active location configured here. However, before vendors can add locations in the Vendor Portal, a few things need to be configured on the operator side. The operator must have a dedicated “Dropship Location Group” configured with the correct fulfillment workflow to correctly route orders through the Dropship process. The operator also controls which “Location Types” and “Location Attributes” are available for vendors to use when setting up their locations.Switching over to the KIBO Admin UI, we’ll walk through where each of these are located and can be managed. We’ll start with setting up the Dropship Location Group. However, before vendors can add locations in the Vendor Portal, a few things need to be configured on the operator side. The operator must have a dedicated “Dropship Location Group” configured with the correct fulfillment workflow to correctly route orders through the Dropship process. The operator also controls which “Location Types” and “Location Attributes” are available for vendors to use when setting up their locations. Switching over to the KIBO Admin UI, we’ll walk through where each of these are located and can be managed. We’ll start with setting up the Dropship Location Group. In the left-hand menu, on the “MAIN” tab, we’ll click “Orders”, then click “Location Groups”. In the left-hand menu, on the “MAIN” tab, we’ll click “Orders”, then click “Location Groups”. This is the “Location Groups” screen, which lists all existing location groups in the system. We discussed Location Groups in detail in a previous video. Location Groups are how KIBO determines which fulfillment workflow applies to a set of locations.The “Dropship” group listed here is the one we’ll be working with — it’s the dedicated group that all dropship vendor locations must be assigned to.If a Location Group for Dropship already exists in the tenant, click on it to open it, and then skip to the “Config Settings” step.If a Dropship Location Group doesn’t already exist in your tenant, you’ll need to create one, which we’ll quickly demonstrate now. This is the “Location Groups” screen, which lists all existing location groups in the system. We discussed Location Groups in detail in a previous video. Location Groups are how KIBO determines which fulfillment workflow applies to a set of locations. The “Dropship” group listed here is the one we’ll be working with — it’s the dedicated group that all dropship vendor locations must be assigned to. If a Location Group for Dropship already exists in the tenant, click on it to open it, and then skip to the “Config Settings” step. If a Dropship Location Group doesn’t already exist in your tenant, you’ll need to create one, which we’ll quickly demonstrate now. To create a new Location Group, we’ll click “Create New Location Group” in the upper right. To create a new Location Group, we’ll click “Create New Location Group” in the upper right. When creating a new Location Group, we’ll want to give it a “Name” and a “Location Group Code”, select the “Site” we want to apply this Location Group to, and then add any “Locations” to the group using the “Add Location(s)” section. The left panel allows browsing by physical location geography, and the “Selected Locations” panel on the right shows which locations are currently assigned. Once all settings are in place, click “Save” on the top right. When creating a new Location Group, we’ll want to give it a “Name” and a “Location Group Code”, select the “Site” we want to apply this Location Group to, and then add any “Locations” to the group using the “Add Location(s)” section. The left panel allows browsing by physical location geography, and the “Selected Locations” panel on the right shows which locations are currently assigned. Once all settings are in place, click “Save” on the top right. With the Location Group now created or selected, we’ll click the “Config Settings” tab at the top of the Location Group detail view. This is where the all-important “BPM configuration” setting is, and it’s what will connect this Location Group to the correct fulfillment workflow. With the Location Group now created or selected, we’ll click the “Config Settings” tab at the top of the Location Group detail view. This is where the all-important “BPM configuration” setting is, and it’s what will connect this Location Group to the correct fulfillment workflow. This is the “Config Settings” view for the Dropship Location Group. On this screen, we’ll set the “Ship to Home” BPM to the “Dropship Default” workflow, and then click “Save”.Important Note: without this workflow assignment, vendor locations in this group will not process orders correctly, even if everything else is configured properly. This is the “Config Settings” view for the Dropship Location Group. On this screen, we’ll set the “Ship to Home” BPM to the “Dropship Default” workflow, and then click “Save”. Important Note: without this workflow assignment, vendor locations in this group will not process orders correctly, even if everything else is configured properly. Next, we’ll look at Location Types. In the left menu, on the “SYSTEM” tab, we’ll click “Schema”, then click “Location Types”. Next, we’ll look at Location Types. In the left menu, on the “SYSTEM” tab, we’ll click “Schema”, then click “Location Types”. This is the “Location Types” screen. We discussed Location Types in detail in a previous video. Location Types define the categories of locations that exist in the platform, and they’re what vendors will see in the “Location Types” dropdown when creating a location in their portal.There are two “Types” already configured, and they’ll appear as available options in the vendor-side location creation form. If additional location types are needed, they can be created at any time by clicking the “Create New Location Type” button in the upper right. This is the “Location Types” screen. We discussed Location Types in detail in a previous video. Location Types define the categories of locations that exist in the platform, and they’re what vendors will see in the “Location Types” dropdown when creating a location in their portal. There are two “Types” already configured, and they’ll appear as available options in the vendor-side location creation form. If additional location types are needed, they can be created at any time by clicking the “Create New Location Type” button in the upper right. Now, we’ll look at Location Attributes. Still on the “SYSTEM” tab, we’ll click “Schema”, then click “Location Attributes”. Now, we’ll look at Location Attributes. Still on the “SYSTEM” tab, we’ll click “Schema”, then click “Location Attributes”. This is the “Location Attributes” screen, showing all configured attributes for this tenant. Location Attributes allow operators to configure custom metadata that can be applied to locations; and crucially, attributes can be made available to the order routing engine as filters, which gives operators fine-grained control over how orders are distributed across their vendor network.Three attributes are listed here. If additional attributes are needed, they can be created at any time by clicking the “Create New Location Attribute” button in the upper right. These attributes can be assigned values at the location level by the vendor, and they can be used in Order Routing scenarios to include or exclude locations based on their attribute values. This is the “Location Attributes” screen, showing all configured attributes for this tenant. Location Attributes allow operators to configure custom metadata that can be applied to locations; and crucially, attributes can be made available to the order routing engine as filters, which gives operators fine-grained control over how orders are distributed across their vendor network. Three attributes are listed here. If additional attributes are needed, they can be created at any time by clicking the “Create New Location Attribute” button in the upper right. These attributes can be assigned values at the location level by the vendor, and they can be used in Order Routing scenarios to include or exclude locations based on their attribute values. For any Location Attribute that we want to make available to Vendors to use when setting up their Locations, we’ll need to enable the “Available as Order Routing Filter” toggle on each attribute. If this isn’t enabled, Vendors won’t have access to it. Once enabled, click “Save” on the top right. For any Location Attribute that we want to make available to Vendors to use when setting up their Locations, we’ll need to enable the “Available as Order Routing Filter” toggle on each attribute. If this isn’t enabled, Vendors won’t have access to it. Once enabled, click “Save” on the top right. With the operator-side context in place, we’re ready to walk through the vendor’s location creation process. With the operator-side context in place, we’re ready to walk through the vendor’s location creation process. We’ll click either “Add Location” button shown here; both the one in the upper right and the one in the center of the screen point to the same action. This will open the “Add New Location” form. We’ll click either “Add Location” button shown here; both the one in the upper right and the one in the center of the screen point to the same action. This will open the “Add New Location” form. This is the “Add New Location” form, currently showing the “Location” tab. All “Required” fields are noted with a red “asterisk”. We’ll work through each section and tab listed. This is the “Add New Location” form, currently showing the “Location” tab. All “Required” fields are noted with a red “asterisk”. We’ll work through each section and tab listed. We’ll start with the “Location Types” dropdown in the “Basic Information” section. Clicking it reveals the available options, which are the Location Types previously configured by the operator. We’ll select “Dropship Warehouse” since this is a dropship fulfillment location.Important Note: the location types available here are controlled entirely by the operator. Vendors can only select from what has been configured on the operator side. We’ll start with the “Location Types” dropdown in the “Basic Information” section. Clicking it reveals the available options, which are the Location Types previously configured by the operator. We’ll select “Dropship Warehouse” since this is a dropship fulfillment location. Important Note: the location types available here are controlled entirely by the operator. Vendors can only select from what has been configured on the operator side. Next, we’ll set the “Status” for this location. The dropdown shows two options: “Active” and “Inactive.” We’ll select “Active” so that this location is immediately eligible to receive routed orders once it’s added to the Dropship Location Group. A location set to “Inactive” will exist in the system but will be excluded from order routing. Next, we’ll set the “Status” for this location. The dropdown shows two options: “Active” and “Inactive.” We’ll select “Active” so that this location is immediately eligible to receive routed orders once it’s added to the Dropship Location Group. A location set to “Inactive” will exist in the system but will be excluded from order routing. Now we’ll fill in the “Name” and “Code” fields for this location. The “Description” field is optional and can be left blank.Important Note: the “Code” must be unique across the entire KIBO tenant — not just within this vendor’s account. If a code is already in use by another location in the system, the save will fail with a duplicate error. Now we’ll fill in the “Name” and “Code” fields for this location. The “Description” field is optional and can be left blank. Important Note: the “Code” must be unique across the entire KIBO tenant — not just within this vendor’s account. If a code is already in use by another location in the system, the save will fail with a duplicate error. Scrolling down, we’ll fill in the “Location Details” section with the physical address for this location.Important Note: The “Latitude” and “Longitude” values are used by KIBO’s order routing engine for proximity-based routing calculations. Accurate coordinates help ensure the location is evaluated correctly relative to customer shipping addresses. Scrolling down, we’ll fill in the “Location Details” section with the physical address for this location. Important Note: The “Latitude” and “Longitude” values are used by KIBO’s order routing engine for proximity-based routing calculations. Accurate coordinates help ensure the location is evaluated correctly relative to customer shipping addresses. On the right side of the form, we’ll fill in the “Contact Information” section. This contact information is surfaced on order documents and helps the operator identify the correct vendor location when reviewing shipments. On the right side of the form, we’ll fill in the “Contact Information” section. This contact information is surfaced on order documents and helps the operator identify the correct vendor location when reviewing shipments. Also on the right side, below the Contact Information, is the “Fulfillment Settings” section. This contains two configuration blocks: “Processing Times” and “Capacity Limits”.“Processing Time” feeds into KIBO’s estimated delivery date, or “EDD”, calculation. It represents how long the vendor needs to prepare an order before it ships.“Capacity Limits” act as a guardrail: once a location has reached its daily order cap, KIBO’s routing engine will stop sending new orders to that location for the remainder of the day. Also on the right side, below the Contact Information, is the “Fulfillment Settings” section. This contains two configuration blocks: “Processing Times” and “Capacity Limits”. “Processing Time” feeds into KIBO’s estimated delivery date, or “EDD”, calculation. It represents how long the vendor needs to prepare an order before it ships. “Capacity Limits” act as a guardrail: once a location has reached its daily order cap, KIBO’s routing engine will stop sending new orders to that location for the remainder of the day. With the “Location” tab now completed, we’ll move to the “Hours” tab to configure the location’s operating hours. With the “Location” tab now completed, we’ll move to the “Hours” tab to configure the location’s operating hours. This tab controls when the location is considered available by the routing engine. If an order arrives outside a location’s operating hours, that location won’t be selected for fulfillment. This tab controls when the location is considered available by the routing engine. If an order arrives outside a location’s operating hours, that location won’t be selected for fulfillment. We want to set the “Time Zone” to match the physical location of the warehouse. Setting the correct time zone is important because KIBO evaluates operating hours and cut-off times relative to the location’s local time, not the server’s time or the customer’s time zone. We want to set the “Time Zone” to match the physical location of the warehouse. Setting the correct time zone is important because KIBO evaluates operating hours and cut-off times relative to the location’s local time, not the server’s time or the customer’s time zone. If we need to set hours for individual days, we can do so directly in each day’s row by using the time dropdowns. In this example, we’re adjusting the time picker for Monday, selecting the start time from the dropdown list. This approach works well for locations with irregular schedules that differ day by day. If we need to set hours for individual days, we can do so directly in each day’s row by using the time dropdowns. In this example, we’re adjusting the time picker for Monday, selecting the start time from the dropdown list. This approach works well for locations with irregular schedules that differ day by day. For locations with consistent weekday hours, the “Quick Setup” row is a faster option. This is the most efficient way to configure a standard schedule. For locations with consistent weekday hours, the “Quick Setup” row is a faster option. This is the most efficient way to configure a standard schedule. In the “Quick Setup” row, we’ll use the first dropdown to select which days to apply the hours to. The options are “All days”, “Weekdays”, and “Weekends”. In this example, we’ll select “Weekdays” to set consistent operating hours for Monday through Friday. In the “Quick Setup” row, we’ll use the first dropdown to select which days to apply the hours to. The options are “All days”, “Weekdays”, and “Weekends”. In this example, we’ll select “Weekdays” to set consistent operating hours for Monday through Friday. Next, we’ll set the “Hours” option, either “Custom Hours”, “Open 24 Hours”, or “Closed”. Here, we’ll select “Custom Hours” to set a specific and consistent Hours of Operation schedule for the Weekdays. Next, we’ll set the “Hours” option, either “Custom Hours”, “Open 24 Hours”, or “Closed”. Here, we’ll select “Custom Hours” to set a specific and consistent Hours of Operation schedule for the Weekdays. Now we’ll set the “Start” time using the dropdown. In this example, we’ll select 8 AM as the opening time for all weekdays. Now we’ll set the “Start” time using the dropdown. In this example, we’ll select 8 AM as the opening time for all weekdays. We’ll then set the “End” time. In tis example, we’ll select 6 PM as the closing time. Together, the Start and End times define the daily window during which this location is eligible to receive routed orders. We’ll then set the “End” time. In tis example, we’ll select 6 PM as the closing time. Together, the Start and End times define the daily window during which this location is eligible to receive routed orders. With the day group set to “Weekdays”, hours type set to “Custom hours”, Start time set, and End time set, we’ll click “Apply” to push these settings to all five weekday rows at once. The individual day rows for Monday through Friday will update to reflect the applied times. With the day group set to “Weekdays”, hours type set to “Custom hours”, Start time set, and End time set, we’ll click “Apply” to push these settings to all five weekday rows at once. The individual day rows for Monday through Friday will update to reflect the applied times. After clicking “Apply”, we can see the result: Monday through Friday are all set to the same operating window. The “Quick Setup” row makes it easy to apply consistent schedules without editing each day individually. After clicking “Apply”, we can see the result: Monday through Friday are all set to the same operating window. The “Quick Setup” row makes it easy to apply consistent schedules without editing each day individually. Now we’ll click the “Cut Off Times” tab. It has a nearly identical layout as the “Hours” tab we just completed. Now we’ll click the “Cut Off Times” tab. It has a nearly identical layout as the “Hours” tab we just completed. Cut-off Times define the deadline by which an order must arrive at a location in order to be fulfilled that day. Orders that arrive after the cut-off will be held for the next available fulfillment window. This is distinct from operating hours — a location can be “open” but still not accept new orders past its cut-off time. Cut-off Times define the deadline by which an order must arrive at a location in order to be fulfilled that day. Orders that arrive after the cut-off will be held for the next available fulfillment window. This is distinct from operating hours — a location can be “open” but still not accept new orders past its cut-off time. Just as with operating hours, we’ll set the “Time Zone” for cut-off times to ensure the deadlines are evaluated in the location’s local time. The same time zone should be used here as was set on the “Hours” tab, to keep routing calculations consistent. Just as with operating hours, we’ll set the “Time Zone” for cut-off times to ensure the deadlines are evaluated in the location’s local time. The same time zone should be used here as was set on the “Hours” tab, to keep routing calculations consistent. We can also configure the Cut-off Schedule in the same way that we did for the operating hours, either manually by day or by using the Quick Setup bar. We can also configure the Cut-off Schedule in the same way that we did for the operating hours, either manually by day or by using the Quick Setup bar. At the bottom of the “Cut Off Times” tab, two buttons are available: “Set Override Hours” and “View & Remove Override Hours”.Override hours allow the vendor to set one-off exceptions for specific dates — for example, a holiday closure or a reduced operating day during a peak period. These overrides replace the standard cut-off for that specific date only, and they can be viewed and removed at any time using the second button. At the bottom of the “Cut Off Times” tab, two buttons are available: “Set Override Hours” and “View & Remove Override Hours”. Override hours allow the vendor to set one-off exceptions for specific dates — for example, a holiday closure or a reduced operating day during a peak period. These overrides replace the standard cut-off for that specific date only, and they can be viewed and removed at any time using the second button. Lastly, we’ll click the “Attributes” tab. Lastly, we’ll click the “Attributes” tab. This tab allows the vendor to configure the custom location attributes that were set up by the operator — the same ones we reviewed earlier in the KIBO Admin UI. This tab allows the vendor to configure the custom location attributes that were set up by the operator — the same ones we reviewed earlier in the KIBO Admin UI. Here we’ll set or enable the applicable “Location Attributes” for this location. The values chosen here will be available to the operator’s routing scenarios as filter criteria. For example, a routing scenario could be configured to only send express orders to locations where “Express Orders Available” is enabled. Here we’ll set or enable the applicable “Location Attributes” for this location. The values chosen here will be available to the operator’s routing scenarios as filter criteria. For example, a routing scenario could be configured to only send express orders to locations where “Express Orders Available” is enabled. With all four tabs configured — Location, Hours, Cut Off Times, and Attributes — we’ll click “Save” in the upper right to create the location. This saves all the location data to the Vendor Portal and simultaneously creates a corresponding location record in the KIBO Admin UI on the operator side. With all four tabs configured — Location, Hours, Cut Off Times, and Attributes — we’ll click “Save” in the upper right to create the location. This saves all the location data to the Vendor Portal and simultaneously creates a corresponding location record in the KIBO Admin UI on the operator side. After saving, we’re taken to the location detail view, which shows the completed record for the “Mystic Sports Warehouse”, with a status of “Active.” The page now shows an “Edit Location” button in the upper right instead of a “Save” button.We’ll click “Back to Locations” to return to the locations list. After saving, we’re taken to the location detail view, which shows the completed record for the “Mystic Sports Warehouse”, with a status of “Active.” The page now shows an “Edit Location” button in the upper right instead of a “Save” button. We’ll click “Back to Locations” to return to the locations list. Back on the Vendor Portal “Locations” screen, we can now see that the counts have updated. “All Locations” shows 1, “Active” shows 1, and “Inactive” shows 0. The location has been successfully created in the Vendor Portal. Back on the Vendor Portal “Locations” screen, we can now see that the counts have updated. “All Locations” shows 1, “Active” shows 1, and “Inactive” shows 0. The location has been successfully created in the Vendor Portal. Now we’ll switch back to the KIBO Operator view. When a vendor creates a location in the Vendor Portal, it is automatically mirrored to the operator side; it will appear in the “Locations” list in the KIBO Admin UI without any additional action needed from the operator.However, there is one manual step the operator must complete: the new vendor location needs to be added to the “Dropship” Location Group we configured earlier. Without this step, the location won’t be tied to the Dropship BPM, and orders won’t route to it correctly. Now we’ll switch back to the KIBO Operator view. When a vendor creates a location in the Vendor Portal, it is automatically mirrored to the operator side; it will appear in the “Locations” list in the KIBO Admin UI without any additional action needed from the operator. However, there is one manual step the operator must complete: the new vendor location needs to be added to the “Dropship” Location Group we configured earlier. Without this step, the location won’t be tied to the Dropship BPM, and orders won’t route to it correctly. In the left menu, on the “MAIN” tab, we’ll click “Orders”, then click “Locations”. In the left menu, on the “MAIN” tab, we’ll click “Orders”, then click “Locations”. This is the “Locations” screen in the KIBO Admin UI. It lists all locations in the system across all vendors and operator-owned nodes. This list is the operator’s single view of all fulfillment locations available on the platform. This is the “Locations” screen in the KIBO Admin UI. It lists all locations in the system across all vendors and operator-owned nodes. nodes. This list is the operator’s single view of all fulfillment locations available on the platform. Scrolling through the list, we can see that “Mystic Sports Warehouse” now appears here with a status of “Active.” This confirms that when the vendor saved their location in the Vendor Portal, it was automatically created on the operator side as well; no manual import or duplicate entry is needed. Scrolling through the list, we can see that “Mystic Sports Warehouse” now appears here with a status of “Active.” This confirms that when the vendor saved their location in the Vendor Portal, it was automatically created on the operator side as well; no manual import or duplicate entry is needed. Now we need to add the vendor’s new location to the “Dropship” Location Group. In the left menu, on the “MAIN” tab, we’ll click “Orders”, then click “Location Groups”. Now we need to add the vendor’s new location to the “Dropship” Location Group. In the left menu, on the “MAIN” tab, we’ll click “Orders”, then click “Location Groups”. On the “Location Groups” screen, we’ll click “Dropship” to open the Dropship Location Group. On the “Location Groups” screen, we’ll click “Dropship” to open the Dropship Location Group. group. Inside the Dropship Location Group, we can see the “Add Locations” tab is active, showing the location picker. On the left is a “Physical Location” tree for browsing by geography, in the middle is a searchable list of available locations, and on the right is the “Selected Locations” panel showing the locations currently in this group. We can see the “Mystic Sports Warehouse” appearing in the center “Locations” list; we’ll check it to add it to the group. The “Selected Locations” panel on the right will update to show it has been added. Inside the Dropship Location Group, we can see the “Add Locations” tab is active, showing the location picker. On the left is a “Physical Location” tree for browsing by geography, in the middle is a searchable list of available locations, and on the right is the “Selected Locations” panel showing the locations currently in this group. We can see the “Mystic Sports Warehouse” appearing in the center “Locations” list; we’ll check it to add it to the group. The “Selected Locations” panel on the right will update to show it has been added. With the “Mystic Sports Warehouse” now checked and appearing in the “Selected Locations” panel on the right alongside the other vendor locations, we’ll click “Save” in the upper right to finalize the assignment. The vendor location is now fully configured end-to-end: it was created in the Vendor Portal with operating hours, cut-off times, fulfillment settings, and custom attributes, and it has now been manually assigned to the Dropship Location Group with the correct BPM. From this point forward, the order routing engine will consider Mystic Sports Warehouse as an eligible fulfillment node for dropship orders. With the “Mystic Sports Warehouse” now checked and appearing in the “Selected Locations” panel on the right alongside the other vendor locations, we’ll click “Save” in the upper right to finalize the assignment. The vendor location is now fully configured end-to-end: it was created in the Vendor Portal with operating hours, cut-off times, fulfillment settings, and custom attributes, and it has now been manually assigned to the Dropship Location Group with the correct BPM. From this point forward, the order routing engine will consider Mystic Sports Warehouse as an eligible fulfillment node for dropship orders.
Want to learn more?
Vendor Locations
Learn more about this topic

