> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Extend the module

> How to extend Atoti Sign-Off by overriding or adding Spring beans, with an overview of the extension approach and instructions for importing custom beans.

## Overview

In general, services in Atoti Sign-Off can be extended by:

1. Defining a [Spring Bean](https://docs.spring.io/spring-framework/reference/core/beans/definition.) that implements the interface represented by the service.
2. If the default implementation is not defined with a `@ConditionalOnMissingBean` annotation, you will need to mark the bean as [`@Primary`](https://www.baeldung.com/spring-primary).
   Please raise a Jira ticket in these instances in order for us to mark the bean conditional.
3. Importing the bean into your project.

## Import Spring beans into the project

Customizations that override an existing default implementation usually require importing your custom Spring Bean. The `SignOffAppConfig`
class is the main entry-point in Atoti Sign-Off for imports, so if you need to import your `MyCustomBean` class, you should do so here. For example:

```java theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
@Configuration
@Import({
        // Default imports start ...
        // ...
        // ... default imports end

        // Custom imports
        MyCustomBean.class
})
public class SignOffAppConfig {
    // other code...
}
```
