> Markdown version of [Step 3 - Converting legacy UIs](https://vaadin.com/docs/v14/tools/mpr/introduction/step-3-legacy-uis). Section index: [llms.txt](https://vaadin.com/docs/v14/tools/llms.txt)

# Step 3 - Converting legacy UIs

The UI object, which represents the `<body>` element in the page, is controlled by Flow when running the MPR, so anything extending `UI` should be converted. Actually, `UI` class should not be used for layouting or navigation handling anymore. At the end of step 3, you should not have any `UI` class unless you have a real use case for it.

There are several conversion paths, depending on what’s used in the project:

- My application uses [Spring Boot →](https://vaadin.com/docs/v14/tools/mpr/introduction/step-3-spring-boot.md)

- My application uses [CDI →](https://vaadin.com/docs/v14/tools/mpr/introduction/step-3-cdi.md)

- My application uses [Navigator →](https://vaadin.com/docs/v14/tools/mpr/introduction/step-3-navigator.md)

- My application doesn’t use any of those. Continue to [Converting a UI →](https://vaadin.com/docs/v14/tools/mpr/introduction/step-3-no-framework.md)

Or:

- [← Go back to step 2](https://vaadin.com/docs/v14/tools/mpr/introduction/step-2-legacy-servlets.md)

- [← Go back to the overview](https://vaadin.com/docs/v14/tools/mpr/overview.md)

`D002B8A7-9BD1-4E61-AC67-496687651406`
