# Initialization

To initialize MBMessages you need to add `MBMessages` to the array of plugins of `MBurger`.

```
val plugins = ArrayList<MBPlugin>()
val plugin = MBAudience()
plugins.add(plugin)

MBurger.initialize(applicationContext, "MBURGER_KEY", false, plugins)
```

Then you need to say MBurger to initialize the plugins with the in initPlugins method from MBurger class. If you wish you can add a listener to know when the plugin have been initialized.

```
val listener: MBAudiencePluginInitialized
plugin.initListener = listener

override fun onMBAudienceInitialized() {
   //Plugin has been initialized correctly, can be started
}
```

Once you've done this ask MBurger to start plugins in your main activity (be aware that it has to be an `AppCompatActivity`), then, in app messages will be fetched automatically and showed, if they need to be showed.

```
MBurger.startPlugins(activity)
```
