diff --git a/knowledge-base/common-extend-inherit-wrap-reuse-telerik-blazor-components.md b/knowledge-base/common-extend-inherit-wrap-reuse-telerik-blazor-components.md
new file mode 100644
index 0000000000..143af62e1b
--- /dev/null
+++ b/knowledge-base/common-extend-inherit-wrap-reuse-telerik-blazor-components.md
@@ -0,0 +1,269 @@
+---
+title: Extend or Inherit Telerik Blazor Components
+description: Learn how to extend, inherit, wrap, and reuse Telerik UI for Blazor components, so that the app uses a Telerik component instance with similar settings or behavior at multiple places.
+type: how-to
+page_title: How to Extend, Inherit, or Wrap Telerik Components for Blazor
+slug: common-kb-component-inheritance
+tags: telerik, blazor, inheritance
+ticketid: 1628856, 1615737, 1604776, 1607228, 1618168
+res_type: kb
+---
+
+## Environment
+
+
+
+
+
Product
+
UI for Blazor
+
+
+
+
+## Description
+
+This KB answers the following questions:
+
+* How to extend and customize Telerik components?
+* How to inherit Telerik components and change their properties or methods?
+* How to wrap and reuse Telerik components for Blazor?
+
+## Solution
+
+There are two ways to extend, inherit, reuse or wrap Telerik components for Blazor. Both of them are demonstrated in the [example below](#example).
+
+* [Composition—wrap the Telerik component in another Razor component](#wrap-telerik-components)
+* [Inheritance—inherit the Telerik component in a C# class](#inherit-telerik-components)
+
+The sections below discuss the differences between the two alternatives. On the other hand, both options allow you to:
+
+* Reuse a Telerik component with similar or identical configuration at multiple places in your app.
+* Add new parameters.
+* Set default values to parameters, so that there is no need to do that everywhere in the app.
+
+On the other hand, neither option allows changing the internal HTML rendering of the Telerik component.
+
+> Using both options at the same time is not possible and will lead to runtime exceptions, because such a setup will nest a Telerik component in itself. The following JavaScript error will likely occur: `Cannot read properties of null (reading addEventListener)`.
+
+### Wrap Telerik Components
+
+This approach allows you to add additional markup or another components next to the Telerik component.
+
+1. Add the Telerik component to a separate `.razor` file, for example, `MyReusableComponent.razor`.
+1. Implement the desired `MyReusableComponent` parameters and set the required parameters of the Telerik component.
+1. Add any other optional content next to the Telerik component.
+
+### Inherit Telerik Components
+
+This approach allows you to modify the built-in API and life cycle events of the Telerik component.
+
+1. Create a class that inhefits from a Telerik component class, for example, `MyInheritedComponent.cs`.
+1. Implement API member overrides or change default API member values.
+
+## Example
+
+The following example includes three files:
+
+* `Home.razor` is the component (page) that consumes the inherited and wrapped Telerik components.
+* `ReusableComboBox.razor` shows a wrapped Telerik ComboBox.
+* `InheritedComboBox.cs` shows an inheriteed Telerik ComboBox.
+
+Adjust the `YourAppName.BaseComponents` namespace in `Home.razor` and `InheritedComboBox.cs` to run the code successfully in your app.
+
+
+
+````Home.razor
+@page "/"
+
+@using YourAppName.BaseComponents
+
+
Telerik ComboBox
+
+
+
+
Inherited ComboBox with additional API and default property values
+
+
+
+@InheritedComboBoxCustomProperty
+
+
Reusable ComboBox with additional rendering, API and default parameter values