# Creating The Tiles From C++ This step places the game tiles randomly. Change the `main` function and includes in `src/main.cpp` to the following: ```cpp {{#include main_tiles_from_cpp.cpp:main}} ``` The code takes the list of tiles, duplicates it, and shuffles it, accessing the `memory_tiles` property through the C++ code. For each top-level property, Slint generates a getter and a setter function. In this case `get_memory_tiles` and `set_memory_tiles`. Since `memory_tiles` is a Slint array, it's represented as a [`std::shared_ptr`](https://slint.dev/docs/cpp/api/classslint_1_1model). You can't change the model generated by Slint, but you can extract the tiles from it and put them in a [`slint::VectorModel`](https://slint.dev/docs/cpp/api/classslint_1_1vectormodel) which inherits from `Model`. `VectorModel` lets you make changes and you can use it to replace the static generated model. Running this code opens a window that now shows a 4 by 4 grid of rectangles, which show or hide the icons when a player clicks on them. There's one last aspect missing now, the rules for the game.