# Imports

## Introduction

Imports are external files (contracts) that can be added to a project in order to extend its functionality or start with an already defined framework and extend it.

## Configuration

Assign a specific and descriptive name to your import to clearly indicate its purpose and distinguish it from other imports. A well-chosen name helps to infer the import's functionality.

**Import Types**

The type of import determines its necessity and utility within the project. Each type serves different purposes:

* **Contract Imports**: Used to deploy other contracts from the current contract.
* **Inheritance Imports**: Used as a base contract to be extended by the current contract.
* **Library Imports**: Add functionality to the current contract by providing additional functions and/or data entities in the form of a library.

This classification helps you organize and utilize imports effectively, ensuring each import serves its intended purpose within your project.

<figure><img src="https://2858323203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FftQi2WH09aEf2MrrxVMT%2Fuploads%2FbtHSFzhxO0X7XVELHbN4%2FIM1.PNG?alt=media&#x26;token=c353d5bc-0c7a-4f35-bc22-69f48c723322" alt=""><figcaption></figcaption></figure>

## Types

* [**Contract**](https://docs.astrakode.tech/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/contracts)**:** Contract Imports are imports used to deploy other contracts from the current contract. Once a contract is imported this way, it will be possible to deploy it via the Contract Instantiation Element in any of this contract's Functions flows.
* **Inheritance:** Inheritance Imports are used to import contracts that can be extended through inheritance. When a contract is extended this way, the extending contract inherits the structure and functions of the imported contract. For abstract contracts, the extending contract can or should implement the unimplemented functions. ![](https://2858323203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FftQi2WH09aEf2MrrxVMT%2Fuploads%2FQ4Ry6FYT1GsHbi4YwdX0%2Fimmagine.png?alt=media\&token=5acc703a-d37e-464f-9d9a-2fdeba587c3c)
* **Library:** Library Imports are imports that add functionality to the current contract by providing additional functions and/or data entities in the form of a library. Such additional functions and data entities can then be freely utilized by the importer contract.
