# Migrating from Functions(Classic) to the new Functions Editor

> \[!WARNING]
>
> If you are using [Services](/docs/serverless/functions-assets/functions/create-service) or [Functions(Classic)](/docs/serverless/functions-assets/functions/migrating-functionsclassic-new-functions-editor) and have included your auth token directly instead of using a variable, you must wait for 1 minute for the update of your auth token to propagate. Otherwise, those functions and services will fail with a `403 Forbidden` error.

The Functions Editor is the all-new, redesigned way to experience Twilio Functions.

![Twilio Functions Editor showing a sample function with TwiML VoiceResponse and console logging.](https://docs-resources.prod.twilio.com/402ccb797944a0f0d4ed448b70b590c62d5878466ef6e3276a1abe9d476ce6cf.png)

Functions(Classic) now has its own sub-menu in the Twilio Console, within the Functions product menu.

![Twilio Functions list view showing 'Hello SMS' function under Functions Classic.](https://docs-resources.prod.twilio.com/b726e94ad8c0e55a6e204aa73f8706013aa3759aa6f227e8edda4534f6b1b464.png)

## Advantages

Advantages of the new editor include:

* The new Functions Editor is built on a separate infrastructure from that of Functions(Classic), and utilizes the latest V2 APIs.
* The ability to access logs live, or via the Logs endpoint at a later date. In Functions(Classic), logs were only available live while in the Console UI.
* Increased reliability and refined user experience.
* Easier organization and separation of your Twilio applications via the use of [Services](/docs/serverless/api/resource/service).

## How to migrate functions from Functions(Classic) to the new editor

1. Create a [Service](/docs/serverless/functions-assets/functions/create-service) in the new Functions editor to house your application.
2. Copy the code from an existing Functions(classic) Function.
3. Create a Function of the same name within the Service that you just created, using the **Add+** button in new Functions Editor.
4. Paste your code into the new Function, and click **Save** to save the Function.
5. Configure any [Dependencies](/docs/serverless/functions-assets/functions/dependencies) for the Service.
6. Configure any [Environment Variables](/docs/serverless/functions-assets/functions/variables) for the Service.
7. Click **Deploy all** to deploy your Service and all of its Functions (and Assets, if any).
8. If you have phone numbers configured to point to your old, Functions(classic) Function, configure the phone numbers to point to the new Function(s) that we just created.

> \[!NOTE]
>
> If you have multiple Twilio applications, create a Service for each application. That way, you can group the Functions that belong to a specific application together under one Service.

> \[!WARNING]
>
> Assets(Classic) and new Functions Editor are not compatible. You will need to re-upload any Assets(Classic) as [Assets](/docs/serverless/functions-assets/assets#get-started-with-assets) in order to work with them in the new editor.
