# Work with Rell modules · Tic Tac Toe on Chromia with Rell and Unity · Learn Chromia

> Splitting a dapp into modules keeps the codebase organized and easier to maintain as it grows.

Source: https://chromia.com/learn/tic-tac-toe/module-one/project-structure/modules/

Tic Tac Toe on Chromia with Rell and UnityLesson 13 of 20

1. [01Tic Tac Toe on Chromia with Rell and Unity](https://chromia.com/learn/tic-tac-toe/introduction/)
2. [02Set up your project](https://chromia.com/learn/tic-tac-toe/setup/)

Module 1: A Rell backend with FT4 accounts

1. [03Overview](https://chromia.com/learn/tic-tac-toe/module-one/)
2. [04Part 1: Database design, operations and queries](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/)
3. [05Design the data model](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/tables/)
4. [06Perform basic operations](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/basic-operations/)
5. [07Write basic queries](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/write-queries/)
6. [08Part 2: Set up accounts](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/)
7. [09Configure FT4 accounts](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/install-configure-ft4/)
8. [10Authentication with FT4 accounts](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/authentication/)
9. [11Update tests](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/update-tests/)
10. [12Part 3: How the dapp project is organized](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/)
11. [13Work with Rell modules](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/modules/)
12. [14Add modules to your dapp](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/incorporate-modules/)

Module 2: The Unity project

1. [15Overview](https://chromia.com/learn/tic-tac-toe/module-two/)
2. [16Set up the project](https://chromia.com/learn/tic-tac-toe/module-two/setup/)
3. [17Project scaffold](https://chromia.com/learn/tic-tac-toe/module-two/scaffold/)
4. [18Link the client to the blockchain](https://chromia.com/learn/tic-tac-toe/module-two/connecting-the-client/)
5. [19Summary and manual testing](https://chromia.com/learn/tic-tac-toe/module-two/summary-and-tests/)

1. [20What next?](https://chromia.com/learn/tic-tac-toe/what-next/)

[Learn](https://chromia.com/learn/)[Tic Tac Toe on Chromia with Rell and Unity](https://chromia.com/learn/tic-tac-toe/)

13 / 20Module 1: A Rell backend with FT4 accounts

# Work with Rell modules

Splitting a dapp into modules keeps the codebase organized and easier to maintain as it grows.

To turn a file into a module, put the `module;` keyword at its top. The module takes its name from the file name. The exception is a file called `module.rell`: it makes the whole folder a module, named after that folder. Sub-modules come from nesting folders inside a module, or from adding another file in the same folder that declares `module;`.

Consider the following:

src/main.rell

```nolines
module;
```

The result is a module named `main`.

src/main/module.rell

```nolines
module;
```

The result is again a module named `main`.

Suppose you add another file, `src/main/bar.rell`, with no module declaration. Its contents join the `main` module. Declaring the file as a module changes that:

src/main/bar.rell

```nolines
module;
```

Now it is a separate sub-module, `main.bar`.

Apply this pattern to build up a modular layout for your project.

Written for this site from Chromia’s public course. Code samples are the course’s own.

[← Previous**Part 3: How the dapp project is organized**](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/)[Next →**Add modules to your dapp**](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/incorporate-modules/)
