**BotSharp** adopts a `plug-in` architecture design, and the modules are independent of each other. With `Conversation` as the core, each plug-in completes various functionalities (such as adding LLM provider and Text Embedding provider) through the Hook mechanism. Regarding the Hooks provided by the system, you can refer to the special [Hook section](hooks.md).
Here we will introduce how to add a new plug-in to extend your LLM application. We still use the example of PizzaBot to illustrate how to complete this task.
1. Add Class Library
Added a new class library called BotSharp.Plugin.PizzaBot and add referece to the web start application
2. Implement Interface
Add a new class named `PizzaBotPlugin` and implement interface `IBotSharpPlugin`.
```csharp
namespace BotSharp.Plugin.PizzaBot;
public class PizzaBotPlugin : IBotSharpPlugin
{
public void RegisterDI(IServiceCollection services, IConfiguration config)