# Strapi factories import have been updated

> Source: https://docs.strapi.io/cms/migration/v4-to-v5/breaking-changes/strapi-imports

In Strapi 5, the import syntax for the application init function and factories has been updated; use `createStrapi` from `@strapi/strapi` instead of the v4 patterns, and some legacy import patterns are no longer supported.

In Strapi 5, strapi factories import have been updated.

This page is part of the [breaking changes database](/cms/migration/v4-to-v5/breaking-changes) and provides information about the breaking change and additional instructions to migrate from Strapi v4 to Strapi 5.

- Is this breaking change affecting plugins? Yes
- Is this breaking change automatically handled by a codemod? Partly
  - Codemod: [strapi-public-interface](https://github.com/strapi/strapi/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/strapi-public-interface.code.ts)

## Breaking change description

**In Strapi v4**

Imports are done as follows:

* using the application init function:

  ```js
  import strapi from '@strapi/strapi'; 
  // or
  const strapi = require('@strapi/strapi');

  strapi();
  ```

* using the factories:
  
  ```js
  import strapiDefault from '@strapi/strapi';
  // or
  import { factories } from '@strapi/strapi';
  // or
  const { factories } = require('@strapi/strapi');
  // or
  const { createCoreService } = require('@strapi/strapi').factories;
  // or
  const strapi = require('@strapi/strapi');

  strapiDefault.factories.createCoreService(); // this is not possible anymore in v5
  strapi.factories.createCoreService();
  factories.createCoreService();
  createCoreService();
  ```

**In Strapi 5**

Imports are done as follows:

* using the application init function

  ```js
  import { createStrapi } from '@strapi/strapi'; 
  const { createStrapi } = require('@strapi/strapi');
  const strapi = require('@strapi/strapi');

  strapi.createStrapi();
  ```

* using the factories:
  
  ```js
  // Using the factories
  import { factories } from '@strapi/strapi';
  // or
  const { factories } = require('@strapi/strapi');
  // or
  const { createCoreService } = require('@strapi/strapi').factories;
  // or
  const strapi = require('@strapi/strapi');

  strapi.factories.createCoreService();
  factories.createCoreService();
  createCoreService();

  // The recommended way is
  const { factories } = require('@strapi/strapi');
  import { factories } from '@strapi/strapi';

  factories.createCoreService();
  ```

## Migration

- The [upgrade tool](/cms/upgrade-tool) converts the application instantiation with a codemod.
- The factories pattern that were removed will not be converted automatically.
