From 09778564ee825d3dc62cf6bafc6a60ecfab635c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr>
Date: Wed, 22 May 2024 15:09:20 +0200
Subject: [PATCH] Normalize game architecture

---
 android/app/build.gradle                      |   2 +-
 android/gradle.properties                     |   4 +-
 assets/files/images.json                      | 103 -----
 assets/fonts/Nunito-Bold.ttf                  | Bin 0 -> 131672 bytes
 assets/fonts/Nunito-Light.ttf                 | Bin 0 -> 131756 bytes
 assets/fonts/Nunito-Medium.ttf                | Bin 0 -> 131844 bytes
 assets/fonts/Nunito-Regular.ttf               | Bin 0 -> 131736 bytes
 assets/icons/difficulty_3x3.png               | Bin 6392 -> 0 bytes
 assets/icons/difficulty_4x4.png               | Bin 4170 -> 0 bytes
 assets/icons/difficulty_5x5.png               | Bin 6080 -> 0 bytes
 assets/images/placeholder.png                 | Bin 1371 -> 0 bytes
 assets/translations/en.json                   |  12 +
 assets/translations/fr.json                   |  12 +
 assets/{icons => ui}/button_back.png          | Bin
 assets/ui/button_delete_saved_game.png        | Bin 0 -> 5813 bytes
 assets/{icons => ui}/button_random_pick.png   | Bin
 assets/ui/button_resume_game.png              | Bin 0 -> 3659 bytes
 assets/{icons => ui}/button_shuffle.png       | Bin
 assets/ui/button_start.png                    | Bin 0 -> 3999 bytes
 assets/{icons => ui}/game_win.png             | Bin
 assets/{icons => ui}/placeholder.png          | Bin
 assets/{icons => ui}/tip_hidden.png           | Bin
 .../metadata/android/en-US/changelogs/62.txt  |   1 +
 .../metadata/android/fr-FR/changelogs/62.txt  |   1 +
 icons/difficulty_3x3.svg                      |   2 -
 icons/difficulty_4x4.svg                      |   2 -
 icons/difficulty_5x5.svg                      |   2 -
 lib/config/default_game_settings.dart         |  49 +++
 lib/config/default_global_settings.dart       |  33 ++
 lib/config/menu.dart                          |  52 +++
 lib/config/theme.dart                         | 190 +++++++++
 lib/cubit/game_cubit.dart                     | 244 ++++++++++++
 lib/cubit/game_state.dart                     |  15 +
 lib/cubit/nav_cubit.dart                      |  37 ++
 lib/cubit/settings_game_cubit.dart            |  72 ++++
 lib/cubit/settings_game_state.dart            |  15 +
 lib/cubit/settings_global_cubit.dart          |  60 +++
 lib/cubit/settings_global_state.dart          |  15 +
 lib/cubit/theme_cubit.dart                    |  31 ++
 lib/cubit/theme_state.dart                    |  15 +
 lib/data/fetch_data_helper.dart               |  39 ++
 lib/data/game_data.dart                       | 104 +++++
 lib/main.dart                                 |  99 ++++-
 lib/models/game/game.dart                     | 127 ++++++
 lib/models/game/moving_tile.dart              |  35 ++
 lib/{entities => models/game}/tile.dart       |  17 +-
 lib/models/settings/settings_game.dart        |  56 +++
 lib/models/settings/settings_global.dart      |  41 ++
 lib/provider/data.dart                        | 103 -----
 lib/screens/game.dart                         | 225 -----------
 lib/screens/home.dart                         | 212 ----------
 lib/ui/game/game_bottom.dart                  |  23 ++
 lib/ui/game/game_end.dart                     |  51 +++
 lib/ui/game/game_top.dart                     |  28 ++
 lib/ui/helpers/app_titles.dart                |  33 ++
 lib/ui/helpers/outlined_text_widget.dart      |  51 +++
 lib/ui/layouts/game_layout.dart               |  40 ++
 lib/ui/layouts/parameters_layout.dart         | 154 ++++++++
 lib/ui/parameters/parameter_image.dart        |  39 ++
 lib/ui/parameters/parameter_painter.dart      | 151 ++++++++
 lib/ui/screens/page_about.dart                |  41 ++
 lib/ui/screens/page_game.dart                 |  24 ++
 lib/ui/screens/page_settings.dart             |  26 ++
 lib/ui/settings/settings_form.dart            |  63 +++
 lib/ui/settings/theme_card.dart               |  47 +++
 lib/ui/skeleton.dart                          |  34 ++
 .../actions/button_delete_saved_game.dart     |  21 +
 lib/ui/widgets/actions/button_game_quit.dart  |  21 +
 .../actions/button_game_start_new.dart        |  34 ++
 .../actions/button_resume_saved_game.dart     |  21 +
 lib/ui/widgets/game/game.dart                 |  32 ++
 lib/ui/widgets/game/game_board.dart           |  32 ++
 lib/ui/widgets/game/game_shuffling.dart       |  25 ++
 .../widgets/game/game_tile.dart}              |  77 ++--
 lib/ui/widgets/game/game_tileset.dart         |  62 +++
 lib/ui/widgets/game/game_tip.dart             |  44 +++
 lib/ui/widgets/global_app_bar.dart            |  83 ++++
 .../widgets/indicators/indicator_score.dart   |  27 ++
 lib/utils/color_extensions.dart               |  33 ++
 lib/utils/game_utils.dart                     | 120 ------
 lib/utils/get_images_list.dart                |  35 --
 pubspec.lock                                  | 364 ++++++++++++++++--
 pubspec.yaml                                  |  40 +-
 .../app/build_application_resources.sh        |   2 +-
 {icons => resources/app}/featureGraphic.svg   |   0
 {icons => resources/app}/icon.svg             |   0
 resources/build_resources.sh                  |   8 +
 {scripts => resources/data}/.gitignore        |   0
 .../data/00_optimize_images.sh                |   0
 .../data/build_images_assets_list.sh          |  27 +-
 .../data}/cache/01_raw_images/.gitkeep        |   0
 .../01_raw_images/00_default/19-93194.jpg     | Bin
 .../01_raw_images/00_default/1902316.jpg      | Bin
 .../00_default/667852_poster_l.jpg            | Bin
 .../00_default/goodmorningforsta.jpg          | Bin
 .../cache/01_raw_images/animals/1-34816.jpg   | Bin
 .../cache/01_raw_images/animals/1869714.jpg   | Bin
 .../cache/01_raw_images/animals/1872282.jpg   | Bin
 .../cache/01_raw_images/animals/1880455.jpg   | Bin
 .../cache/01_raw_images/animals/1888275.jpg   | Bin
 .../cache/01_raw_images/animals/1889220.jpg   | Bin
 .../cache/01_raw_images/animals/1889565.jpg   | Bin
 .../cache/01_raw_images/animals/2-13953.jpg   | Bin
 .../cache/01_raw_images/animals/3-54091.jpg   | Bin
 .../01_raw_images/animals/681366_poster_l.jpg | Bin
 .../01_raw_images/animals/683592_poster_l.jpg | Bin
 .../cache/01_raw_images/animals/7-24566.jpg   | Bin
 ...e-Mountains-Karin-Bijlsma-Affiche.webp.png | Bin
 .../Being-Lazy-Andy-Westface-Affiche.webp.png | Bin
 ...gh-Together-Andy-Westface-Affiche.webp.png | Bin
 .../Me-Time-Andy-Westface-Affiche.webp.png    | Bin
 ...ebra-Balloon-Paul-Fuentes-Affiche.webp.png | Bin
 .../cache/01_raw_images/animals/panda.jpg     | Bin
 .../cache/01_raw_images/animals/rainmaker.jpg | Bin
 .../cache/01_raw_images/anime/1893736.jpg     | Bin
 .../cache/01_raw_images/anime/1896891.jpg     | Bin
 .../cache/01_raw_images/dinosaurs/1879022.jpg | Bin
 .../Diplodocus-Dieter-Braun-Affiche.webp.png  | Bin
 .../cache/01_raw_images/ghibli/1882483.jpg    | Bin
 .../flat,750x,075,f-pad,750x1000,f8f8f8-1.jpg | Bin
 .../flat,750x,075,f-pad,750x1000,f8f8f8.jpg   | Bin
 .../cache/01_raw_images/ghibli/totoro.png     | Bin
 .../01_raw_images/harrypotter/1893827.jpg     | Bin
 .../01_raw_images/harrypotter/1893838.jpg     | Bin
 .../cache/01_raw_images/nature/11-74513.jpg   | Bin
 .../cache/01_raw_images/nature/5-42180.jpg    | Bin
 .../cache/01_raw_images/nature/8-43315.jpg    | Bin
 .../00b6f4b4509f4dd42ba672d7d98e8b12.jpg      | Bin
 .../02db820b7bb1747485d006a6c31f3b26.jpg      | Bin
 .../03a5166c2c85336e307c6f7cc19aaa53.jpg      | Bin
 .../0e6b73b5932cd51d9e73b4ee38a15d39.jpg      | Bin
 .../1a586eb5b865bc350345057318a5728f.jpg      | Bin
 .../personal/20190519_125238.jpg              | Bin
 .../personal/20190722_140748.jpg              | Bin
 .../personal/20200606_095643.jpg              | Bin
 .../personal/20200606_102141.jpg              | Bin
 .../personal/20200618_120810.jpg              | Bin
 .../personal/20200618_123346.jpg              | Bin
 .../personal/20200619_142852.jpg              | Bin
 .../personal/20200619_213922_1.jpg            | Bin
 .../personal/20200623_100706.jpg              | Bin
 .../personal/20200625_124835.jpg              | Bin
 .../personal/20200626_124209.jpg              | Bin
 .../personal/20200630_101026.jpg              | Bin
 .../personal/20200630_101557.jpg              | Bin
 .../personal/20200630_101758.jpg              | Bin
 .../personal/20200701_144641.jpg              | Bin
 .../personal/20200705_093806.jpg              | Bin
 .../personal/20200717_161441.jpg              | Bin
 .../personal/20200722_005935.jpg              | Bin
 .../personal/20200724_163236.jpg              | Bin
 .../personal/20200724_224026.jpg              | Bin
 .../personal/20200727_094000.jpg              | Bin
 .../personal/20200728_111054.jpg              | Bin
 .../personal/20200728_140354.jpg              | Bin
 .../personal/20200731_204947.jpg              | Bin
 .../personal/20200801_185650.jpg              | Bin
 .../personal/20200802_163415.jpg              | Bin
 .../personal/20200802_163639.jpg              | Bin
 .../personal/20200802_163829.jpg              | Bin
 .../personal/20200802_164012.jpg              | Bin
 .../personal/20200802_172820.jpg              | Bin
 .../personal/20200802_173007.jpg              | Bin
 .../2a16dbaeeeef30a6b5479a8ba00aab9b.jpg      | Bin
 .../31f577dd1d3c6158f20bd2e3668a6d74.jpg      | Bin
 .../75347476e42316830b3bd4276abbac29.jpg      | Bin
 .../81c29851faf31e5adbe748fa0e450aa6.jpg      | Bin
 .../85a0304dbc66bba40def5200ab3a07c6.jpg      | Bin
 .../861e579dd0c244ec7fae3eaf3eff16b2.jpg      | Bin
 .../a2a679f3f3ae4e3764fbfede13d28099.jpg      | Bin
 .../bab9d1cdac549407377e8309c287b7fa.jpg      | Bin
 .../bc428f04fadcf6e8c760e7dc7152f42b.jpg      | Bin
 .../e9f405ebcc2304a120872bc75732c476.jpg      | Bin
 .../ed8fb705383eb8aac33197110212124e.jpg      | Bin
 .../efaaa9e5d4a4f1698715507178ca4e3d.jpg      | Bin
 ...e-640-1dc365a57b9eea70d0d21fb6d1644b72.jpg | Bin
 ...e-640-3aaafbe17a165937a260c2f38d30b648.jpg | Bin
 ...e-640-512be9e273586e00e10e2906d7446098.jpg | Bin
 ...e-640-6bd2d51e9d3b639f679ccb388eb54146.jpg | Bin
 ...e-640-95a0a96a0220064f99f031fb9cfcaf75.jpg | Bin
 ...e-640-bc466b6c01a8be0039aedc535e4c2ebb.jpg | Bin
 ...e-640-ca7ef660c832cbca8e82d92f67432175.jpg | Bin
 ...e-640-daeb8c1a86ad6406bad079886d376cb6.jpg | Bin
 ...e-640-ee371f46003d800ad2db17558c04464e.jpg | Bin
 ...e-640-fa7601fd804ab472e8cb91e5a638e2ef.jpg | Bin
 ...e-640-ff4c9c993ff0a303c924aa35d0386e15.jpg | Bin
 .../data}/cache/01_raw_images/sea/1886961.jpg | Bin
 .../cache/01_raw_images/sea/IADX6-086.jpg     | Bin
 .../cache/01_raw_images/space/11916-large.jpg | Bin
 .../data}/cache/02_optimized_images/.gitkeep  |   0
 .../data/check_sliced_images.sh               |   0
 .../ui/build_ui_resources.sh                  |  73 ++--
 .../ui/images}/button_back.svg                |   0
 .../ui/images/button_delete_saved_game.svg    |   2 +
 .../ui/images}/button_random_pick.svg         |   0
 resources/ui/images/button_resume_game.svg    |   2 +
 .../ui/images}/button_shuffle.svg             |   0
 resources/ui/images/button_start.svg          |   2 +
 {icons => resources/ui/images}/game_win.svg   |   0
 .../ui/images}/placeholder.svg                |   0
 {icons => resources/ui/images}/tip_hidden.svg |   0
 201 files changed, 3060 insertions(+), 959 deletions(-)
 delete mode 100644 assets/files/images.json
 create mode 100644 assets/fonts/Nunito-Bold.ttf
 create mode 100644 assets/fonts/Nunito-Light.ttf
 create mode 100644 assets/fonts/Nunito-Medium.ttf
 create mode 100644 assets/fonts/Nunito-Regular.ttf
 delete mode 100644 assets/icons/difficulty_3x3.png
 delete mode 100644 assets/icons/difficulty_4x4.png
 delete mode 100644 assets/icons/difficulty_5x5.png
 delete mode 100644 assets/images/placeholder.png
 create mode 100644 assets/translations/en.json
 create mode 100644 assets/translations/fr.json
 rename assets/{icons => ui}/button_back.png (100%)
 create mode 100644 assets/ui/button_delete_saved_game.png
 rename assets/{icons => ui}/button_random_pick.png (100%)
 create mode 100644 assets/ui/button_resume_game.png
 rename assets/{icons => ui}/button_shuffle.png (100%)
 create mode 100644 assets/ui/button_start.png
 rename assets/{icons => ui}/game_win.png (100%)
 rename assets/{icons => ui}/placeholder.png (100%)
 rename assets/{icons => ui}/tip_hidden.png (100%)
 create mode 100644 fastlane/metadata/android/en-US/changelogs/62.txt
 create mode 100644 fastlane/metadata/android/fr-FR/changelogs/62.txt
 delete mode 100644 icons/difficulty_3x3.svg
 delete mode 100644 icons/difficulty_4x4.svg
 delete mode 100644 icons/difficulty_5x5.svg
 create mode 100644 lib/config/default_game_settings.dart
 create mode 100644 lib/config/default_global_settings.dart
 create mode 100644 lib/config/menu.dart
 create mode 100644 lib/config/theme.dart
 create mode 100644 lib/cubit/game_cubit.dart
 create mode 100644 lib/cubit/game_state.dart
 create mode 100644 lib/cubit/nav_cubit.dart
 create mode 100644 lib/cubit/settings_game_cubit.dart
 create mode 100644 lib/cubit/settings_game_state.dart
 create mode 100644 lib/cubit/settings_global_cubit.dart
 create mode 100644 lib/cubit/settings_global_state.dart
 create mode 100644 lib/cubit/theme_cubit.dart
 create mode 100644 lib/cubit/theme_state.dart
 create mode 100644 lib/data/fetch_data_helper.dart
 create mode 100644 lib/data/game_data.dart
 create mode 100644 lib/models/game/game.dart
 create mode 100644 lib/models/game/moving_tile.dart
 rename lib/{entities => models/game}/tile.dart (52%)
 create mode 100644 lib/models/settings/settings_game.dart
 create mode 100644 lib/models/settings/settings_global.dart
 delete mode 100644 lib/provider/data.dart
 delete mode 100644 lib/screens/game.dart
 delete mode 100644 lib/screens/home.dart
 create mode 100644 lib/ui/game/game_bottom.dart
 create mode 100644 lib/ui/game/game_end.dart
 create mode 100644 lib/ui/game/game_top.dart
 create mode 100644 lib/ui/helpers/app_titles.dart
 create mode 100644 lib/ui/helpers/outlined_text_widget.dart
 create mode 100644 lib/ui/layouts/game_layout.dart
 create mode 100644 lib/ui/layouts/parameters_layout.dart
 create mode 100644 lib/ui/parameters/parameter_image.dart
 create mode 100644 lib/ui/parameters/parameter_painter.dart
 create mode 100644 lib/ui/screens/page_about.dart
 create mode 100644 lib/ui/screens/page_game.dart
 create mode 100644 lib/ui/screens/page_settings.dart
 create mode 100644 lib/ui/settings/settings_form.dart
 create mode 100644 lib/ui/settings/theme_card.dart
 create mode 100644 lib/ui/skeleton.dart
 create mode 100644 lib/ui/widgets/actions/button_delete_saved_game.dart
 create mode 100644 lib/ui/widgets/actions/button_game_quit.dart
 create mode 100644 lib/ui/widgets/actions/button_game_start_new.dart
 create mode 100644 lib/ui/widgets/actions/button_resume_saved_game.dart
 create mode 100644 lib/ui/widgets/game/game.dart
 create mode 100644 lib/ui/widgets/game/game_board.dart
 create mode 100644 lib/ui/widgets/game/game_shuffling.dart
 rename lib/{entities/moving_tile.dart => ui/widgets/game/game_tile.dart} (52%)
 create mode 100644 lib/ui/widgets/game/game_tileset.dart
 create mode 100644 lib/ui/widgets/game/game_tip.dart
 create mode 100644 lib/ui/widgets/global_app_bar.dart
 create mode 100644 lib/ui/widgets/indicators/indicator_score.dart
 create mode 100644 lib/utils/color_extensions.dart
 delete mode 100644 lib/utils/game_utils.dart
 delete mode 100644 lib/utils/get_images_list.dart
 rename icons/build_application_icons.sh => resources/app/build_application_resources.sh (98%)
 rename {icons => resources/app}/featureGraphic.svg (100%)
 rename {icons => resources/app}/icon.svg (100%)
 create mode 100755 resources/build_resources.sh
 rename {scripts => resources/data}/.gitignore (100%)
 rename scripts/01_optimize_images.sh => resources/data/00_optimize_images.sh (100%)
 rename scripts/02_build_images_assets_list.sh => resources/data/build_images_assets_list.sh (63%)
 rename {scripts => resources/data}/cache/01_raw_images/.gitkeep (100%)
 rename {scripts => resources/data}/cache/01_raw_images/00_default/19-93194.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/00_default/1902316.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/00_default/667852_poster_l.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/00_default/goodmorningforsta.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1-34816.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1869714.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1872282.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1880455.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1888275.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1889220.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/1889565.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/2-13953.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/3-54091.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/681366_poster_l.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/683592_poster_l.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/7-24566.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/Alpaca-In-The-Mountains-Karin-Bijlsma-Affiche.webp.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/Being-Lazy-Andy-Westface-Affiche.webp.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/Fly-High-Together-Andy-Westface-Affiche.webp.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/Me-Time-Andy-Westface-Affiche.webp.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/Zebra-Balloon-Paul-Fuentes-Affiche.webp.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/panda.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/animals/rainmaker.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/anime/1893736.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/anime/1896891.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/dinosaurs/1879022.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/dinosaurs/Diplodocus-Dieter-Braun-Affiche.webp.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/ghibli/1882483.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8-1.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/ghibli/totoro.png (100%)
 rename {scripts => resources/data}/cache/01_raw_images/harrypotter/1893827.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/harrypotter/1893838.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/nature/11-74513.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/nature/5-42180.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/nature/8-43315.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/00b6f4b4509f4dd42ba672d7d98e8b12.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/02db820b7bb1747485d006a6c31f3b26.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/03a5166c2c85336e307c6f7cc19aaa53.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/0e6b73b5932cd51d9e73b4ee38a15d39.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/1a586eb5b865bc350345057318a5728f.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20190519_125238.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20190722_140748.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200606_095643.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200606_102141.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200618_120810.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200618_123346.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200619_142852.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200619_213922_1.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200623_100706.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200625_124835.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200626_124209.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200630_101026.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200630_101557.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200630_101758.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200701_144641.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200705_093806.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200717_161441.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200722_005935.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200724_163236.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200724_224026.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200727_094000.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200728_111054.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200728_140354.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200731_204947.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200801_185650.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200802_163415.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200802_163639.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200802_163829.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200802_164012.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200802_172820.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/20200802_173007.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/2a16dbaeeeef30a6b5479a8ba00aab9b.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/31f577dd1d3c6158f20bd2e3668a6d74.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/75347476e42316830b3bd4276abbac29.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/81c29851faf31e5adbe748fa0e450aa6.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/85a0304dbc66bba40def5200ab3a07c6.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/861e579dd0c244ec7fae3eaf3eff16b2.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/a2a679f3f3ae4e3764fbfede13d28099.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/bab9d1cdac549407377e8309c287b7fa.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/bc428f04fadcf6e8c760e7dc7152f42b.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/e9f405ebcc2304a120872bc75732c476.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/ed8fb705383eb8aac33197110212124e.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/efaaa9e5d4a4f1698715507178ca4e3d.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-1dc365a57b9eea70d0d21fb6d1644b72.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-3aaafbe17a165937a260c2f38d30b648.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-512be9e273586e00e10e2906d7446098.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-6bd2d51e9d3b639f679ccb388eb54146.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-95a0a96a0220064f99f031fb9cfcaf75.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-bc466b6c01a8be0039aedc535e4c2ebb.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-ca7ef660c832cbca8e82d92f67432175.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-daeb8c1a86ad6406bad079886d376cb6.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-ee371f46003d800ad2db17558c04464e.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-fa7601fd804ab472e8cb91e5a638e2ef.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/personal/perso-source-640-ff4c9c993ff0a303c924aa35d0386e15.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/sea/1886961.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/sea/IADX6-086.jpg (100%)
 rename {scripts => resources/data}/cache/01_raw_images/space/11916-large.jpg (100%)
 rename {scripts => resources/data}/cache/02_optimized_images/.gitkeep (100%)
 rename scripts/03_check_sliced_images.sh => resources/data/check_sliced_images.sh (100%)
 rename icons/build_game_icons.sh => resources/ui/build_ui_resources.sh (50%)
 rename {icons => resources/ui/images}/button_back.svg (100%)
 create mode 100644 resources/ui/images/button_delete_saved_game.svg
 rename {icons => resources/ui/images}/button_random_pick.svg (100%)
 create mode 100644 resources/ui/images/button_resume_game.svg
 rename {icons => resources/ui/images}/button_shuffle.svg (100%)
 create mode 100644 resources/ui/images/button_start.svg
 rename {icons => resources/ui/images}/game_win.svg (100%)
 rename {icons => resources/ui/images}/placeholder.svg (100%)
 rename {icons => resources/ui/images}/tip_hidden.svg (100%)

diff --git a/android/app/build.gradle b/android/app/build.gradle
index 789da53..26a3890 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -37,7 +37,7 @@ if (keystorePropertiesFile.exists()) {
 }
 
 android {
-    compileSdkVersion 33
+    compileSdkVersion 34
     namespace "org.benoitharrault.puzzlegame"
 
     defaultConfig {
diff --git a/android/gradle.properties b/android/gradle.properties
index bc12805..9b96205 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=0.0.61
-app.versionCode=61
+app.versionName=0.1.0
+app.versionCode=62
diff --git a/assets/files/images.json b/assets/files/images.json
deleted file mode 100644
index c0c4545..0000000
--- a/assets/files/images.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
-  "images": [
-    "00_default_08b2107e3c30da02a6c18613a1e90857",
-    "00_default_3bcda1b5fb7adcdac1824dde11060462",
-    "00_default_3c245519d89fefd792d05b72631ef8af",
-    "00_default_494b2e821e8e7130088ec2929bf49be8",
-    "animals_0824b924323459fb8e8a90054443c77b",
-    "animals_0a86f77291858c10ca6dcc631ba14f96",
-    "animals_36c401aebe4293803710b05a08d6a248",
-    "animals_5cb4af89a40d60e8839a43e915d15a2f",
-    "animals_60f53fdf0217001c7a89f48f243f2aa9",
-    "animals_677d788f482bffdd7f79c525aae93832",
-    "animals_76baeb891edc3f20814fcda6de541c8b",
-    "animals_815079fbba4a96c699b25fca11cf303e",
-    "animals_83f2c647801c57722f5582687a95071b",
-    "animals_8786f3eced6b176537608b50398b464d",
-    "animals_88c3071723a3d93b9d581313e2b25c65",
-    "animals_8cb1144c6afa8ccd37871a1c237e7c3a",
-    "animals_9b0b293a1f2393d46e2d8f7ca841e652",
-    "animals_9bd7055c69b6471477bc67e508a0ec7a",
-    "animals_a42fb9cddd68b019a1e6216f01d94742",
-    "animals_d3f924d97c3d6bb735a27c0e4edfcd7c",
-    "animals_e937f221caaa87337c1dc98002e13c56",
-    "animals_f05f46e9ea9f18d47fbd7733a608536b",
-    "animals_fc0a31d2c32467fdda711ffd521e79d9",
-    "anime_aa293fb70ed59c7b610f0e6e218a0917",
-    "anime_f48648cbbff8370f18bdc592d98bb563",
-    "dinosaurs_61c5d5727722d957ffa39b7cc5519bf6",
-    "dinosaurs_d2fafe9651b48459a72aa15cfeac3b61",
-    "ghibli_2c6fd10faee15c612ebfe71628069d36",
-    "ghibli_914deb9acd1f1ab2a50ec9f7924eb799",
-    "ghibli_b2c74d93a2c32f2ccbda73c4bee03b00",
-    "ghibli_f2798b83ce4d01142bdcd5d8803f5412",
-    "harrypotter_439fe7c78ebbf945de2eb18f2f78f7a8",
-    "harrypotter_d3664e7e2920eb8cee5b69982f710644",
-    "nature_38a414b6051a9b528fedc47878663c03",
-    "nature_98574287a17f734d52dc64dfc0f45fc8",
-    "nature_c0e131e9a2a813c337965ddfb413baf8",
-    "personal_0694cfbc9bb292f9da8c7c65d793a378",
-    "personal_0a0b014b37ddb90d9af1fcdedccef37d",
-    "personal_0d973affb8ffe7d0abe9ddd89957f580",
-    "personal_0ea16afc573d649222e512306872106f",
-    "personal_12381e1ed7bed4ec56c5d871a8b21a5d",
-    "personal_183bcd7c31fdece731a373ed375fd227",
-    "personal_1b98afe55b410ed03ea8b3f18fa5cc27",
-    "personal_22169df124ce293fbd519eb6d987a9b7",
-    "personal_259dd16880502cbc8fbbff87cee60a24",
-    "personal_29244801ee5399bc5a445f9c9f1e5487",
-    "personal_2f9d874fbd41462a6c115022e088f12e",
-    "personal_31320d5c42d2b0e81a3aa365af7bbd9d",
-    "personal_3b2274b4265177568057601aef1a4e87",
-    "personal_3cdb7de70fb4052ac849a6a5fa990eee",
-    "personal_3debd2d0b3b968d5a895d776bc8d7e03",
-    "personal_43f57a142340066e3137434a43b6cbbb",
-    "personal_4936d509c25ceaf585c94067f4f9061b",
-    "personal_4afcce1786d0265f45ca083b07bd407b",
-    "personal_4ee0e7589f440418d41e7e8283c6bcef",
-    "personal_4fe95f154947c4efdf9a35045b47e137",
-    "personal_548f73139e968e67d9737393e9cba794",
-    "personal_58e4fa6bdbfea985511936074d40a5e1",
-    "personal_5a2ec8b6ee98b400ae87207fcace71e3",
-    "personal_5b6e5f629039ff65178bac0b9d979185",
-    "personal_626e4843a78dbcc43e49bce849bc82cc",
-    "personal_642d854a9d4252d78faeb392b09ff04d",
-    "personal_6761903f2186e75e74fcbde92a4c6865",
-    "personal_67def669a778cd84299235188df223f9",
-    "personal_6baedd08c35004321ac26effade8221e",
-    "personal_6f28c333f1100e7d2cb316ba839a59b9",
-    "personal_70d72351d07f93710539592d8dd38d8a",
-    "personal_7d7e4fb5727fc23ab3fa7b40f8769fc1",
-    "personal_7ea40aebbbde03cbbcc19e5f92609b77",
-    "personal_84f358d1b64d7947617d85b21ab2375a",
-    "personal_90deb4cb0578338c442f268d6a24d5dc",
-    "personal_96b82ec73f9d83066297fa30a5b4384f",
-    "personal_9e44f127b4ec68efad8ce87da1d3fc51",
-    "personal_a6819fc32906ac2ca4a0f47503772307",
-    "personal_b27ef14b2c835df1ae1aeae938823193",
-    "personal_b50323b0dc6ce5fb9796adb80b814cd8",
-    "personal_b78c59c08302100769e3469fccff36c1",
-    "personal_b87fcb24c5d44e1328cddd66b75bc119",
-    "personal_b89b9d4366696fe1623b5b5d4f10f0fc",
-    "personal_b8d2facf43700d6f4e6c230c548e771b",
-    "personal_b961b8d3386fa525ac754eea04b32003",
-    "personal_bf4520a9582da41ecc280365afebb30f",
-    "personal_c0eb4eb4d39d58eecebc3218a56f6148",
-    "personal_c132137e54f68136af709edd6a8f602d",
-    "personal_c72571b7f7ac673b63754699e1b8c31c",
-    "personal_d0d1e8e150782b694d663b6cc838cf61",
-    "personal_d5d163c09ae4da219a7ae54b5a98b830",
-    "personal_d5f3483ee2a8598123a0d0a9a965aea0",
-    "personal_daf7dab4c768da753dede24093cef6c3",
-    "personal_e124afc5e5b3770e53f058431d37bf31",
-    "personal_e9da5393d39bebb0a5d393b4c55366a5",
-    "personal_efc2a3bf7597c3991afa800c4515a515",
-    "personal_f3991aee0215111c5e4c13994477e85b",
-    "personal_f4059dfc787363cc3437be52a47779a0",
-    "personal_fb47095d9556e3e7f00711afe128d5b2",
-    "sea_f2c615363f892ba270dae2fceb3a06e9",
-    "sea_f64def749dd7133248814a902ea140ab",
-    "space_438d8689bcc7e7cafd89a97d336d7981",
-    ""
-  ]
-}
diff --git a/assets/fonts/Nunito-Bold.ttf b/assets/fonts/Nunito-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..6519feb781449ebe0015cbc74dfd9e13110fbba9
GIT binary patch
literal 131672
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
DODGVD

literal 0
HcmV?d00001

diff --git a/assets/fonts/Nunito-Light.ttf b/assets/fonts/Nunito-Light.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..8a0736c41cd6c2a1225d356bf274de1d0afc3497
GIT binary patch
literal 131756
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Nunito-Medium.ttf b/assets/fonts/Nunito-Medium.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..88fccdc0638b6f5d6ac49d9d269dc3d518618ad1
GIT binary patch
literal 131844
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

literal 0
HcmV?d00001

diff --git a/assets/fonts/Nunito-Regular.ttf b/assets/fonts/Nunito-Regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..e7b8375a896ef0cd8e06730a78c84532b377e784
GIT binary patch
literal 131736
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
VXQLy12Dj^gUAr;549M|N{~s!)Dn$SQ

literal 0
HcmV?d00001

diff --git a/assets/icons/difficulty_3x3.png b/assets/icons/difficulty_3x3.png
deleted file mode 100644
index 9893a1c3d32dc5e9818d0b4da793268833e740ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6392
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

diff --git a/assets/icons/difficulty_4x4.png b/assets/icons/difficulty_4x4.png
deleted file mode 100644
index 57c99a774f4910ade3d46af33d7ce204b36562ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4170
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

diff --git a/assets/icons/difficulty_5x5.png b/assets/icons/difficulty_5x5.png
deleted file mode 100644
index 11e087ec80f029539736637ddacbcd4ccb24ee72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6080
zcmdUT<yRCA(Dg1XT`Mi!Ap8jFkOs-6yQI52rKCZnm0XFXQ5u$R5a||JQW_Ryaiw3M
z_pf-K4|nd|d*;l?IcIK?j+P1$J`Fwq03cFRRnq&%eg6Yo?0;2n-5uv2;d!f?`T+oR
zCjSHA<fnrl|IFw9$|nB$UXK1jHogvkpr9Z=7f&}oI~#8YJ}+OV{PR~d000$4O-bG$
z_~)5rP?o_WJtFe+8O(S-#f6i|5^O66(v{b>nE5nBHgC7XXPCo>tASMY!kA0J{f_{H
z$Izm0n4z>`IG%}%sidb1+3y{A-YMi48HC6$wCN3-3VQG0wBH?uM0fVS^`jdd5BXhE
zFDq`a&~mHeldI217t<c)bF8DA3(>Y(xFJ1#Xv*(xpHR~xoE`HfWgC;=ypdp5vQsi7
zE|;B6^kGTJloNLR2ms;9f!P4^{~CD=@c&wY*Qds$3W#9>;>LiOa7m;72|ssUcz;LD
zIDaEC36<3}1dP-4`|A(*^(k#ftqtzC#w{AsEsVj+^*8AN*r&qHcu;#^)T9yywXHj)
zIsqw@3^94Oqyyxw8pfxR$TGHlc}Il7Ih~1aq3(*P&oex0_jyZXe$8a*zT<k{RCi0z
zAlVj_lh>Bh?I87+7A#GyI3yjU+7FZRL79xy9mO-x(-Z;Lgc+a*jH}uh_Ad?cJ^RG!
z0|kBTLBJ*Fvf;ag4;cVc!bMoV@8qUxRPd+VNW)Xb@ayW-g8xYS5HRyq4{|&($?jEs
zVo0Kz$CKv29gV}V32F?&A0Cuf;E6|(0??SPJO6POg{b9g@YdyyUWLUa)v~6g!oN`?
zrzA-3Gf?HMYRW;YjQT%k-|_!DCg$FCUi$Q54<5Tz;<v~7Q`=Nl5Q3uBt_0AxZ$}(f
z*POf8_lJW*F6P>Rk&swY>mC-~^T+$I%7pR$Hrz^%{Z8`_^XsrX^q)~0W9}i4vRSIv
zHO}t1q|Y9;U$h{hS-$6Y%n>)Z-EHHDa#Vl%{!5aJzBdWf+DinTjGRD0LXkMJ+x^4U
zgh>xcL-r0Rp3Xr@J_~Ov#KifPY3D)h6fOqzlauP+@0sXB*Fqi}cE7IbtvsFLBgFbd
z;fAspw&Ogc`wucL0U#wZw{vuCIg;73f9~_LxXzogry6Q!*3kRc5ovio;g+3)Wo9~q
z2!4wu-`GPr&j~LaL=#cD&9|i8JVo@(sN2sI-3QhZ1lS_J&cllq<LKvAq5|UHy7-{7
z#Zo!lZi#}1!vhUGC$J|YjnjGs02xSrxCASAWBjky3$072JDda|wVkDGD-uI-b0%bU
z*2K~GklcKDy_z${SsZTr%0}@mINwi(^=rTn^fH{*p{b^1%f#wjeJbwe%%V9UhtlG#
z{KV6DwPzwbBLD~iHJWvnf5EjcVhOlD8aq>rh%bWh1sE3RW3(Ju)kl1PqX=Cw5nmJ~
z54<4dYItult$Yr*jcAzCQA1M%O%Y>g`hIA;<(GmDBU3p~epJnCg;<?l5-Zr)a<p%*
z@$2nOsHio6V!bj8&Fm;Gl5va0Sy!HY7%4ChmC$&US-^kbdmnHe=vTgX4w_Da%uPg8
z+!ps+@IFphUwTa+`se<MSZdFQxXmk{dcY%6mhRp<rF4F2=vUcm@!lM_C>*@CW2_A<
z7OI9h(gDwP%Z5v2iG+)4mx-mR^89I!X#xcp7^!FqW+4KvOGD)>GYdSgM-ew9w>>1)
zukQ`^c<yPJT5`*FGe5`%!kV9IkewWzv>ND6FoR6KXJ!Ya&9iS$XNk<y^rMZ2Dnloo
z6p2pNyk$D2`N$8kqS}WE(YSh7l;5=nU5y?Eo{BdkM84hQHJj+pr-{fKT@p#xZW$Sc
zr}oUN?QxQ!-p-Icx;p#1G`rYW2Em0$<cF?%_$6}ke2x_*LVt!|p@J_Z@(KtIt06%T
z-O}ui{}i`}9}ag?SnL~w->6qiQ<+P2%Lc_AHVM?DT~QlKD<(7j#^i|Z_Rm4StEp7z
zg&RVp0_gQd$p^}SKUH`R9gxDO(~nNJJzY;PD$H%%wIWS3+EuDWH@+1I=BzRodv2p1
z)M=;Z7j{ebOUQtT8hAWgUuashoM-&eC-j<(&l~WsAc3C1Y13cNjV|~O-4n%%AHM3h
z1=d_y_o_`*W^A$*G$ZP@y44O@=0)OZ9-H#(${Ns9Z5xF%ypmd_p>@YE&F-ZtHf4|2
z@5p*3V~H4YAPIC#+1>|92c(hyO=|@S*jhfs_3Niy5BC#@%@aXPD~XHdCZ}_npa-PS
zZDhCQfC&A0HC&$hhY=`Bg(H5l7``rb3>i&?Sw_qSjBmyV(;|$PW$t&}7@m8p4`tE`
zG_tz@amlMTn@Zf@Enf92r-saRC<nY4Lx=aq=G>2Cr#g`3R^Wq1jw2nn8UNh^OV}9{
zX>sCC-_{p`j`T9EdH;lHo&G%EQV~RYywn`&nN*Xu{^>1-rcoId+qb>p5*3E`a%Igu
z=q0J>^0A_DbbAwg*`(stlU}cI@-8q5hdN%G1rkAeHUmF1nuZCHBPZO>3U#WFufid9
zfA5%W7Lf@mF509N7qt+oyCU<~(?XAy1w#kd{>DF-`Bo3Z!}m-3mQahM#n+8`*Rz`$
zWk@P<puu?i)}NmJjGu<t-b%=VjsdemfyGW{<p56kY&rV57TjnA_e<~zP6~8~ecsPF
z>jQZty7O!IFN5%^mh=fB=X_%6*ezdWQD+m(JfIf&N~}zaMBC?<PT|oJ!xjB>%Ejy^
z<(GgYc-Hs6aSY2PFEWdLnvwn6-Jw^#+eAsIOO@Z~6)7)|fl1lFVarK|j6V+cY99Ee
zU)<Eq+0Mtk7+Z*jzef~bt!eCbS=0!Ftv|dr+rs^^;B&lkXC}rL;{-zz9?fa*($q1$
z993_N%L7kaH&;~-`u!~{siFA<v;0qe7N&ug<9OMndMw4?rrHfA1Mn$aCv1kEmuFew
z-tIJ+|B*BtbPPQve?NcITXQkzmM-GzrmBqNYK9YmmgKo+N=_i~y7={da4M?Wp((1`
z+`ue6<HxTTcyv{w8)FlmkdVxtr>Rb@GfdhpCdB$C>dz8+{B>*ur=+&wndZ$x@Xi;S
zO}c@cjL`TYkckDDhZjyI(j*$ZbsH0=S<zXYaoKZnj!I=-yPWIc43B?_p_pOk7rn!S
z?h?uMM`=Aj(z!E>filwNR>|mO$3Kp3e)h5<&2{=HS}3{o{oTRqgLgXGpIa!%URA`M
z^&KoC<L)F4Fe<ACvwIJ1uP?McgW0OSE~~s-hiNT#3)ONGBABnGj0v=W!5XjkT2T==
zY!=*}x?qb8bq0D>*#@5wY?t}M4_F0{Gp5Ut8T_L>F2qm9KTQftbi?!@)u-E2zwBc4
z<us#gXg0-5n(ZP3I-4%u1B+;yB3-hBgiqL5Yi}02N6X1c+jJ?WeqthTSjJZbGSCT^
zwQ%0(2m;2&z!VlA$mws3mSOP;eb;##vccGR3@TKJf|CdCf0b}J6J-IBPQLpxnWv8$
zLbtIwj~&Z6K_$v+fQ5*>hxIGn9DW8?sC8Fw96t?6(FvnWfG{y@=wVF-`Nm1aW=7sH
z!W8bZC8FD87#0C5U!jb_7lPk-*opu)g#CfCNs!Djn8v5%t!mMaaCAWXJORFEao0-9
zN6zZ#J~LYgkDvKpLCfi<!W!(gmC%c!stUj#9WIbukGe^c+eKR`Z*e_(#u<_au&^23
z6#uX2+j4Pee`E<R+iUXq-}iw8T@XpU&!^P6e1C^TBT)~33>0&n1oQdEhD4}$0%)=c
z)RH4a20TX69E=noXC&`l)sGVHVz6MGa-Hs#)1p0nU98FC=&~M^%hj$8HsaTW!*dqj
zRdonv?v&wjo_wjI{0I=Y8K4VxdZQk7@cX|O7QmS7Si}d<bnE139Rqv4TRfX;qwRjm
z#!IdNi4qx{MsvkFoTx9rWv1V59}5$#pN%o=rf<EiA=}$0OcuTh(Q?0ERBhE~O=>N?
zTu8%Ir03fZ!1gU)Q01~{lHdDoM-Rm}q6oZD1$yDTvSR<rp*H@$ZMyW_v&)&n%2cj}
zq}sztFNEr+bUzbL{c681PVV|bmr;?`QWIhvSg1qOVP5}&qB))VFrZYu4sI)j2UpTp
z#zroMc`@SoUkxft?j=-pzS1|<Coi-k@{Yz{BEj>Yg?|*(ptV=>beD76D{nKIBsta0
z*Oxw{a$wc@GEd~;0S1{5@vWpug>Po6D`eLvyPJ(hnmM%|$4`YsWo^NQzZReG$-Q<=
z<C#4BuCsRIDq9wqE+!j9`0e+(!v^Fsf~DaPPWbfP<z{z4&t!Ayj7*);vJsY51`}S?
zSUcYn`&z!wwt?>E1jklK^#S#p{#h(FfQV}ciV>a6sbQSiHK`YKq>i^emnobjn4HHb
zy-#>=6b8|q6fuQFZRCl+gUDp%xe`;|VyQ*xs<TmM%yJn1G`@24!H_HLl-fZj(wkV(
zCqGL~;a=DQFYugdHgJ_O>zc1ieBAq<y`kc;kLNuj!uN%>1UJ0JiM-9vanJIo1>eGf
zxqE?NT_=^7UUlTRvTw>S(Y|0vp0NL{Ktkw(3a0E)GuB6X0ut)bd*}^CSCsyhS=eM3
zo6Ej#P~)vk;yEmjQtvY{Er5OzOdEAVsPZync<XC|E-v<QnO*fGT7B4!$z_z3{sZ4d
z8+UrEZvQ~dCXj;t^v-`e-23PA%Zd6gA+g@o+j(r2f!+x_1F7TnX|V{Ii?y0;JMJZd
zb*NM1^j8ddIknN|lP8KRdOM;sR#uF@HuK_N7o%u=CTdY}7Ibe-KPO#8700k4Zhm!1
zj5>rV)-{I4D4z?q;DFDn3yF>=K`gwNpK(`{mzplbV+MJV#<<9X2G6NTpLu94Ait@-
zr@fdo2|{V2H!xWHP+d!3-c4*r=BirV*U@CHN<O~5w1>E&b63c*qs6c;W41dUZ3)@_
zCY@je(xVcaP*XNL(<OwnK^PsRw@`T{>SMje`BloKytkhbg71E7jmrrZdE|J#udCta
zg4TRJvj4JNhQwC1x%_)XRuR6abVXP`y!xKnL*z_PGKJvPOb;8)io&1r<^ym^aeKy6
zu68NPBzsQ~3kcS*{m{pdI!@4O@|N>?0r9cl0=1-wuVySg2Px*~;>11XD!dmHW9ITp
z9DJs7C#kz$J-cp1f>ul~4I-rk$;yYh;KH`{N<U#TOy05NSVvKJq9Y8x+U!0MV536s
z%=g?4{9WPIPIp1DYp__en0yw62#G*nI!%PNa*Od|d>(e~*V~Sk_&F+0c%HFiCb)u<
zYFi4T=IjotaRrm+&UE1yP9Pqqc}8ZX3}~we9Os(x^R;=^3IhCsF72y`sx>)Jpt&h~
z+HVyJ6prL<+UnVU&&00nVRt)X4#3om$V<pvvt{|OEk0HjDbfwHP2+P`o0WOy6;vQz
z9)v{Y7$s@zT`Q>^L$;1)B$I4*>lMh2j3+uoqJasX-ycMdn)JMYY&m(Fj(M+ZPsqi-
zT+{DNfw{ix@@FJsa6jX&DZ^w>6ot1}V}F75!=C3(iKM_VTkw*9`>0o95XBi@_^OTk
zQA?@Q_J0QSCsmx2;h%j0_Mj!6pqF3|xGs5@a<%3nq&a(IlIIFF=gOSN5!Lw&Yh(X;
zkEJ`}yk;-Xp<c^uD5$8zxiAwpx{q!M2{5MQ<#9&-@>Vuvz?HNIp8VV_HO{Ieyc!fL
zN~WA|8s8`-9ZlvU77&_#%BY;mC2oJv(PU`*gDyzmLOiMLF0t}IXxH*94h*;Id3lnf
zW+}X&3FZFKRRh6pTBM`?VX1zN_pn|`CoYpScUB<(L(kGu^%&zFldiM?$f87wQRnRo
z3g^R>y0_D|UuZ>D^4h*In2Wc1m|663jo52+6V8aGlQPkNqjFDe8P8K{`z)3{QNEXM
z_mcwv*VIF)wLG6dR-+<}%Z=IIaKp(#KBW24ZhE`dmzto3ObyILFll?PnFr<zUP4lp
zn1FL3&8|r~qRRR%{_}1l*|XD@jgQ2Z(?9yv!+ht%W@d%~h+3vb33)zMo0b`zd|U|D
zknWCtg|wm(3&pcZV{IURrPJy@c=+rS>u$>JdPqZql((C9qsEg0GeF^&WFZ~zlRNf%
z>0pKtOP?@{qiE&f0O`3<bN;KQa|!J_9k<t+8_!a~(q>%M(->ma{(YU9WBR3T5ZvWb
zh@=SU9SwWDWQTNgrcD|LHCE&+NzXOHN*(7nrN;*c#iJ22Whra+5w_5d7*Skj-39w>
zg0jwW5Q4%VOUnV8PtAtw8!+>XSW?KMwiVNg(Gvd>#n#WF>R`#-vp3g%h4lYhi7XN*
z{Q5Qvw)v50RbVD>WV!wosjNC3(v@pni#6?g^=?|ln+s51{c26u(#sW8mGGbfFw6BM
zYq-OQbHQG`rO*m>m}OB*xgUJJCDe2O@$j`OjFWHiaM-H%akrmtQBqbU1K;otzt=^d
z9_y)FtEHe2>PDmW2OsjJFV6EVNyx_9>xl4db->d*8Vs0IT4v*MC1aAC)7fnprVVE(
zcK#$|N&>ZnO9B78yWUk==)m56<{dvW;Yj8@7<F5s|3KOik*>L{n0b~I<EIo!>neBA
z_Yx`s?XI6GKjM@#a3xGr#6Z=)^JKI)g^rgfwk?Qls3W9-)lugW?%(;IsTqb9<*?(;
z^>OIvW6IgD9SbTQm+RWD7tTm)86DQnoxc!Mpj^{FX&oh^8%T?QRtlG+kXZz_7XUlq
z+mjn?wMnll|Iqx>b$=!*oc@+zw1NEZ(m0LZGhLg!DeD~hhyRJDEc{7acEDI>SS2pR
z&#5IY{YgPCy<67F`sDhEybJwYYeOV11wA=A53G#5vGLG74#LIJdxkxploewSWMDJc
zMpztXRiTPi+UZ8f;g~h(v?Kq=4Q%#U=Uu&eyq+)0clD+`%5q+`mRHr7*aZ6>%6=N*
z+$)22REfoyQS!ADQtFhL@|jVO9qf1ql%n`0C%7@I?eU9Qj_#ob3(Qr5v&aF8O=z3a
z2&MuOX1VL#tO!?7*j8t<C^QoaNNRKTu2T3gD$6Qjy*u+9u_@Or&#0P7Jmhd-=8*3$
zxgzA6+sFjm=rr3ZUxE6hU=y`BX12uiW6_GYeAhI$unN!4WsIZbtNhS6Os~tb!x2(@
z^4?{l%k1Av01M@$UGIkZ#3uU%$vO=|E|X3%sQq9YLj!PLtGQqDPT|-|pDC@9m0TTk
z<OcGR*pz>i>FI;A__7K!Z(Gq(BC5Kt$|ef#MSoiBnPk3`kyuoSyjay}7!0ci#v7VR
zQk1<SQUH~wXQWy$cx6?nwQpxBtU7W-CTO~NK!R6bl>AGLO;t508ORGOm3gn}wAGm?
zhLu6$af}%cQwK-?Xf0`&<YcuZ%B(@7y&uf3lEWDjC(R1MwA8ovV;OmO=wHoHlzK|=
zZo$N#u5Z{K7uN=}G!{gOL7)e-2k-Q5bF)%6UEHuZ&^)}@t`h$gkH?a+tXg^xhGgiP
zNp4%DOB03!ZyLmGZC-9Rz?^;KdsT=@_y|;H_2I>`2`Q@ohr?Q$XFx4qmc-Y|WD*I<
zaQ7W0a2i=TtzS`B<rVuYti%zn2a<?t)SblpT_rUgWfpK6fRp*A;iduoM56H28aX_p
SWAiV42dF7)Db*`j$NWE#@Ifp9

diff --git a/assets/images/placeholder.png b/assets/images/placeholder.png
deleted file mode 100644
index 725353a203906d2188d8c31cd4ad86bfd280c252..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1371
zcmeAS@N?(olHy`uVBq!ia0y~yU}^wiMrNRh8FO?3kn^T0B%&lJv0R~`C_gPTCsm=O
zvLIC<wIVZ(fuZ8o+v&MQcNBQq{ug)2F?w=zK2ESpt7?|puYY6rUEfP)bHDkgU+Zb)
zh&=ILd9q4Reti0mrf#oi6Ry}ypQF4kB<NvR=kd>4yO+->+pn+lF|~G6`){VhDiTj)
zHdOV6Bwk<cu>5buHun8tH`Y5`Kcu^0&D`r@e+@lv{M-_}i)m`1Ur}MT&sU4jJ#UNd
ztc>}7!FWxK-RtKcGCbI(?n+Wllyed)f4{tc&FrN~CSO!`{c-uWhlNLLyN|+&%dhVq
zlaObv68dSzoqu)z`FkDbziv7$t^0YYpqjkiggTvn(|#l-?@T{(o?C5uz<bwun}5%F
zT(f(Yk;vI_*P{i&>9)+rnJ1mD(^)K;cl1t~c7|Mbj>Em=ZuY3fPCQ!10gL>ms`c8M
zWqBBWOgMbvPQ<peM|Tu38&29H<!h#S>8Rtnj~oZ4x4hqZ;okN)f2AzT-m!$Mu`KTW
zude$i>!W|vjLo{88oy$-pB!E7GVz$w_Nod-j<emf^BVKt9+H=T#lDoQX;*65o`l}x
zl8*v@1x9bO<o+Y__$O!JhC0>;mmAR&c{n+a^yD`fxh9(_y?DV8GSSle5i^U&RO?Ak
zRGL1YxKa7GH@#<@zIJ+C+8keog_Az!T5^OQ@bV0_pC)4(5^AzCD=e5lYD?Nl&FphG
zKUqCl)u|eMI_+85nq3t|U*9}?cQpH<k_GeDCrL-WHMbV6xUoVhthK)N=>zA!k{1*C
zt^a7a=W5KKHf!6RHI>?H%idio^!ajUZMFVhJ}zeUqaM!ga%MGC0@br}Px%C=&oir?
z7Ww{)-m3Sv<O3FWOXUZhKL74Y0&m)Ofh~Q)v1c55gd2D0GHGPQommv@wdaIx+Qv1;
zzLK7=l7y{vlN@HSZS>o<`M2Y{;5$vfmhbrZ{zPl*yZ8y*4&Ue9X20_5m+f`4ji0q+
zX1N`_&OZN?T*2{<clpP|7a+s`_7i;md~B#sI$ZwAeV)eGgD>J37#LeKot*<bot<In
z9+=wa)K0YZIP4&EG(LK%(p0{+3Xdi%>}qBW6m(zfB&gLAwJ?-@viJT4p3ajVJ<`}A
zCi5p^jnxi|*RLLEaWu&*^!fR9=><LdKgp?Eg1_(g$9MN0zmt8CA2K7Wte1IJn&itA
zrxVY@S|4aPaV(Y>?D0Bt<++O?>-mqR{POYdAK9G#eP{k+|C6(MK5!n{>|?I;i1*P;
zU+?F8{AE&AJr(WL<&0l69qEsm9$WV~rsT$X<Hc@jw*E4zVqLO2<p$c4S|3FUeF9BS
zeNT@Kv&b(D(>A@fOT9i(WBpp4;<?WRCPf?(a^aW|=qxE3(Q$dz#3Uu(-<<sa7d#d}
zsXBQzk6RyW$U>*0KM(3Z?2g`SVEIt3RmkCccWylo^TF5!k=x(CPrjWukD)RBfminL
z)w~JMCV#1l?v`bInET+-uC*tt4?N{F_^`yg?TH8Dtbb07750nsPccr6UQmAa?b@yV
zm)RAZW0&SNG&?6O@woX~?)|%$Z{FTFUi+_(A&<RiY3-xu3c&J+Ilw2xwJAIF#^I;R
zKrUlRkY6x^!?PQ}a)^O3$=lt9p@UV{1IXbl@Q5sCV30lq!i;h&Cx`<D*-JcqUD=<p
z^NR|btC~vJ1BE<1T^vIsB;OunWCZe>7W`XZ=5YYXA`zTpIn}_x_?7d}a*#$(S3j3^
HP6<r_)Pq`@

diff --git a/assets/translations/en.json b/assets/translations/en.json
new file mode 100644
index 0000000..7c98755
--- /dev/null
+++ b/assets/translations/en.json
@@ -0,0 +1,12 @@
+{
+  "app_name": "Jigsaw puzzle",
+
+  "settings_title": "Settings",
+  "settings_label_theme": "Theme mode",
+
+  "about_title": "Informations",
+  "about_content": "Jigsaw puzzle",
+  "about_version": "Version: {version}",
+
+  "": ""
+}
diff --git a/assets/translations/fr.json b/assets/translations/fr.json
new file mode 100644
index 0000000..70581d6
--- /dev/null
+++ b/assets/translations/fr.json
@@ -0,0 +1,12 @@
+{
+  "app_name": "Puzzle",
+
+  "settings_title": "Réglages",
+  "settings_label_theme": "Thème de couleurs",
+
+  "about_title": "Informations",
+  "about_content": "Puzzle.",
+  "about_version": "Version : {version}",
+
+  "": ""
+}
diff --git a/assets/icons/button_back.png b/assets/ui/button_back.png
similarity index 100%
rename from assets/icons/button_back.png
rename to assets/ui/button_back.png
diff --git a/assets/ui/button_delete_saved_game.png b/assets/ui/button_delete_saved_game.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e4f217689b11e444b7163557d7e5d68f3bbfe7d
GIT binary patch
literal 5813
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

literal 0
HcmV?d00001

diff --git a/assets/icons/button_random_pick.png b/assets/ui/button_random_pick.png
similarity index 100%
rename from assets/icons/button_random_pick.png
rename to assets/ui/button_random_pick.png
diff --git a/assets/ui/button_resume_game.png b/assets/ui/button_resume_game.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2ea0a02d05e42377eb551a4b51428b511a32f5d
GIT binary patch
literal 3659
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

literal 0
HcmV?d00001

diff --git a/assets/icons/button_shuffle.png b/assets/ui/button_shuffle.png
similarity index 100%
rename from assets/icons/button_shuffle.png
rename to assets/ui/button_shuffle.png
diff --git a/assets/ui/button_start.png b/assets/ui/button_start.png
new file mode 100644
index 0000000000000000000000000000000000000000..6845e2f5c21598ab61f1684d2075aeec0334bf23
GIT binary patch
literal 3999
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
Lv6WG|0fqi=I{^Hh

literal 0
HcmV?d00001

diff --git a/assets/icons/game_win.png b/assets/ui/game_win.png
similarity index 100%
rename from assets/icons/game_win.png
rename to assets/ui/game_win.png
diff --git a/assets/icons/placeholder.png b/assets/ui/placeholder.png
similarity index 100%
rename from assets/icons/placeholder.png
rename to assets/ui/placeholder.png
diff --git a/assets/icons/tip_hidden.png b/assets/ui/tip_hidden.png
similarity index 100%
rename from assets/icons/tip_hidden.png
rename to assets/ui/tip_hidden.png
diff --git a/fastlane/metadata/android/en-US/changelogs/62.txt b/fastlane/metadata/android/en-US/changelogs/62.txt
new file mode 100644
index 0000000..d4afd51
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/62.txt
@@ -0,0 +1 @@
+Improve/normalize game architecture.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/62.txt b/fastlane/metadata/android/fr-FR/changelogs/62.txt
new file mode 100644
index 0000000..6a9871a
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/62.txt
@@ -0,0 +1 @@
+Amélioration/normalisation de l'architecture du jeu.
diff --git a/icons/difficulty_3x3.svg b/icons/difficulty_3x3.svg
deleted file mode 100644
index 9806d64..0000000
--- a/icons/difficulty_3x3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#009d21"/><g transform="matrix(1.1542 0 0 1.1542 -7.5435 -7.7088)" fill="#f9f9f9" stroke="#005c0c" stroke-width="2" aria-label="3x3"><path d="m19.443 43.965-7.5195-1.3477q0.9375-3.5938 3.5938-5.5078 2.6758-1.9141 7.5586-1.9141 5.6055 0 8.1055 2.0898t2.5 5.2539q0 1.8555-1.0156 3.3594t-3.0664 2.6367q1.6602 0.41016 2.5391 0.95703 1.4258 0.87891 2.207 2.3242 0.80078 1.4258 0.80078 3.418 0 2.5-1.3086 4.8047-1.3086 2.2852-3.7695 3.5352-2.4609 1.2305-6.4648 1.2305-3.9062 0-6.1719-0.91797-2.2461-0.91797-3.7109-2.6758-1.4453-1.7773-2.2266-4.4531l7.9492-1.0547q0.46875 2.4023 1.4453 3.3398 0.99609 0.91797 2.5195 0.91797 1.6016 0 2.6562-1.1719 1.0742-1.1719 1.0742-3.125 0-1.9922-1.0352-3.0859-1.0156-1.0938-2.7734-1.0938-0.9375 0-2.5781 0.46875l0.41016-5.6836q0.66406 0.09766 1.0352 0.09766 1.5625 0 2.5977-0.99609 1.0547-0.99609 1.0547-2.3633 0-1.3086-0.78125-2.0898t-2.1484-0.78125q-1.4062 0-2.2852 0.85938-0.87891 0.83984-1.1914 2.9688z"/><path d="m37.373 43.574h9.4336l3.3008 5.7812 3.8281-5.7812h8.7695l-7.0703 9.8828 7.5781 10.859h-9.2773l-3.8281-6.6797-4.5117 6.6797h-8.6133l7.5391-10.859z"/><path d="m72.803 43.965-7.5195-1.3477q0.9375-3.5938 3.5938-5.5078 2.6758-1.9141 7.5586-1.9141 5.6055 0 8.1055 2.0898t2.5 5.2539q0 1.8555-1.0156 3.3594t-3.0664 2.6367q1.6602 0.41016 2.5391 0.95703 1.4258 0.87891 2.207 2.3242 0.80078 1.4258 0.80078 3.418 0 2.5-1.3086 4.8047-1.3086 2.2852-3.7695 3.5352-2.4609 1.2305-6.4648 1.2305-3.9062 0-6.1719-0.91797-2.2461-0.91797-3.7109-2.6758-1.4453-1.7773-2.2266-4.4531l7.9492-1.0547q0.46875 2.4023 1.4453 3.3398 0.99609 0.91797 2.5195 0.91797 1.6016 0 2.6562-1.1719 1.0742-1.1719 1.0742-3.125 0-1.9922-1.0352-3.0859-1.0156-1.0938-2.7734-1.0938-0.9375 0-2.5781 0.46875l0.41016-5.6836q0.66406 0.09766 1.0352 0.09766 1.5625 0 2.5977-0.99609 1.0547-0.99609 1.0547-2.3633 0-1.3086-0.78125-2.0898t-2.1484-0.78125q-1.4062 0-2.2852 0.85938-0.87891 0.83984-1.1914 2.9688z"/></g></svg>
diff --git a/icons/difficulty_4x4.svg b/icons/difficulty_4x4.svg
deleted file mode 100644
index 9d30392..0000000
--- a/icons/difficulty_4x4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#eeb517"/><g transform="matrix(1.1547 0 0 1.1547 -7.7373 -7.7368)" fill="#fff" stroke="#969400" stroke-width="2" aria-label="4x4"><path d="m25.303 59.209h-14.492v-6.543l14.492-17.227h6.9336v17.598h3.5938v6.1719h-3.5938v5.3516h-6.9336zm0-6.1719v-9.0039l-7.6562 9.0039z"/><path d="m37.275 43.818h9.4336l3.3008 5.7812 3.8281-5.7812h8.7695l-7.0703 9.8828 7.5781 10.859h-9.2773l-3.8281-6.6797-4.5117 6.6797h-8.6133l7.5391-10.859z"/><path d="m78.662 59.209h-14.492v-6.543l14.492-17.227h6.9336v17.598h3.5938v6.1719h-3.5938v5.3516h-6.9336zm0-6.1719v-9.0039l-7.6562 9.0039z"/></g></svg>
diff --git a/icons/difficulty_5x5.svg b/icons/difficulty_5x5.svg
deleted file mode 100644
index 9359501..0000000
--- a/icons/difficulty_5x5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 100 100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" ry="2" fill="#d31158"/><g transform="matrix(1.1387 0 0 1.1387 -6.7678 -6.9338)" fill="#fff" stroke="#700934" stroke-width="2" aria-label="5x5"><path d="m14.971 35.439h18.887v6.3477h-12.793l-0.68359 4.2969q1.3281-0.625 2.6172-0.9375 1.3086-0.3125 2.5781-0.3125 4.2969 0 6.9727 2.5977t2.6758 6.543q0 2.7734-1.3867 5.332-1.3672 2.5586-3.9062 3.9062-2.5195 1.3477-6.4648 1.3477-2.832 0-4.8633-0.52734-2.0117-0.54688-3.4375-1.6016-1.4062-1.0742-2.2852-2.4219-0.87891-1.3477-1.4648-3.3594l8.0469-0.87891q0.29297 1.9336 1.3672 2.9492 1.0742 0.99609 2.5586 0.99609 1.6602 0 2.7344-1.25 1.0938-1.2695 1.0938-3.7695 0-2.5586-1.0938-3.75t-2.9102-1.1914q-1.1523 0-2.2266 0.56641-0.80078 0.41016-1.7578 1.4844l-6.7773-0.97656z"/><path d="m37.393 43.33h9.4336l3.3008 5.7812 3.8281-5.7812h8.7695l-7.0703 9.8828 7.5781 10.859h-9.2773l-3.8281-6.6797-4.5117 6.6797h-8.6133l7.5391-10.859z"/><path d="m68.33 35.439h18.887v6.3477h-12.793l-0.68359 4.2969q1.3281-0.625 2.6172-0.9375 1.3086-0.3125 2.5781-0.3125 4.2969 0 6.9727 2.5977t2.6758 6.543q0 2.7734-1.3867 5.332-1.3672 2.5586-3.9062 3.9062-2.5195 1.3477-6.4648 1.3477-2.832 0-4.8633-0.52734-2.0117-0.54688-3.4375-1.6016-1.4062-1.0742-2.2852-2.4219-0.87891-1.3477-1.4648-3.3594l8.0469-0.87891q0.29297 1.9336 1.3672 2.9492 1.0742 0.99609 2.5586 0.99609 1.6602 0 2.7344-1.25 1.0938-1.2695 1.0938-3.7695 0-2.5586-1.0938-3.75t-2.9102-1.1914q-1.1523 0-2.2266 0.56641-0.80078 0.41016-1.7578 1.4844l-6.7773-0.97656z"/></g></svg>
diff --git a/lib/config/default_game_settings.dart b/lib/config/default_game_settings.dart
new file mode 100644
index 0000000..b18afd1
--- /dev/null
+++ b/lib/config/default_game_settings.dart
@@ -0,0 +1,49 @@
+import 'package:puzzlegame/utils/tools.dart';
+
+class DefaultGameSettings {
+  // available game parameters codes
+  static const String parameterCodeTilesetSize = 'tilesetSize';
+  static const String parameterCodeImageName = 'imageName';
+  static const List<String> availableParameters = [
+    parameterCodeTilesetSize,
+    parameterCodeImageName,
+  ];
+
+  // tileset size: available values
+  static const String tilesetSizeValueSmall = '3x3';
+  static const String tilesetSizeValueMedium = '4x4';
+  static const String tilesetSizeValueLarge = '5x5';
+  static const List<String> allowedTilesetSizeValues = [
+    tilesetSizeValueSmall,
+    tilesetSizeValueMedium,
+    tilesetSizeValueLarge,
+  ];
+  // tileset size: default value
+  static const String defaultTilesetSizeValue = tilesetSizeValueMedium;
+
+  // image name: available values
+  static const String imageNameRandomlyPicked = 'random';
+  static const List<String> allowedImageNameS = [
+    imageNameRandomlyPicked,
+  ];
+  // image name: default value
+  static const String defaultImageName = imageNameRandomlyPicked;
+
+  // available values from parameter code
+  static List<String> getAvailableValues(String parameterCode) {
+    switch (parameterCode) {
+      case parameterCodeTilesetSize:
+        return DefaultGameSettings.allowedTilesetSizeValues;
+      case parameterCodeImageName:
+        return DefaultGameSettings.allowedImageNameS;
+    }
+
+    printlog('Did not find any available value for game parameter "$parameterCode".');
+    return [];
+  }
+
+  // parameters displayed with assets (instead of painter)
+  static List<String> displayedWithAssets = [
+    //
+  ];
+}
diff --git a/lib/config/default_global_settings.dart b/lib/config/default_global_settings.dart
new file mode 100644
index 0000000..dac4541
--- /dev/null
+++ b/lib/config/default_global_settings.dart
@@ -0,0 +1,33 @@
+import 'package:puzzlegame/utils/tools.dart';
+
+class DefaultGlobalSettings {
+  // available global parameters codes
+  static const String parameterCodeSkin = 'skin';
+  static const List<String> availableParameters = [
+    parameterCodeSkin,
+  ];
+
+  // skin: available values
+  static const String skinValueDefault = 'default';
+  static const List<String> allowedSkinValues = [
+    skinValueDefault,
+  ];
+  // skin: default value
+  static const String defaultSkinValue = skinValueDefault;
+
+  // available values from parameter code
+  static List<String> getAvailableValues(String parameterCode) {
+    switch (parameterCode) {
+      case parameterCodeSkin:
+        return DefaultGlobalSettings.allowedSkinValues;
+    }
+
+    printlog('Did not find any available value for global parameter "$parameterCode".');
+    return [];
+  }
+
+  // parameters displayed with assets (instead of painter)
+  static List<String> displayedWithAssets = [
+    //
+  ];
+}
diff --git a/lib/config/menu.dart b/lib/config/menu.dart
new file mode 100644
index 0000000..b68e1de
--- /dev/null
+++ b/lib/config/menu.dart
@@ -0,0 +1,52 @@
+import 'package:flutter/material.dart';
+import 'package:unicons/unicons.dart';
+
+import 'package:puzzlegame/ui/screens/page_about.dart';
+import 'package:puzzlegame/ui/screens/page_game.dart';
+import 'package:puzzlegame/ui/screens/page_settings.dart';
+
+class MenuItem {
+  final Icon icon;
+  final Widget page;
+
+  const MenuItem({
+    required this.icon,
+    required this.page,
+  });
+}
+
+class Menu {
+  static const indexGame = 0;
+  static const menuItemGame = MenuItem(
+    icon: Icon(UniconsLine.home),
+    page: PageGame(),
+  );
+
+  static const indexSettings = 1;
+  static const menuItemSettings = MenuItem(
+    icon: Icon(UniconsLine.setting),
+    page: PageSettings(),
+  );
+
+  static const indexAbout = 2;
+  static const menuItemAbout = MenuItem(
+    icon: Icon(UniconsLine.info_circle),
+    page: PageAbout(),
+  );
+
+  static Map<int, MenuItem> items = {
+    indexGame: menuItemGame,
+    indexSettings: menuItemSettings,
+    indexAbout: menuItemAbout,
+  };
+
+  static bool isIndexAllowed(int pageIndex) {
+    return items.keys.contains(pageIndex);
+  }
+
+  static Widget getPageWidget(int pageIndex) {
+    return items[pageIndex]?.page ?? menuItemGame.page;
+  }
+
+  static int itemsCount = Menu.items.length;
+}
diff --git a/lib/config/theme.dart b/lib/config/theme.dart
new file mode 100644
index 0000000..74f532f
--- /dev/null
+++ b/lib/config/theme.dart
@@ -0,0 +1,190 @@
+import 'package:flutter/material.dart';
+
+/// Colors from Tailwind CSS (v3.0) - June 2022
+///
+/// https://tailwindcss.com/docs/customizing-colors
+
+const int _primaryColor = 0xFF6366F1;
+const MaterialColor primarySwatch = MaterialColor(_primaryColor, <int, Color>{
+  50: Color(0xFFEEF2FF), // indigo-50
+  100: Color(0xFFE0E7FF), // indigo-100
+  200: Color(0xFFC7D2FE), // indigo-200
+  300: Color(0xFFA5B4FC), // indigo-300
+  400: Color(0xFF818CF8), // indigo-400
+  500: Color(_primaryColor), // indigo-500
+  600: Color(0xFF4F46E5), // indigo-600
+  700: Color(0xFF4338CA), // indigo-700
+  800: Color(0xFF3730A3), // indigo-800
+  900: Color(0xFF312E81), // indigo-900
+});
+
+const int _textColor = 0xFF64748B;
+const MaterialColor textSwatch = MaterialColor(_textColor, <int, Color>{
+  50: Color(0xFFF8FAFC), // slate-50
+  100: Color(0xFFF1F5F9), // slate-100
+  200: Color(0xFFE2E8F0), // slate-200
+  300: Color(0xFFCBD5E1), // slate-300
+  400: Color(0xFF94A3B8), // slate-400
+  500: Color(_textColor), // slate-500
+  600: Color(0xFF475569), // slate-600
+  700: Color(0xFF334155), // slate-700
+  800: Color(0xFF1E293B), // slate-800
+  900: Color(0xFF0F172A), // slate-900
+});
+
+const Color errorColor = Color(0xFFDC2626); // red-600
+
+final ColorScheme lightColorScheme = ColorScheme.light(
+  primary: primarySwatch.shade500,
+  secondary: primarySwatch.shade500,
+  onSecondary: Colors.white,
+  error: errorColor,
+  onSurface: textSwatch.shade500,
+  surface: textSwatch.shade50,
+  surfaceContainerHighest: Colors.white,
+  shadow: textSwatch.shade900.withOpacity(.1),
+);
+
+final ColorScheme darkColorScheme = ColorScheme.dark(
+  primary: primarySwatch.shade500,
+  secondary: primarySwatch.shade500,
+  onSecondary: Colors.white,
+  error: errorColor,
+  onSurface: textSwatch.shade300,
+  surface: const Color(0xFF262630),
+  surfaceContainerHighest: const Color(0xFF282832),
+  shadow: textSwatch.shade900.withOpacity(.2),
+);
+
+final ThemeData lightTheme = ThemeData(
+  colorScheme: lightColorScheme,
+  fontFamily: 'Nunito',
+  textTheme: TextTheme(
+    displayLarge: TextStyle(
+      color: textSwatch.shade700,
+      fontFamily: 'Nunito',
+    ),
+    displayMedium: TextStyle(
+      color: textSwatch.shade600,
+      fontFamily: 'Nunito',
+    ),
+    displaySmall: TextStyle(
+      color: textSwatch.shade500,
+      fontFamily: 'Nunito',
+    ),
+    headlineLarge: TextStyle(
+      color: textSwatch.shade700,
+      fontFamily: 'Nunito',
+    ),
+    headlineMedium: TextStyle(
+      color: textSwatch.shade600,
+      fontFamily: 'Nunito',
+    ),
+    headlineSmall: TextStyle(
+      color: textSwatch.shade500,
+      fontFamily: 'Nunito',
+    ),
+    titleLarge: TextStyle(
+      color: textSwatch.shade700,
+      fontFamily: 'Nunito',
+    ),
+    titleMedium: TextStyle(
+      color: textSwatch.shade600,
+      fontFamily: 'Nunito',
+    ),
+    titleSmall: TextStyle(
+      color: textSwatch.shade500,
+      fontFamily: 'Nunito',
+    ),
+    bodyLarge: TextStyle(
+      color: textSwatch.shade700,
+      fontFamily: 'Nunito',
+    ),
+    bodyMedium: TextStyle(
+      color: textSwatch.shade600,
+      fontFamily: 'Nunito',
+    ),
+    bodySmall: TextStyle(
+      color: textSwatch.shade500,
+      fontFamily: 'Nunito',
+    ),
+    labelLarge: TextStyle(
+      color: textSwatch.shade700,
+      fontFamily: 'Nunito',
+    ),
+    labelMedium: TextStyle(
+      color: textSwatch.shade600,
+      fontFamily: 'Nunito',
+    ),
+    labelSmall: TextStyle(
+      color: textSwatch.shade500,
+      fontFamily: 'Nunito',
+    ),
+  ),
+);
+
+final ThemeData darkTheme = lightTheme.copyWith(
+  colorScheme: darkColorScheme,
+  textTheme: TextTheme(
+    displayLarge: TextStyle(
+      color: textSwatch.shade200,
+      fontFamily: 'Nunito',
+    ),
+    displayMedium: TextStyle(
+      color: textSwatch.shade300,
+      fontFamily: 'Nunito',
+    ),
+    displaySmall: TextStyle(
+      color: textSwatch.shade400,
+      fontFamily: 'Nunito',
+    ),
+    headlineLarge: TextStyle(
+      color: textSwatch.shade200,
+      fontFamily: 'Nunito',
+    ),
+    headlineMedium: TextStyle(
+      color: textSwatch.shade300,
+      fontFamily: 'Nunito',
+    ),
+    headlineSmall: TextStyle(
+      color: textSwatch.shade400,
+      fontFamily: 'Nunito',
+    ),
+    titleLarge: TextStyle(
+      color: textSwatch.shade200,
+      fontFamily: 'Nunito',
+    ),
+    titleMedium: TextStyle(
+      color: textSwatch.shade300,
+      fontFamily: 'Nunito',
+    ),
+    titleSmall: TextStyle(
+      color: textSwatch.shade400,
+      fontFamily: 'Nunito',
+    ),
+    bodyLarge: TextStyle(
+      color: textSwatch.shade200,
+      fontFamily: 'Nunito',
+    ),
+    bodyMedium: TextStyle(
+      color: textSwatch.shade300,
+      fontFamily: 'Nunito',
+    ),
+    bodySmall: TextStyle(
+      color: textSwatch.shade400,
+      fontFamily: 'Nunito',
+    ),
+    labelLarge: TextStyle(
+      color: textSwatch.shade200,
+      fontFamily: 'Nunito',
+    ),
+    labelMedium: TextStyle(
+      color: textSwatch.shade300,
+      fontFamily: 'Nunito',
+    ),
+    labelSmall: TextStyle(
+      color: textSwatch.shade400,
+      fontFamily: 'Nunito',
+    ),
+  ),
+);
diff --git a/lib/cubit/game_cubit.dart b/lib/cubit/game_cubit.dart
new file mode 100644
index 0000000..41f8b27
--- /dev/null
+++ b/lib/cubit/game_cubit.dart
@@ -0,0 +1,244 @@
+import 'dart:async';
+import 'dart:math';
+import 'dart:typed_data';
+
+import 'package:equatable/equatable.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart' show rootBundle;
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+import 'package:image/image.dart' as imglib;
+
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/models/game/moving_tile.dart';
+import 'package:puzzlegame/models/settings/settings_game.dart';
+import 'package:puzzlegame/models/settings/settings_global.dart';
+
+part 'game_state.dart';
+
+class GameCubit extends HydratedCubit<GameState> {
+  GameCubit()
+      : super(GameState(
+          currentGame: Game.createEmpty(),
+        ));
+
+  void updateState(Game game) {
+    emit(GameState(
+      currentGame: game,
+    ));
+  }
+
+  void refresh() {
+    final Game game = Game(
+      // Settings
+      gameSettings: state.currentGame.gameSettings,
+      globalSettings: state.currentGame.globalSettings,
+      // State
+      isRunning: state.currentGame.isRunning,
+      isStarted: state.currentGame.isStarted,
+      isFinished: state.currentGame.isFinished,
+      animationInProgress: state.currentGame.animationInProgress,
+      shufflingInProgress: state.currentGame.shufflingInProgress,
+      // Base data
+      image: state.currentGame.image,
+      tiles: state.currentGame.tiles,
+      // Game data
+      movesCount: state.currentGame.movesCount,
+      displayTip: state.currentGame.displayTip,
+      tileSize: state.currentGame.tileSize,
+    );
+    // game.dump();
+
+    updateState(game);
+  }
+
+  void startNewGame({
+    required GameSettings gameSettings,
+    required GlobalSettings globalSettings,
+  }) {
+    final Game newGame = Game.createNew(
+      // Settings
+      gameSettings: gameSettings,
+      globalSettings: globalSettings,
+    );
+
+    newGame.dump();
+
+    updateState(newGame);
+    refresh();
+
+    state.currentGame.isRunning = true;
+    state.currentGame.shufflingInProgress = true;
+    refresh();
+
+    Timer(const Duration(seconds: 1), () {
+      splitImageInTiles();
+    });
+  }
+
+  void quitGame() {
+    state.currentGame.isRunning = false;
+    refresh();
+  }
+
+  void resumeSavedGame() {
+    state.currentGame.isRunning = true;
+    refresh();
+  }
+
+  void deleteSavedGame() {
+    state.currentGame.isRunning = false;
+    state.currentGame.isFinished = true;
+    refresh();
+  }
+
+  void updateTileSize(double tileSize) {
+    if (tileSize != state.currentGame.tileSize) {
+      state.currentGame.tileSize = tileSize;
+      for (var i = 0; i < state.currentGame.tiles.length; i++) {
+        state.currentGame.tiles[i].size = tileSize;
+      }
+      refresh();
+    }
+  }
+
+  void toggleDisplayTipImage() {
+    state.currentGame.displayTip = !state.currentGame.displayTip;
+    refresh();
+  }
+
+  void incrementMovesCount() {
+    state.currentGame.movesCount++;
+    refresh();
+  }
+
+  bool checkTilesetIsCleared() {
+    for (MovingTile tile in state.currentGame.tiles) {
+      if (!tile.isCorrect()) {
+        return false;
+      }
+    }
+    return true;
+  }
+
+  void swapTiles(List<int> tile1, List<int> tile2) {
+    state.currentGame.isStarted = true;
+
+    final int indexTile1 = state.currentGame.tiles.indexWhere(
+        (tile) => ((tile.currentCol == tile1[0]) && (tile.currentRow == tile1[1])));
+    final int indexTile2 = state.currentGame.tiles.indexWhere(
+        (tile) => ((tile.currentCol == tile2[0]) && (tile.currentRow == tile2[1])));
+
+    final MovingTile swap = state.currentGame.tiles[indexTile1];
+    state.currentGame.tiles[indexTile1] = state.currentGame.tiles[indexTile2];
+    state.currentGame.tiles[indexTile2] = swap;
+
+    final int swapCol = state.currentGame.tiles[indexTile1].currentCol;
+    state.currentGame.tiles[indexTile1].currentCol =
+        state.currentGame.tiles[indexTile2].currentCol;
+    state.currentGame.tiles[indexTile2].currentCol = swapCol;
+
+    final int swapRow = state.currentGame.tiles[indexTile1].currentRow;
+    state.currentGame.tiles[indexTile1].currentRow =
+        state.currentGame.tiles[indexTile2].currentRow;
+    state.currentGame.tiles[indexTile2].currentRow = swapRow;
+
+    incrementMovesCount();
+    if (checkTilesetIsCleared()) {
+      state.currentGame.isFinished = true;
+    }
+
+    refresh();
+  }
+
+  Future<void> splitImageInTiles() async {
+    final String imageAsset = 'assets/images/${state.currentGame.image}.png';
+    final Uint8List imageData = (await rootBundle.load(imageAsset)).buffer.asUint8List();
+
+    final int tilesCount = state.currentGame.gameSettings.tilesetSizeValue;
+
+    final imglib.Image image = imglib.decodeImage(imageData) ??
+        imglib.Image.fromBytes(
+          height: 1,
+          width: 1,
+          bytes: Uint8List.fromList([]).buffer,
+        );
+
+    int x = 0, y = 0;
+    final int width = (image.width / tilesCount).round();
+    final int height = (image.height / tilesCount).round();
+
+    final List<MovingTile> tiles = [];
+    for (int i = 0; i < tilesCount; i++) {
+      for (int j = 0; j < tilesCount; j++) {
+        final Uint8List tileData = Uint8List.fromList(imglib.encodeJpg(imglib.copyCrop(
+          image,
+          x: x,
+          y: y,
+          width: width,
+          height: height,
+        )));
+
+        tiles.add(MovingTile(
+          currentCol: j,
+          currentRow: i,
+          image: Image.memory(tileData),
+          size: state.currentGame.tileSize,
+          originalCol: j,
+          originalRow: i,
+        ));
+
+        x += width;
+      }
+      x = 0;
+      y += height;
+    }
+
+    state.currentGame.tiles = tiles;
+    shuffleTiles();
+
+    state.currentGame.shufflingInProgress = false;
+    refresh();
+  }
+
+  void shuffleTiles() {
+    final Random random = Random();
+
+    final List<MovingTile> tiles = state.currentGame.tiles;
+    final int tilesCount = tiles.length;
+
+    for (int i = 0; i < (10 * tilesCount); i++) {
+      final int indexTile1 = random.nextInt(tilesCount);
+      final int indexTile2 = random.nextInt(tilesCount);
+
+      final MovingTile swap = tiles[indexTile1];
+      tiles[indexTile1] = tiles[indexTile2];
+      tiles[indexTile2] = swap;
+
+      final int swapCol = tiles[indexTile1].currentCol;
+      tiles[indexTile1].currentCol = tiles[indexTile2].currentCol;
+      tiles[indexTile2].currentCol = swapCol;
+
+      final int swapRow = tiles[indexTile1].currentRow;
+      tiles[indexTile1].currentRow = tiles[indexTile2].currentRow;
+      tiles[indexTile2].currentRow = swapRow;
+    }
+
+    state.currentGame.tiles = tiles;
+  }
+
+  @override
+  GameState? fromJson(Map<String, dynamic> json) {
+    final Game currentGame = json['currentGame'] as Game;
+
+    return GameState(
+      currentGame: currentGame,
+    );
+  }
+
+  @override
+  Map<String, dynamic>? toJson(GameState state) {
+    return <String, dynamic>{
+      'currentGame': state.currentGame.toJson(),
+    };
+  }
+}
diff --git a/lib/cubit/game_state.dart b/lib/cubit/game_state.dart
new file mode 100644
index 0000000..00e2116
--- /dev/null
+++ b/lib/cubit/game_state.dart
@@ -0,0 +1,15 @@
+part of 'game_cubit.dart';
+
+@immutable
+class GameState extends Equatable {
+  const GameState({
+    required this.currentGame,
+  });
+
+  final Game currentGame;
+
+  @override
+  List<dynamic> get props => <dynamic>[
+        currentGame,
+      ];
+}
diff --git a/lib/cubit/nav_cubit.dart b/lib/cubit/nav_cubit.dart
new file mode 100644
index 0000000..6f2839c
--- /dev/null
+++ b/lib/cubit/nav_cubit.dart
@@ -0,0 +1,37 @@
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+
+import 'package:puzzlegame/config/menu.dart';
+
+class NavCubit extends HydratedCubit<int> {
+  NavCubit() : super(0);
+
+  void updateIndex(int index) {
+    if (Menu.isIndexAllowed(index)) {
+      emit(index);
+    } else {
+      goToGamePage();
+    }
+  }
+
+  void goToGamePage() {
+    emit(Menu.indexGame);
+  }
+
+  void goToSettingsPage() {
+    emit(Menu.indexSettings);
+  }
+
+  void goToAboutPage() {
+    emit(Menu.indexAbout);
+  }
+
+  @override
+  int fromJson(Map<String, dynamic> json) {
+    return Menu.indexGame;
+  }
+
+  @override
+  Map<String, dynamic>? toJson(int state) {
+    return <String, int>{'pageIndex': state};
+  }
+}
diff --git a/lib/cubit/settings_game_cubit.dart b/lib/cubit/settings_game_cubit.dart
new file mode 100644
index 0000000..0cc90f3
--- /dev/null
+++ b/lib/cubit/settings_game_cubit.dart
@@ -0,0 +1,72 @@
+import 'package:equatable/equatable.dart';
+import 'package:flutter/material.dart';
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+
+import 'package:puzzlegame/config/default_game_settings.dart';
+import 'package:puzzlegame/models/settings/settings_game.dart';
+
+part 'settings_game_state.dart';
+
+class GameSettingsCubit extends HydratedCubit<GameSettingsState> {
+  GameSettingsCubit() : super(GameSettingsState(settings: GameSettings.createDefault()));
+
+  void setValues({
+    String? tilesetSize,
+    String? imageName,
+  }) {
+    emit(
+      GameSettingsState(
+        settings: GameSettings(
+          tilesetSize: tilesetSize ?? state.settings.tilesetSize,
+          imageName: imageName ?? state.settings.imageName,
+        ),
+      ),
+    );
+  }
+
+  String getParameterValue(String code) {
+    switch (code) {
+      case DefaultGameSettings.parameterCodeTilesetSize:
+        return GameSettings.getTilesetSizeValueFromUnsafe(state.settings.tilesetSize);
+      case DefaultGameSettings.parameterCodeImageName:
+        return GameSettings.getImageNameFromUnsafe(state.settings.imageName);
+    }
+
+    return '';
+  }
+
+  void setParameterValue(String code, String value) {
+    final String tilesetSize = code == DefaultGameSettings.parameterCodeTilesetSize
+        ? value
+        : getParameterValue(DefaultGameSettings.parameterCodeTilesetSize);
+    final String imageName = code == DefaultGameSettings.parameterCodeImageName
+        ? value
+        : getParameterValue(DefaultGameSettings.parameterCodeImageName);
+
+    setValues(
+      tilesetSize: tilesetSize,
+      imageName: imageName,
+    );
+  }
+
+  @override
+  GameSettingsState? fromJson(Map<String, dynamic> json) {
+    final String tilesetSize = json[DefaultGameSettings.parameterCodeTilesetSize] as String;
+    final String imageName = json[DefaultGameSettings.parameterCodeImageName] as String;
+
+    return GameSettingsState(
+      settings: GameSettings(
+        tilesetSize: tilesetSize,
+        imageName: imageName,
+      ),
+    );
+  }
+
+  @override
+  Map<String, dynamic>? toJson(GameSettingsState state) {
+    return <String, dynamic>{
+      DefaultGameSettings.parameterCodeTilesetSize: state.settings.tilesetSize,
+      DefaultGameSettings.parameterCodeImageName: state.settings.imageName,
+    };
+  }
+}
diff --git a/lib/cubit/settings_game_state.dart b/lib/cubit/settings_game_state.dart
new file mode 100644
index 0000000..5acd85b
--- /dev/null
+++ b/lib/cubit/settings_game_state.dart
@@ -0,0 +1,15 @@
+part of 'settings_game_cubit.dart';
+
+@immutable
+class GameSettingsState extends Equatable {
+  const GameSettingsState({
+    required this.settings,
+  });
+
+  final GameSettings settings;
+
+  @override
+  List<dynamic> get props => <dynamic>[
+        settings,
+      ];
+}
diff --git a/lib/cubit/settings_global_cubit.dart b/lib/cubit/settings_global_cubit.dart
new file mode 100644
index 0000000..aab5e8a
--- /dev/null
+++ b/lib/cubit/settings_global_cubit.dart
@@ -0,0 +1,60 @@
+import 'package:equatable/equatable.dart';
+import 'package:flutter/material.dart';
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+
+import 'package:puzzlegame/config/default_global_settings.dart';
+import 'package:puzzlegame/models/settings/settings_global.dart';
+
+part 'settings_global_state.dart';
+
+class GlobalSettingsCubit extends HydratedCubit<GlobalSettingsState> {
+  GlobalSettingsCubit() : super(GlobalSettingsState(settings: GlobalSettings.createDefault()));
+
+  void setValues({
+    String? skin,
+  }) {
+    emit(
+      GlobalSettingsState(
+        settings: GlobalSettings(
+          skin: skin ?? state.settings.skin,
+        ),
+      ),
+    );
+  }
+
+  String getParameterValue(String code) {
+    switch (code) {
+      case DefaultGlobalSettings.parameterCodeSkin:
+        return GlobalSettings.getSkinValueFromUnsafe(state.settings.skin);
+    }
+    return '';
+  }
+
+  void setParameterValue(String code, String value) {
+    final String skin = (code == DefaultGlobalSettings.parameterCodeSkin)
+        ? value
+        : getParameterValue(DefaultGlobalSettings.parameterCodeSkin);
+
+    setValues(
+      skin: skin,
+    );
+  }
+
+  @override
+  GlobalSettingsState? fromJson(Map<String, dynamic> json) {
+    final String skin = json[DefaultGlobalSettings.parameterCodeSkin] as String;
+
+    return GlobalSettingsState(
+      settings: GlobalSettings(
+        skin: skin,
+      ),
+    );
+  }
+
+  @override
+  Map<String, dynamic>? toJson(GlobalSettingsState state) {
+    return <String, dynamic>{
+      DefaultGlobalSettings.parameterCodeSkin: state.settings.skin,
+    };
+  }
+}
diff --git a/lib/cubit/settings_global_state.dart b/lib/cubit/settings_global_state.dart
new file mode 100644
index 0000000..ebcddd7
--- /dev/null
+++ b/lib/cubit/settings_global_state.dart
@@ -0,0 +1,15 @@
+part of 'settings_global_cubit.dart';
+
+@immutable
+class GlobalSettingsState extends Equatable {
+  const GlobalSettingsState({
+    required this.settings,
+  });
+
+  final GlobalSettings settings;
+
+  @override
+  List<dynamic> get props => <dynamic>[
+        settings,
+      ];
+}
diff --git a/lib/cubit/theme_cubit.dart b/lib/cubit/theme_cubit.dart
new file mode 100644
index 0000000..b793e89
--- /dev/null
+++ b/lib/cubit/theme_cubit.dart
@@ -0,0 +1,31 @@
+import 'package:equatable/equatable.dart';
+import 'package:flutter/material.dart';
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+
+part 'theme_state.dart';
+
+class ThemeCubit extends HydratedCubit<ThemeModeState> {
+  ThemeCubit() : super(const ThemeModeState());
+
+  void getTheme(ThemeModeState state) {
+    emit(state);
+  }
+
+  @override
+  ThemeModeState? fromJson(Map<String, dynamic> json) {
+    switch (json['themeMode']) {
+      case 'ThemeMode.dark':
+        return const ThemeModeState(themeMode: ThemeMode.dark);
+      case 'ThemeMode.light':
+        return const ThemeModeState(themeMode: ThemeMode.light);
+      case 'ThemeMode.system':
+      default:
+        return const ThemeModeState(themeMode: ThemeMode.system);
+    }
+  }
+
+  @override
+  Map<String, String>? toJson(ThemeModeState state) {
+    return <String, String>{'themeMode': state.themeMode.toString()};
+  }
+}
diff --git a/lib/cubit/theme_state.dart b/lib/cubit/theme_state.dart
new file mode 100644
index 0000000..e479a50
--- /dev/null
+++ b/lib/cubit/theme_state.dart
@@ -0,0 +1,15 @@
+part of 'theme_cubit.dart';
+
+@immutable
+class ThemeModeState extends Equatable {
+  const ThemeModeState({
+    this.themeMode,
+  });
+
+  final ThemeMode? themeMode;
+
+  @override
+  List<Object?> get props => <Object?>[
+        themeMode,
+      ];
+}
diff --git a/lib/data/fetch_data_helper.dart b/lib/data/fetch_data_helper.dart
new file mode 100644
index 0000000..33c50c0
--- /dev/null
+++ b/lib/data/fetch_data_helper.dart
@@ -0,0 +1,39 @@
+import 'package:puzzlegame/data/game_data.dart';
+import 'package:puzzlegame/utils/tools.dart';
+
+class FetchDataHelper {
+  FetchDataHelper();
+
+  final List<String> _images = [];
+  List<String> get images => _images;
+
+  void init() {
+    try {
+      final List<String> rawImages = GameData.data['images'] as List<String>;
+      for (var imageCode in rawImages) {
+        _images.add(imageCode.toString());
+      }
+    } catch (e) {
+      printlog("$e");
+    }
+  }
+
+  List<String> getRandomItems(int count) {
+    if (_images.isEmpty) {
+      init();
+    }
+
+    List<String> shuffleableList = [];
+    for (var i = 0; i < _images.length; i++) {
+      shuffleableList.add(_images[i]);
+    }
+
+    shuffleableList.shuffle();
+
+    return shuffleableList.sublist(0, count);
+  }
+
+  String getRandomItem() {
+    return getRandomItems(1).first;
+  }
+}
diff --git a/lib/data/game_data.dart b/lib/data/game_data.dart
new file mode 100644
index 0000000..d697948
--- /dev/null
+++ b/lib/data/game_data.dart
@@ -0,0 +1,104 @@
+class GameData {
+  static const Map<String, dynamic> data = {
+    "images": [
+      "00_default_08b2107e3c30da02a6c18613a1e90857",
+      "00_default_3bcda1b5fb7adcdac1824dde11060462",
+      "00_default_3c245519d89fefd792d05b72631ef8af",
+      "00_default_494b2e821e8e7130088ec2929bf49be8",
+      "animals_0824b924323459fb8e8a90054443c77b",
+      "animals_0a86f77291858c10ca6dcc631ba14f96",
+      "animals_36c401aebe4293803710b05a08d6a248",
+      "animals_5cb4af89a40d60e8839a43e915d15a2f",
+      "animals_60f53fdf0217001c7a89f48f243f2aa9",
+      "animals_677d788f482bffdd7f79c525aae93832",
+      "animals_76baeb891edc3f20814fcda6de541c8b",
+      "animals_815079fbba4a96c699b25fca11cf303e",
+      "animals_83f2c647801c57722f5582687a95071b",
+      "animals_8786f3eced6b176537608b50398b464d",
+      "animals_88c3071723a3d93b9d581313e2b25c65",
+      "animals_8cb1144c6afa8ccd37871a1c237e7c3a",
+      "animals_9b0b293a1f2393d46e2d8f7ca841e652",
+      "animals_9bd7055c69b6471477bc67e508a0ec7a",
+      "animals_a42fb9cddd68b019a1e6216f01d94742",
+      "animals_d3f924d97c3d6bb735a27c0e4edfcd7c",
+      "animals_e937f221caaa87337c1dc98002e13c56",
+      "animals_f05f46e9ea9f18d47fbd7733a608536b",
+      "animals_fc0a31d2c32467fdda711ffd521e79d9",
+      "anime_aa293fb70ed59c7b610f0e6e218a0917",
+      "anime_f48648cbbff8370f18bdc592d98bb563",
+      "dinosaurs_61c5d5727722d957ffa39b7cc5519bf6",
+      "dinosaurs_d2fafe9651b48459a72aa15cfeac3b61",
+      "ghibli_2c6fd10faee15c612ebfe71628069d36",
+      "ghibli_914deb9acd1f1ab2a50ec9f7924eb799",
+      "ghibli_b2c74d93a2c32f2ccbda73c4bee03b00",
+      "ghibli_f2798b83ce4d01142bdcd5d8803f5412",
+      "harrypotter_439fe7c78ebbf945de2eb18f2f78f7a8",
+      "harrypotter_d3664e7e2920eb8cee5b69982f710644",
+      "nature_38a414b6051a9b528fedc47878663c03",
+      "nature_98574287a17f734d52dc64dfc0f45fc8",
+      "nature_c0e131e9a2a813c337965ddfb413baf8",
+      "personal_0694cfbc9bb292f9da8c7c65d793a378",
+      "personal_0a0b014b37ddb90d9af1fcdedccef37d",
+      "personal_0d973affb8ffe7d0abe9ddd89957f580",
+      "personal_0ea16afc573d649222e512306872106f",
+      "personal_12381e1ed7bed4ec56c5d871a8b21a5d",
+      "personal_183bcd7c31fdece731a373ed375fd227",
+      "personal_1b98afe55b410ed03ea8b3f18fa5cc27",
+      "personal_22169df124ce293fbd519eb6d987a9b7",
+      "personal_259dd16880502cbc8fbbff87cee60a24",
+      "personal_29244801ee5399bc5a445f9c9f1e5487",
+      "personal_2f9d874fbd41462a6c115022e088f12e",
+      "personal_31320d5c42d2b0e81a3aa365af7bbd9d",
+      "personal_3b2274b4265177568057601aef1a4e87",
+      "personal_3cdb7de70fb4052ac849a6a5fa990eee",
+      "personal_3debd2d0b3b968d5a895d776bc8d7e03",
+      "personal_43f57a142340066e3137434a43b6cbbb",
+      "personal_4936d509c25ceaf585c94067f4f9061b",
+      "personal_4afcce1786d0265f45ca083b07bd407b",
+      "personal_4ee0e7589f440418d41e7e8283c6bcef",
+      "personal_4fe95f154947c4efdf9a35045b47e137",
+      "personal_548f73139e968e67d9737393e9cba794",
+      "personal_58e4fa6bdbfea985511936074d40a5e1",
+      "personal_5a2ec8b6ee98b400ae87207fcace71e3",
+      "personal_5b6e5f629039ff65178bac0b9d979185",
+      "personal_626e4843a78dbcc43e49bce849bc82cc",
+      "personal_642d854a9d4252d78faeb392b09ff04d",
+      "personal_6761903f2186e75e74fcbde92a4c6865",
+      "personal_67def669a778cd84299235188df223f9",
+      "personal_6baedd08c35004321ac26effade8221e",
+      "personal_6f28c333f1100e7d2cb316ba839a59b9",
+      "personal_70d72351d07f93710539592d8dd38d8a",
+      "personal_7d7e4fb5727fc23ab3fa7b40f8769fc1",
+      "personal_7ea40aebbbde03cbbcc19e5f92609b77",
+      "personal_84f358d1b64d7947617d85b21ab2375a",
+      "personal_90deb4cb0578338c442f268d6a24d5dc",
+      "personal_96b82ec73f9d83066297fa30a5b4384f",
+      "personal_9e44f127b4ec68efad8ce87da1d3fc51",
+      "personal_a6819fc32906ac2ca4a0f47503772307",
+      "personal_b27ef14b2c835df1ae1aeae938823193",
+      "personal_b50323b0dc6ce5fb9796adb80b814cd8",
+      "personal_b78c59c08302100769e3469fccff36c1",
+      "personal_b87fcb24c5d44e1328cddd66b75bc119",
+      "personal_b89b9d4366696fe1623b5b5d4f10f0fc",
+      "personal_b8d2facf43700d6f4e6c230c548e771b",
+      "personal_b961b8d3386fa525ac754eea04b32003",
+      "personal_bf4520a9582da41ecc280365afebb30f",
+      "personal_c0eb4eb4d39d58eecebc3218a56f6148",
+      "personal_c132137e54f68136af709edd6a8f602d",
+      "personal_c72571b7f7ac673b63754699e1b8c31c",
+      "personal_d0d1e8e150782b694d663b6cc838cf61",
+      "personal_d5d163c09ae4da219a7ae54b5a98b830",
+      "personal_d5f3483ee2a8598123a0d0a9a965aea0",
+      "personal_daf7dab4c768da753dede24093cef6c3",
+      "personal_e124afc5e5b3770e53f058431d37bf31",
+      "personal_e9da5393d39bebb0a5d393b4c55366a5",
+      "personal_efc2a3bf7597c3991afa800c4515a515",
+      "personal_f3991aee0215111c5e4c13994477e85b",
+      "personal_f4059dfc787363cc3437be52a47779a0",
+      "personal_fb47095d9556e3e7f00711afe128d5b2",
+      "sea_f2c615363f892ba270dae2fceb3a06e9",
+      "sea_f64def749dd7133248814a902ea140ab",
+      "space_438d8689bcc7e7cafd89a97d336d7981",
+    ]
+  };
+}
diff --git a/lib/main.dart b/lib/main.dart
index 33c9734..034c064 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,14 +1,42 @@
+import 'dart:io';
+
+import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
-import 'package:provider/provider.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+import 'package:hive/hive.dart';
+import 'package:hydrated_bloc/hydrated_bloc.dart';
+import 'package:path_provider/path_provider.dart';
 
-import 'package:puzzlegame/provider/data.dart';
-import 'package:puzzlegame/screens/home.dart';
+import 'package:puzzlegame/config/theme.dart';
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/cubit/nav_cubit.dart';
+import 'package:puzzlegame/cubit/settings_game_cubit.dart';
+import 'package:puzzlegame/cubit/settings_global_cubit.dart';
+import 'package:puzzlegame/cubit/theme_cubit.dart';
+import 'package:puzzlegame/ui/skeleton.dart';
 
-void main() {
+void main() async {
+  // Initialize packages
   WidgetsFlutterBinding.ensureInitialized();
+  await EasyLocalization.ensureInitialized();
+  final Directory tmpDir = await getTemporaryDirectory();
+  Hive.init(tmpDir.toString());
+  HydratedBloc.storage = await HydratedStorage.build(
+    storageDirectory: tmpDir,
+  );
+
   SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
-      .then((value) => runApp(const MyApp()));
+      .then((value) => runApp(EasyLocalization(
+            path: 'assets/translations',
+            supportedLocales: const <Locale>[
+              Locale('en'),
+              Locale('fr'),
+            ],
+            fallbackLocale: const Locale('en'),
+            useFallbackTranslations: true,
+            child: const MyApp(),
+          )));
 }
 
 class MyApp extends StatelessWidget {
@@ -16,23 +44,60 @@ class MyApp extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    return ChangeNotifierProvider(
-      create: (BuildContext context) => Data(),
-      child: Consumer<Data>(
-        builder: (context, data, child) {
+    final List<String> assets = getImagesAssets();
+    for (String asset in assets) {
+      precacheImage(AssetImage(asset), context);
+    }
+
+    return MultiBlocProvider(
+      providers: [
+        BlocProvider<NavCubit>(create: (context) => NavCubit()),
+        BlocProvider<ThemeCubit>(create: (context) => ThemeCubit()),
+        BlocProvider<GameCubit>(create: (context) => GameCubit()),
+        BlocProvider<GlobalSettingsCubit>(create: (context) => GlobalSettingsCubit()),
+        BlocProvider<GameSettingsCubit>(create: (context) => GameSettingsCubit()),
+      ],
+      child: BlocBuilder<ThemeCubit, ThemeModeState>(
+        builder: (BuildContext context, ThemeModeState state) {
           return MaterialApp(
+            title: 'Template app',
+            home: const SkeletonScreen(),
+
+            // Theme stuff
+            theme: lightTheme,
+            darkTheme: darkTheme,
+            themeMode: state.themeMode,
+
+            // Localization stuff
+            localizationsDelegates: context.localizationDelegates,
+            supportedLocales: context.supportedLocales,
+            locale: context.locale,
             debugShowCheckedModeBanner: false,
-            theme: ThemeData(
-              primaryColor: Colors.blue,
-              visualDensity: VisualDensity.adaptivePlatformDensity,
-            ),
-            home: const Home(),
-            routes: {
-              Home.id: (context) => const Home(),
-            },
           );
         },
       ),
     );
   }
+
+  List<String> getImagesAssets() {
+    final List<String> assets = [];
+
+    const List<String> gameImages = [
+      'button_back',
+      'button_delete_saved_game',
+      'button_random_pick',
+      'button_resume_game',
+      'button_shuffle',
+      'button_start',
+      'game_win',
+      'placeholder',
+      'tip_hidden',
+    ];
+
+    for (String image in gameImages) {
+      assets.add('assets/ui/$image.png');
+    }
+
+    return assets;
+  }
 }
diff --git a/lib/models/game/game.dart b/lib/models/game/game.dart
new file mode 100644
index 0000000..1d0dcce
--- /dev/null
+++ b/lib/models/game/game.dart
@@ -0,0 +1,127 @@
+import 'package:puzzlegame/data/fetch_data_helper.dart';
+import 'package:puzzlegame/models/game/moving_tile.dart';
+import 'package:puzzlegame/models/settings/settings_game.dart';
+import 'package:puzzlegame/models/settings/settings_global.dart';
+import 'package:puzzlegame/utils/tools.dart';
+
+class Game {
+  Game({
+    // Settings
+    required this.gameSettings,
+    required this.globalSettings,
+
+    // State
+    this.isRunning = false,
+    this.isStarted = false,
+    this.isFinished = false,
+    this.animationInProgress = false,
+    this.shufflingInProgress = false,
+
+    // Base data
+    required this.image,
+    this.tiles = const [],
+
+    // Game data
+    this.movesCount = 0,
+    this.displayTip = false,
+    this.tileSize = 0.0,
+  });
+
+  // Settings
+  final GameSettings gameSettings;
+  final GlobalSettings globalSettings;
+
+  // State
+  bool isRunning;
+  bool isStarted;
+  bool isFinished;
+  bool animationInProgress;
+  bool shufflingInProgress;
+
+  // Base data
+  String image;
+  List<MovingTile> tiles;
+
+  // Game data
+  int movesCount;
+  bool displayTip;
+  double tileSize;
+
+  factory Game.createEmpty() {
+    return Game(
+      gameSettings: GameSettings.createDefault(),
+      globalSettings: GlobalSettings.createDefault(),
+      image: '',
+      tiles: [],
+    );
+  }
+
+  factory Game.createNew({
+    GameSettings? gameSettings,
+    GlobalSettings? globalSettings,
+  }) {
+    final GameSettings newGameSettings = gameSettings ?? GameSettings.createDefault();
+    final GlobalSettings newGlobalSettings = globalSettings ?? GlobalSettings.createDefault();
+
+    final String image = FetchDataHelper().getRandomItem();
+
+    return Game(
+      // Settings
+      gameSettings: newGameSettings,
+      globalSettings: newGlobalSettings,
+      // Base data
+      image: image,
+    );
+  }
+
+  bool get canBeResumed => isStarted && !isFinished;
+
+  void dump() {
+    printlog('');
+    printlog('## Current game dump:');
+    printlog('');
+    printlog('$Game:');
+    printlog('  Settings');
+    gameSettings.dump();
+    globalSettings.dump();
+    printlog('  State');
+    printlog('    isRunning: $isRunning');
+    printlog('    isStarted: $isStarted');
+    printlog('    isFinished: $isFinished');
+    printlog('    animationInProgress: $animationInProgress');
+    printlog('    shufflingInProgress: $shufflingInProgress');
+    printlog('  Base data');
+    printlog('    image: $image');
+    printlog('  Game data');
+    printlog('    movesCount: $movesCount');
+    printlog('    displayTip: $displayTip');
+    printlog('    tileSize: $tileSize');
+    printlog('');
+  }
+
+  @override
+  String toString() {
+    return '$Game(${toJson()})';
+  }
+
+  Map<String, dynamic>? toJson() {
+    return <String, dynamic>{
+      // Settings
+      'gameSettings': gameSettings.toJson(),
+      'globalSettings': globalSettings.toJson(),
+      // State
+      'isRunning': isRunning,
+      'isStarted': isStarted,
+      'isFinished': isFinished,
+      'animationInProgress': animationInProgress,
+      'shufflingInProgress': shufflingInProgress,
+      // Base data
+      'image': image,
+      'tiles': tiles,
+      // Game data
+      'movesCount': movesCount,
+      'displayTip': displayTip,
+      'tileSize': tileSize,
+    };
+  }
+}
diff --git a/lib/models/game/moving_tile.dart b/lib/models/game/moving_tile.dart
new file mode 100644
index 0000000..3ef918c
--- /dev/null
+++ b/lib/models/game/moving_tile.dart
@@ -0,0 +1,35 @@
+import 'package:puzzlegame/models/game/tile.dart';
+
+class MovingTile extends Tile {
+  int currentCol;
+  int currentRow;
+
+  MovingTile({
+    required super.image,
+    required super.size,
+    required super.originalCol,
+    required super.originalRow,
+    required this.currentCol,
+    required this.currentRow,
+  });
+
+  bool isCorrect() {
+    return ((currentRow == originalRow) && (currentCol == originalCol));
+  }
+
+  @override
+  String toString() {
+    return '$Tile(${toJson()})';
+  }
+
+  @override
+  Map<String, dynamic>? toJson() {
+    return <String, dynamic>{
+      'size': size,
+      'originalCol': originalCol,
+      'originalRow': originalRow,
+      'currentRow': currentRow,
+      'currentCol': currentCol,
+    };
+  }
+}
diff --git a/lib/entities/tile.dart b/lib/models/game/tile.dart
similarity index 52%
rename from lib/entities/tile.dart
rename to lib/models/game/tile.dart
index 76e58df..77a369b 100644
--- a/lib/entities/tile.dart
+++ b/lib/models/game/tile.dart
@@ -1,10 +1,8 @@
 import 'package:flutter/material.dart';
 
-import 'package:puzzlegame/provider/data.dart';
-
 class Tile {
   final Image image;
-  final double size;
+  double size;
   final int originalCol;
   final int originalRow;
 
@@ -15,11 +13,16 @@ class Tile {
     required this.originalRow,
   });
 
-  Widget widget(Data myProvider) {
-    return Container();
+  @override
+  String toString() {
+    return '$Tile(${toJson()})';
   }
 
-  bool isCorrect() {
-    return false;
+  Map<String, dynamic>? toJson() {
+    return <String, dynamic>{
+      'size': size,
+      'originalCol': originalCol,
+      'originalRow': originalRow,
+    };
   }
 }
diff --git a/lib/models/settings/settings_game.dart b/lib/models/settings/settings_game.dart
new file mode 100644
index 0000000..4ed699f
--- /dev/null
+++ b/lib/models/settings/settings_game.dart
@@ -0,0 +1,56 @@
+import 'package:puzzlegame/config/default_game_settings.dart';
+import 'package:puzzlegame/utils/tools.dart';
+
+class GameSettings {
+  final String tilesetSize;
+  final String imageName;
+
+  GameSettings({
+    required this.tilesetSize,
+    required this.imageName,
+  });
+
+  static String getTilesetSizeValueFromUnsafe(String tilesetSize) {
+    if (DefaultGameSettings.allowedTilesetSizeValues.contains(tilesetSize)) {
+      return tilesetSize;
+    }
+
+    return DefaultGameSettings.defaultTilesetSizeValue;
+  }
+
+  static String getImageNameFromUnsafe(String imageName) {
+    if (DefaultGameSettings.allowedImageNameS.contains(imageName)) {
+      return imageName;
+    }
+
+    return DefaultGameSettings.defaultImageName;
+  }
+
+  factory GameSettings.createDefault() {
+    return GameSettings(
+      tilesetSize: DefaultGameSettings.defaultTilesetSizeValue,
+      imageName: DefaultGameSettings.defaultImageName,
+    );
+  }
+
+  int get tilesetSizeValue => int.parse(tilesetSize.split('x')[0]);
+
+  void dump() {
+    printlog('$GameSettings:');
+    printlog('  ${DefaultGameSettings.parameterCodeTilesetSize}: $tilesetSize');
+    printlog('  ${DefaultGameSettings.parameterCodeImageName}: $imageName');
+    printlog('');
+  }
+
+  @override
+  String toString() {
+    return '$GameSettings(${toJson()})';
+  }
+
+  Map<String, dynamic>? toJson() {
+    return <String, dynamic>{
+      DefaultGameSettings.parameterCodeTilesetSize: tilesetSize,
+      DefaultGameSettings.parameterCodeImageName: imageName,
+    };
+  }
+}
diff --git a/lib/models/settings/settings_global.dart b/lib/models/settings/settings_global.dart
new file mode 100644
index 0000000..4c9879f
--- /dev/null
+++ b/lib/models/settings/settings_global.dart
@@ -0,0 +1,41 @@
+import 'package:puzzlegame/config/default_global_settings.dart';
+import 'package:puzzlegame/utils/tools.dart';
+
+class GlobalSettings {
+  String skin;
+
+  GlobalSettings({
+    required this.skin,
+  });
+
+  static String getSkinValueFromUnsafe(String skin) {
+    if (DefaultGlobalSettings.allowedSkinValues.contains(skin)) {
+      return skin;
+    }
+
+    return DefaultGlobalSettings.defaultSkinValue;
+  }
+
+  factory GlobalSettings.createDefault() {
+    return GlobalSettings(
+      skin: DefaultGlobalSettings.defaultSkinValue,
+    );
+  }
+
+  void dump() {
+    printlog('$GlobalSettings:');
+    printlog('  ${DefaultGlobalSettings.parameterCodeSkin}: $skin');
+    printlog('');
+  }
+
+  @override
+  String toString() {
+    return '$GlobalSettings(${toJson()})';
+  }
+
+  Map<String, dynamic>? toJson() {
+    return <String, dynamic>{
+      DefaultGlobalSettings.parameterCodeSkin: skin,
+    };
+  }
+}
diff --git a/lib/provider/data.dart b/lib/provider/data.dart
deleted file mode 100644
index dd85da9..0000000
--- a/lib/provider/data.dart
+++ /dev/null
@@ -1,103 +0,0 @@
-import 'package:flutter/foundation.dart';
-
-import 'package:puzzlegame/entities/moving_tile.dart';
-
-class Data extends ChangeNotifier {
-  // application configuration
-  int _tilesCount = 4;
-
-  // Game data
-  List<String> _availableImages = [];
-  String _selectedImage = '';
-  List<MovingTile> _tiles = [];
-  double _tileImageSize = 1.0;
-  int _movesCount = 0;
-
-  // application state
-  bool _isShufflingBoard = false;
-  bool _isTipImageDisplayed = false;
-
-  String get selectedImage => _selectedImage;
-
-  void updateSelectedImage(String value) {
-    _selectedImage = value;
-    _movesCount = 0;
-    notifyListeners();
-  }
-
-  void resetSelectedImage() {
-    updateSelectedImage('');
-  }
-
-  int get tilesCount => _tilesCount;
-
-  void updateTilesCount(int tilesCountPerSide) {
-    _tilesCount = tilesCountPerSide;
-    notifyListeners();
-  }
-
-  List<String> get availableImages => _availableImages;
-
-  void updateAvailableImages(List<String> availableImages) {
-    _availableImages = availableImages;
-    notifyListeners();
-  }
-
-  List<MovingTile> get tiles => _tiles;
-
-  void updateTiles(List<MovingTile> tiles) {
-    _tiles = tiles;
-    notifyListeners();
-  }
-
-  int get movesCount => _movesCount;
-  void updateMovesCount(int movesCount) {
-    _movesCount = movesCount;
-    notifyListeners();
-  }
-
-  void incrementMovesCount() {
-    updateMovesCount(movesCount + 1);
-  }
-
-  bool get isShufflingBoard => _isShufflingBoard;
-
-  void updateIsShufflingBoard(bool isShuffling) {
-    _isShufflingBoard = isShuffling;
-    notifyListeners();
-  }
-
-  bool get displayTipImage => _isTipImageDisplayed;
-
-  void updateIsTipImageDisplayed(bool isDisplayed) {
-    _isTipImageDisplayed = isDisplayed;
-    notifyListeners();
-  }
-
-  double get tileImageSize => _tileImageSize;
-  void updateTileImageSize(double tileImageSize) {
-    _tileImageSize = tileImageSize;
-  }
-
-  void swapTiles(List<int> tile1, List<int> tile2) {
-    final int indexTile1 = _tiles.indexWhere(
-        (tile) => ((tile.currentCol == tile1[0]) && (tile.currentRow == tile1[1])));
-    final int indexTile2 = _tiles.indexWhere(
-        (tile) => ((tile.currentCol == tile2[0]) && (tile.currentRow == tile2[1])));
-
-    final MovingTile swap = _tiles[indexTile1];
-    _tiles[indexTile1] = _tiles[indexTile2];
-    _tiles[indexTile2] = swap;
-
-    final int swapCol = _tiles[indexTile1].currentCol;
-    _tiles[indexTile1].currentCol = _tiles[indexTile2].currentCol;
-    _tiles[indexTile2].currentCol = swapCol;
-
-    final int swapRow = _tiles[indexTile1].currentRow;
-    _tiles[indexTile1].currentRow = _tiles[indexTile2].currentRow;
-    _tiles[indexTile2].currentRow = swapRow;
-
-    incrementMovesCount();
-    notifyListeners();
-  }
-}
diff --git a/lib/screens/game.dart b/lib/screens/game.dart
deleted file mode 100644
index 073e39b..0000000
--- a/lib/screens/game.dart
+++ /dev/null
@@ -1,225 +0,0 @@
-import 'package:flutter/material.dart';
-
-import 'package:puzzlegame/entities/moving_tile.dart';
-import 'package:puzzlegame/provider/data.dart';
-import 'package:puzzlegame/utils/game_utils.dart';
-
-class Game {
-  static void toggleDisplayTipImage(Data myProvider) {
-    myProvider.updateIsTipImageDisplayed(!myProvider.displayTipImage);
-  }
-
-  static Widget buildTilesetWidget(Data myProvider) {
-    final List<MovingTile> tiles = myProvider.tiles;
-
-    final Color borderColor =
-        GameUtils.checkTilesetIsCleared(tiles) ? Colors.green : Colors.orange;
-    int tileIndex = 0;
-
-    final Table tileset = Table(
-      defaultColumnWidth: const IntrinsicColumnWidth(),
-      border: TableBorder.all(
-        color: Colors.black,
-        style: BorderStyle.solid,
-        width: 2,
-      ),
-      children: [
-        for (int row = 0; row < myProvider.tilesCount; row++)
-          TableRow(
-            children: [
-              for (int col = 0; col < myProvider.tilesCount; col++)
-                Column(children: [tiles[tileIndex++].widget(myProvider)]),
-            ],
-          ),
-      ],
-    );
-
-    return Container(
-      margin: const EdgeInsets.all(8),
-      padding: const EdgeInsets.all(8),
-      decoration: BoxDecoration(
-        color: borderColor,
-        borderRadius: BorderRadius.circular(8),
-        border: Border.all(
-          color: borderColor,
-          width: 8,
-        ),
-      ),
-      child: tileset,
-    );
-  }
-
-  static Widget buildTipWidget(Data myProvider) {
-    return Container(
-      margin: const EdgeInsets.all(2),
-      padding: const EdgeInsets.all(2),
-      child: Table(
-        defaultColumnWidth: const IntrinsicColumnWidth(),
-        children: [
-          TableRow(
-            children: [
-              const Column(
-                children: [
-                  Image(
-                    image: AssetImage('assets/images/placeholder.png'),
-                    fit: BoxFit.fill,
-                  ),
-                ],
-              ),
-              Column(
-                children: [
-                  TextButton(
-                    child: Container(
-                      decoration: BoxDecoration(
-                        color: Colors.blue,
-                        borderRadius: BorderRadius.circular(4),
-                        border: Border.all(
-                          color: Colors.blue,
-                          width: 4,
-                        ),
-                      ),
-                      child: Image(
-                        image: AssetImage(
-                          myProvider.displayTipImage
-                              ? GameUtils.getImageAssetName(myProvider.selectedImage)
-                              : 'assets/icons/tip_hidden.png',
-                        ),
-                        fit: BoxFit.contain,
-                      ),
-                    ),
-                    onPressed: () => Game.toggleDisplayTipImage(myProvider),
-                  ),
-                ],
-              ),
-              const Column(
-                children: [
-                  Image(
-                    image: AssetImage('assets/images/placeholder.png'),
-                    fit: BoxFit.fill,
-                  ),
-                ],
-              ),
-            ],
-          ),
-        ],
-      ),
-    );
-  }
-
-  static Widget buildGameWidget(Data myProvider) {
-    return Column(
-      mainAxisAlignment: MainAxisAlignment.start,
-      crossAxisAlignment: CrossAxisAlignment.center,
-      children: [
-        const SizedBox(height: 8),
-        buildTopIndicatorWidget(myProvider),
-        const SizedBox(height: 2),
-        Expanded(
-          child: buildGameBoard(myProvider),
-        ),
-        const SizedBox(height: 2),
-        Container(
-          child: GameUtils.checkTilesetIsCleared(myProvider.tiles)
-              ? Game.buildWinMessage(myProvider)
-              : Game.buildTipWidget(myProvider),
-        ),
-      ],
-    );
-  }
-
-  static Widget buildGameBoard(Data myProvider) {
-    return Container(
-      margin: const EdgeInsets.all(4),
-      padding: const EdgeInsets.all(4),
-      child: Column(
-        children: [
-          buildTilesetWidget(myProvider),
-        ],
-      ),
-    );
-  }
-
-  static Widget buildTopIndicatorWidget(Data myProvider) {
-    return Table(
-      children: [
-        TableRow(
-          children: [
-            Column(children: [
-              Text(
-                myProvider.movesCount.toString(),
-                style: const TextStyle(
-                  fontSize: 40,
-                  fontWeight: FontWeight.w600,
-                  color: Colors.black,
-                ),
-              ),
-            ]),
-            const Column(children: []),
-          ],
-        ),
-      ],
-    );
-  }
-
-  static Widget buildWinMessage(Data myProvider) {
-    return Container(
-      margin: const EdgeInsets.all(2),
-      padding: const EdgeInsets.all(2),
-      child: Table(
-        defaultColumnWidth: const IntrinsicColumnWidth(),
-        children: [
-          TableRow(
-            children: [
-              const Column(
-                children: [
-                  Image(
-                    image: AssetImage('assets/icons/game_win.png'),
-                    fit: BoxFit.fill,
-                  ),
-                ],
-              ),
-              Column(
-                children: [
-                  TextButton(
-                    child: const Image(
-                      image: AssetImage('assets/icons/button_back.png'),
-                      fit: BoxFit.fill,
-                    ),
-                    onPressed: () => GameUtils.resetGame(myProvider),
-                  ),
-                ],
-              ),
-              const Column(
-                children: [
-                  Image(
-                    image: AssetImage('assets/icons/game_win.png'),
-                    fit: BoxFit.fill,
-                  ),
-                ],
-              ),
-            ],
-          ),
-        ],
-      ),
-    );
-  }
-
-  static Widget buildShufflingIndicatorWidget() {
-    return const Column(
-      mainAxisSize: MainAxisSize.min,
-      mainAxisAlignment: MainAxisAlignment.center,
-      children: [
-        Text(
-          '⏳',
-          style: TextStyle(
-            fontSize: 60,
-            fontWeight: FontWeight.w600,
-            color: Colors.black,
-          ),
-        ),
-        SizedBox(height: 20),
-        CircularProgressIndicator(),
-      ],
-    );
-  }
-}
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
deleted file mode 100644
index 1cee132..0000000
--- a/lib/screens/home.dart
+++ /dev/null
@@ -1,212 +0,0 @@
-import 'dart:async';
-
-import 'package:flutter/material.dart';
-import 'package:provider/provider.dart';
-
-import 'package:puzzlegame/provider/data.dart';
-import 'package:puzzlegame/screens/game.dart';
-import 'package:puzzlegame/utils/game_utils.dart';
-import 'package:puzzlegame/utils/get_images_list.dart';
-
-class Home extends StatelessWidget {
-  const Home({super.key});
-
-  static const String id = 'home';
-
-  final Color themePrimaryColor = Colors.blue;
-  final int _selectImageColumnsCount = 3;
-
-  Future<void> getImagesList(Data myProvider) async {
-    GetImagesList getImagesList = GetImagesList();
-    await getImagesList.init();
-    if (getImagesList.availableImages.isNotEmpty) {
-      myProvider.updateAvailableImages(getImagesList.availableImages);
-      shuffleAvailableImages(myProvider);
-    }
-  }
-
-  Future<void> selectImage(Data myProvider, String imageCode) async {
-    GameUtils.startGame(myProvider, imageCode);
-  }
-
-  void shuffleAvailableImages(Data myProvider) {
-    final List<String> images = myProvider.availableImages;
-    images.shuffle();
-    myProvider.updateAvailableImages(images);
-  }
-
-  Widget _buildImageSelectorItem(Data myProvider, String image) {
-    return TextButton(
-      style: TextButton.styleFrom(
-        padding: const EdgeInsets.all(2),
-      ),
-      child: Container(
-        decoration: BoxDecoration(
-          borderRadius: BorderRadius.circular(4),
-          border: Border.all(
-            color: Colors.blue.shade200,
-            width: 4,
-          ),
-        ),
-        child: Image(
-          image: AssetImage(GameUtils.getImageAssetName(image)),
-          fit: BoxFit.fill,
-        ),
-      ),
-      onPressed: () {
-        selectImage(myProvider, image);
-      },
-    );
-  }
-
-  Widget _buildImageSelector(Data myProvider) {
-    if (myProvider.availableImages.isEmpty) {
-      getImagesList(myProvider);
-    }
-    final List<String> images = myProvider.availableImages;
-
-    return Container(
-      padding: const EdgeInsets.all(2),
-      child: ListView(
-        children: [
-          Table(
-            defaultColumnWidth: const IntrinsicColumnWidth(),
-            children: [
-              for (int imgIndex = 0;
-                  imgIndex < images.length;
-                  imgIndex += _selectImageColumnsCount)
-                TableRow(
-                  children: [
-                    for (int colIndex = 0; colIndex < _selectImageColumnsCount; colIndex++)
-                      Column(
-                        children: [
-                          if (imgIndex + colIndex < images.length)
-                            _buildImageSelectorItem(myProvider, images[imgIndex + colIndex])
-                        ],
-                      ),
-                  ],
-                ),
-            ],
-          ),
-        ],
-      ),
-    );
-  }
-
-  TextButton _buildTilesetSizeSelectorItem(Data myProvider, int value) {
-    String assetName = 'assets/icons/difficulty_${value}x$value.png';
-
-    Color borderColor = themePrimaryColor;
-
-    if (myProvider.tilesCount == value) {
-      borderColor = Colors.white;
-    }
-
-    return TextButton(
-      child: Container(
-        decoration: BoxDecoration(
-          borderRadius: BorderRadius.circular(4),
-          border: Border.all(
-            color: borderColor,
-            width: 4,
-          ),
-        ),
-        child: Image(
-          image: AssetImage(assetName),
-          fit: BoxFit.fill,
-        ),
-      ),
-      onPressed: () {
-        myProvider.updateTilesCount(value);
-      },
-    );
-  }
-
-  @override
-  Widget build(BuildContext context) {
-    final Data myProvider = Provider.of<Data>(context);
-
-    Widget content;
-
-    myProvider
-        .updateTileImageSize((MediaQuery.of(context).size.width - 70) / myProvider.tilesCount);
-
-    if (myProvider.isShufflingBoard) {
-      content = Game.buildShufflingIndicatorWidget();
-      precacheImage(const AssetImage('assets/icons/game_win.png'), context);
-    } else {
-      if (myProvider.selectedImage == '') {
-        content = _buildImageSelector(myProvider);
-      } else {
-        content = Game.buildGameWidget(myProvider);
-      }
-    }
-
-    final List<Widget> menuActions = [
-      _buildTilesetSizeSelectorItem(myProvider, 3),
-      _buildTilesetSizeSelectorItem(myProvider, 4),
-      _buildTilesetSizeSelectorItem(myProvider, 5),
-      TextButton(
-        child: Container(
-          decoration: BoxDecoration(
-            borderRadius: BorderRadius.circular(4),
-            border: Border.all(
-              color: themePrimaryColor,
-              width: 4,
-            ),
-          ),
-          child: const Image(
-            image: AssetImage('assets/icons/button_shuffle.png'),
-            fit: BoxFit.fill,
-          ),
-        ),
-        onPressed: () => shuffleAvailableImages(myProvider),
-      ),
-      TextButton(
-        child: Container(
-          decoration: BoxDecoration(
-            borderRadius: BorderRadius.circular(4),
-            border: Border.all(
-              color: themePrimaryColor,
-              width: 4,
-            ),
-          ),
-          child: const Image(
-            image: AssetImage('assets/icons/button_random_pick.png'),
-            fit: BoxFit.fill,
-          ),
-        ),
-        onPressed: () => GameUtils.startRandomGame(myProvider),
-      ),
-    ];
-
-    final List<Widget> gameActions = [
-      TextButton(
-        child: Container(
-          decoration: BoxDecoration(
-            borderRadius: BorderRadius.circular(4),
-            border: Border.all(
-              color: Colors.blue,
-              width: 4,
-            ),
-          ),
-          child: const Image(
-            image: AssetImage('assets/icons/button_back.png'),
-            fit: BoxFit.fill,
-          ),
-        ),
-        onPressed: () => GameUtils.resetGame(myProvider),
-      ),
-    ];
-
-    return Scaffold(
-      appBar: AppBar(
-        backgroundColor: themePrimaryColor,
-        actions: myProvider.selectedImage == '' ? menuActions : gameActions,
-      ),
-      body: SafeArea(
-        child: Center(child: content),
-      ),
-    );
-  }
-}
diff --git a/lib/ui/game/game_bottom.dart b/lib/ui/game/game_bottom.dart
new file mode 100644
index 0000000..3fb6d30
--- /dev/null
+++ b/lib/ui/game/game_bottom.dart
@@ -0,0 +1,23 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/ui/widgets/game/game_tip.dart';
+
+class GameBottomWidget extends StatelessWidget {
+  const GameBottomWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        return (!currentGame.isFinished && !currentGame.shufflingInProgress)
+            ? const GameTipWidget()
+            : const SizedBox.shrink();
+      },
+    );
+  }
+}
diff --git a/lib/ui/game/game_end.dart b/lib/ui/game/game_end.dart
new file mode 100644
index 0000000..ab071e1
--- /dev/null
+++ b/lib/ui/game/game_end.dart
@@ -0,0 +1,51 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/ui/widgets/actions/button_game_quit.dart';
+
+class GameEndWidget extends StatelessWidget {
+  const GameEndWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        const Image decorationImage = Image(
+          image: AssetImage('assets/ui/game_win.png'),
+          fit: BoxFit.fill,
+        );
+
+        return Container(
+          margin: const EdgeInsets.all(2),
+          padding: const EdgeInsets.all(2),
+          child: Table(
+            defaultColumnWidth: const IntrinsicColumnWidth(),
+            children: [
+              TableRow(
+                children: [
+                  const Column(
+                    children: [decorationImage],
+                  ),
+                  Column(
+                    children: [
+                      currentGame.animationInProgress == true
+                          ? decorationImage
+                          : const QuitGameButton()
+                    ],
+                  ),
+                  const Column(
+                    children: [decorationImage],
+                  ),
+                ],
+              ),
+            ],
+          ),
+        );
+      },
+    );
+  }
+}
diff --git a/lib/ui/game/game_top.dart b/lib/ui/game/game_top.dart
new file mode 100644
index 0000000..504e0a6
--- /dev/null
+++ b/lib/ui/game/game_top.dart
@@ -0,0 +1,28 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+
+class GameTopWidget extends StatelessWidget {
+  const GameTopWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        return currentGame.shufflingInProgress
+            ? const SizedBox.shrink()
+            : Text(
+                '${currentGame.movesCount}',
+                style: const TextStyle(
+                  fontSize: 45,
+                  fontWeight: FontWeight.w600,
+                ),
+              );
+      },
+    );
+  }
+}
diff --git a/lib/ui/helpers/app_titles.dart b/lib/ui/helpers/app_titles.dart
new file mode 100644
index 0000000..c3ddf3c
--- /dev/null
+++ b/lib/ui/helpers/app_titles.dart
@@ -0,0 +1,33 @@
+import 'package:easy_localization/easy_localization.dart';
+import 'package:flutter/material.dart';
+
+class AppHeader extends StatelessWidget {
+  const AppHeader({super.key, required this.text});
+
+  final String text;
+
+  @override
+  Widget build(BuildContext context) {
+    return Text(
+      tr(text),
+      textAlign: TextAlign.start,
+      style:
+          Theme.of(context).textTheme.headlineMedium!.apply(fontWeightDelta: 2),
+    );
+  }
+}
+
+class AppTitle extends StatelessWidget {
+  const AppTitle({super.key, required this.text});
+
+  final String text;
+
+  @override
+  Widget build(BuildContext context) {
+    return Text(
+      tr(text),
+      textAlign: TextAlign.start,
+      style: Theme.of(context).textTheme.titleLarge!.apply(fontWeightDelta: 2),
+    );
+  }
+}
diff --git a/lib/ui/helpers/outlined_text_widget.dart b/lib/ui/helpers/outlined_text_widget.dart
new file mode 100644
index 0000000..54ff6f7
--- /dev/null
+++ b/lib/ui/helpers/outlined_text_widget.dart
@@ -0,0 +1,51 @@
+import 'package:flutter/material.dart';
+
+import 'package:puzzlegame/utils/color_extensions.dart';
+
+class OutlinedText extends StatelessWidget {
+  const OutlinedText({
+    super.key,
+    required this.text,
+    required this.fontSize,
+    required this.textColor,
+    this.outlineColor,
+  });
+
+  final String text;
+  final double fontSize;
+  final Color textColor;
+  final Color? outlineColor;
+
+  @override
+  Widget build(BuildContext context) {
+    final double delta = fontSize / 30;
+
+    return Text(
+      text,
+      style: TextStyle(
+        inherit: true,
+        fontSize: fontSize,
+        fontWeight: FontWeight.w600,
+        color: textColor,
+        shadows: [
+          Shadow(
+            offset: Offset(-delta, -delta),
+            color: outlineColor ?? textColor.darken(),
+          ),
+          Shadow(
+            offset: Offset(delta, -delta),
+            color: outlineColor ?? textColor.darken(),
+          ),
+          Shadow(
+            offset: Offset(delta, delta),
+            color: outlineColor ?? textColor.darken(),
+          ),
+          Shadow(
+            offset: Offset(-delta, delta),
+            color: outlineColor ?? textColor.darken(),
+          ),
+        ],
+      ),
+    );
+  }
+}
diff --git a/lib/ui/layouts/game_layout.dart b/lib/ui/layouts/game_layout.dart
new file mode 100644
index 0000000..ed8f353
--- /dev/null
+++ b/lib/ui/layouts/game_layout.dart
@@ -0,0 +1,40 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/ui/game/game_bottom.dart';
+import 'package:puzzlegame/ui/game/game_end.dart';
+import 'package:puzzlegame/ui/game/game_top.dart';
+import 'package:puzzlegame/ui/widgets/game/game_board.dart';
+
+class GameLayout extends StatelessWidget {
+  const GameLayout({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        return Container(
+          alignment: AlignmentDirectional.topCenter,
+          padding: const EdgeInsets.all(4),
+          child: Column(
+            mainAxisAlignment: MainAxisAlignment.start,
+            crossAxisAlignment: CrossAxisAlignment.center,
+            children: [
+              const GameTopWidget(),
+              const SizedBox(height: 8),
+              const GameBoardWidget(),
+              const SizedBox(height: 8),
+              const GameBottomWidget(),
+              const Expanded(child: SizedBox.shrink()),
+              currentGame.isFinished ? const GameEndWidget() : const SizedBox.shrink(),
+            ],
+          ),
+        );
+      },
+    );
+  }
+}
diff --git a/lib/ui/layouts/parameters_layout.dart b/lib/ui/layouts/parameters_layout.dart
new file mode 100644
index 0000000..15aae81
--- /dev/null
+++ b/lib/ui/layouts/parameters_layout.dart
@@ -0,0 +1,154 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/config/default_game_settings.dart';
+import 'package:puzzlegame/config/default_global_settings.dart';
+import 'package:puzzlegame/cubit/settings_game_cubit.dart';
+import 'package:puzzlegame/cubit/settings_global_cubit.dart';
+import 'package:puzzlegame/ui/parameters/parameter_image.dart';
+import 'package:puzzlegame/ui/parameters/parameter_painter.dart';
+import 'package:puzzlegame/ui/widgets/actions/button_delete_saved_game.dart';
+import 'package:puzzlegame/ui/widgets/actions/button_game_start_new.dart';
+import 'package:puzzlegame/ui/widgets/actions/button_resume_saved_game.dart';
+
+class ParametersLayout extends StatelessWidget {
+  const ParametersLayout({super.key, required this.canResume});
+
+  final bool canResume;
+
+  final double separatorHeight = 8.0;
+
+  @override
+  Widget build(BuildContext context) {
+    final List<Widget> lines = [];
+
+    // Game settings
+    for (String code in DefaultGameSettings.availableParameters) {
+      lines.add(Row(
+        mainAxisAlignment: MainAxisAlignment.spaceBetween,
+        children: buildParametersLine(
+          code: code,
+          isGlobal: false,
+        ),
+      ));
+
+      lines.add(SizedBox(height: separatorHeight));
+    }
+
+    lines.add(SizedBox(height: separatorHeight));
+
+    if (canResume == false) {
+      // Start new game
+      lines.add(const Expanded(
+        child: StartNewGameButton(),
+      ));
+    } else {
+      // Resume game
+      lines.add(const Expanded(
+        child: ResumeSavedGameButton(),
+      ));
+      // Delete saved game
+      lines.add(SizedBox.square(
+        dimension: MediaQuery.of(context).size.width / 4,
+        child: const DeleteSavedGameButton(),
+      ));
+    }
+
+    lines.add(SizedBox(height: separatorHeight));
+
+    // Global settings
+    for (String code in DefaultGlobalSettings.availableParameters) {
+      lines.add(Row(
+        mainAxisAlignment: MainAxisAlignment.spaceBetween,
+        children: buildParametersLine(
+          code: code,
+          isGlobal: true,
+        ),
+      ));
+
+      lines.add(SizedBox(height: separatorHeight));
+    }
+
+    return Column(
+      children: lines,
+    );
+  }
+
+  List<Widget> buildParametersLine({
+    required String code,
+    required bool isGlobal,
+  }) {
+    final List<Widget> parameterButtons = [];
+
+    final List<String> availableValues = isGlobal
+        ? DefaultGlobalSettings.getAvailableValues(code)
+        : DefaultGameSettings.getAvailableValues(code);
+
+    if (availableValues.length <= 1) {
+      return [];
+    }
+
+    for (String value in availableValues) {
+      final Widget parameterButton = BlocBuilder<GameSettingsCubit, GameSettingsState>(
+        builder: (BuildContext context, GameSettingsState gameSettingsState) {
+          return BlocBuilder<GlobalSettingsCubit, GlobalSettingsState>(
+            builder: (BuildContext context, GlobalSettingsState globalSettingsState) {
+              final GameSettingsCubit gameSettingsCubit =
+                  BlocProvider.of<GameSettingsCubit>(context);
+              final GlobalSettingsCubit globalSettingsCubit =
+                  BlocProvider.of<GlobalSettingsCubit>(context);
+
+              final String currentValue = isGlobal
+                  ? globalSettingsCubit.getParameterValue(code)
+                  : gameSettingsCubit.getParameterValue(code);
+
+              final bool isActive = (value == currentValue);
+
+              final double displayWidth = MediaQuery.of(context).size.width;
+              final double itemWidth = displayWidth / availableValues.length - 26;
+
+              final bool displayedWithAssets =
+                  DefaultGlobalSettings.displayedWithAssets.contains(code) ||
+                      DefaultGameSettings.displayedWithAssets.contains(code);
+
+              return TextButton(
+                child: Container(
+                  child: displayedWithAssets
+                      ? SizedBox.square(
+                          dimension: itemWidth,
+                          child: ParameterImage(
+                            code: code,
+                            value: value,
+                            isSelected: isActive,
+                          ),
+                        )
+                      : CustomPaint(
+                          size: Size(itemWidth, itemWidth),
+                          willChange: false,
+                          painter: ParameterPainter(
+                            code: code,
+                            value: value,
+                            isSelected: isActive,
+                            gameSettings: gameSettingsState.settings,
+                            globalSettings: globalSettingsState.settings,
+                          ),
+                          isComplex: true,
+                        ),
+                ),
+                onPressed: () {
+                  isGlobal
+                      ? globalSettingsCubit.setParameterValue(code, value)
+                      : gameSettingsCubit.setParameterValue(code, value);
+                },
+              );
+            },
+          );
+        },
+      );
+
+      parameterButtons.add(parameterButton);
+    }
+
+    return parameterButtons;
+  }
+}
diff --git a/lib/ui/parameters/parameter_image.dart b/lib/ui/parameters/parameter_image.dart
new file mode 100644
index 0000000..1365189
--- /dev/null
+++ b/lib/ui/parameters/parameter_image.dart
@@ -0,0 +1,39 @@
+import 'package:flutter/material.dart';
+
+class ParameterImage extends StatelessWidget {
+  const ParameterImage({
+    super.key,
+    required this.code,
+    required this.value,
+    required this.isSelected,
+  });
+
+  final String code;
+  final String value;
+  final bool isSelected;
+
+  static const Color buttonBackgroundColor = Colors.white;
+  static const Color buttonBorderColorActive = Colors.blue;
+  static const Color buttonBorderColorInactive = Colors.white;
+  static const double buttonBorderWidth = 8.0;
+  static const double buttonBorderRadius = 8.0;
+
+  @override
+  Widget build(BuildContext context) {
+    return Container(
+      decoration: BoxDecoration(
+        color: buttonBackgroundColor,
+        borderRadius: BorderRadius.circular(buttonBorderRadius),
+        border: Border.all(
+          color:
+              isSelected ? buttonBorderColorActive : buttonBorderColorInactive,
+          width: buttonBorderWidth,
+        ),
+      ),
+      child: Image(
+        image: AssetImage('assets/ui/${code}_$value.png'),
+        fit: BoxFit.fill,
+      ),
+    );
+  }
+}
diff --git a/lib/ui/parameters/parameter_painter.dart b/lib/ui/parameters/parameter_painter.dart
new file mode 100644
index 0000000..9ac8eea
--- /dev/null
+++ b/lib/ui/parameters/parameter_painter.dart
@@ -0,0 +1,151 @@
+import 'dart:math';
+
+import 'package:flutter/material.dart';
+
+import 'package:puzzlegame/config/default_game_settings.dart';
+import 'package:puzzlegame/models/settings/settings_game.dart';
+import 'package:puzzlegame/models/settings/settings_global.dart';
+import 'package:puzzlegame/utils/tools.dart';
+
+class ParameterPainter extends CustomPainter {
+  const ParameterPainter({
+    required this.code,
+    required this.value,
+    required this.isSelected,
+    required this.gameSettings,
+    required this.globalSettings,
+  });
+
+  final String code;
+  final String value;
+  final bool isSelected;
+  final GameSettings gameSettings;
+  final GlobalSettings globalSettings;
+
+  @override
+  void paint(Canvas canvas, Size size) {
+    // force square
+    final double canvasSize = min(size.width, size.height);
+
+    const Color borderColorEnabled = Colors.blue;
+    const Color borderColorDisabled = Colors.white;
+
+    // "enabled/disabled" border
+    final paint = Paint();
+    paint.style = PaintingStyle.stroke;
+    paint.color = isSelected ? borderColorEnabled : borderColorDisabled;
+    paint.strokeJoin = StrokeJoin.round;
+    paint.strokeWidth = 10;
+    canvas.drawRect(
+        Rect.fromPoints(const Offset(0, 0), Offset(canvasSize, canvasSize)), paint);
+
+    // content
+    switch (code) {
+      case DefaultGameSettings.parameterCodeTilesetSize:
+        paintTilesetSizeParameterItem(value, canvas, canvasSize);
+        break;
+      default:
+        printlog('Unknown parameter: $code/$value');
+        paintUnknownParameterItem(value, canvas, canvasSize);
+    }
+  }
+
+  @override
+  bool shouldRepaint(CustomPainter oldDelegate) {
+    return false;
+  }
+
+  // "unknown" parameter -> simple block with text
+  void paintUnknownParameterItem(
+    final String value,
+    final Canvas canvas,
+    final double size,
+  ) {
+    final paint = Paint();
+    paint.strokeJoin = StrokeJoin.round;
+    paint.strokeWidth = 3;
+
+    paint.color = Colors.grey;
+    paint.style = PaintingStyle.fill;
+    canvas.drawRect(Rect.fromPoints(const Offset(0, 0), Offset(size, size)), paint);
+
+    final textSpan = TextSpan(
+      text: '?\n$value',
+      style: const TextStyle(
+        color: Colors.black,
+        fontSize: 18,
+        fontWeight: FontWeight.bold,
+      ),
+    );
+    final textPainter = TextPainter(
+      text: textSpan,
+      textDirection: TextDirection.ltr,
+      textAlign: TextAlign.center,
+    );
+    textPainter.layout();
+    textPainter.paint(
+      canvas,
+      Offset(
+        (size - textPainter.width) * 0.5,
+        (size - textPainter.height) * 0.5,
+      ),
+    );
+  }
+
+  void paintTilesetSizeParameterItem(
+    final String value,
+    final Canvas canvas,
+    final double size,
+  ) {
+    Color backgroundColor = Colors.grey;
+    final int gridSize = int.parse(value.split('x')[0]);
+
+    switch (value) {
+      case DefaultGameSettings.tilesetSizeValueSmall:
+        backgroundColor = Colors.green;
+        break;
+      case DefaultGameSettings.tilesetSizeValueMedium:
+        backgroundColor = Colors.orange;
+        break;
+      case DefaultGameSettings.tilesetSizeValueLarge:
+        backgroundColor = Colors.red;
+        break;
+      default:
+        printlog('Wrong value for size parameter value: $value');
+    }
+
+    final paint = Paint();
+    paint.strokeJoin = StrokeJoin.round;
+    paint.strokeWidth = 3;
+
+    // Colored background
+    paint.color = backgroundColor;
+    paint.style = PaintingStyle.fill;
+    canvas.drawRect(Rect.fromPoints(const Offset(0, 0), Offset(size, size)), paint);
+
+    // Mini grid
+    // TODO: add image
+    final borderColor = Colors.grey.shade800;
+
+    final drawSize = size * 0.7;
+
+    final double cellSize = drawSize / gridSize;
+    final double originX = (size - gridSize * cellSize) / 2;
+    final double originY = (size - gridSize * cellSize) / 2;
+
+    for (int row = 0; row < gridSize; row++) {
+      for (int col = 0; col < gridSize; col++) {
+        final Offset topLeft = Offset(originX + col * cellSize, originY + row * cellSize);
+        final Offset bottomRight = topLeft + Offset(cellSize, cellSize);
+
+        paint.color = Colors.grey.shade200;
+        paint.style = PaintingStyle.fill;
+        canvas.drawRect(Rect.fromPoints(topLeft, bottomRight), paint);
+
+        paint.color = borderColor;
+        paint.style = PaintingStyle.stroke;
+        canvas.drawRect(Rect.fromPoints(topLeft, bottomRight), paint);
+      }
+    }
+  }
+}
diff --git a/lib/ui/screens/page_about.dart b/lib/ui/screens/page_about.dart
new file mode 100644
index 0000000..6716b34
--- /dev/null
+++ b/lib/ui/screens/page_about.dart
@@ -0,0 +1,41 @@
+import 'package:easy_localization/easy_localization.dart';
+import 'package:flutter/material.dart';
+import 'package:package_info_plus/package_info_plus.dart';
+
+import 'package:puzzlegame/ui/helpers/app_titles.dart';
+
+class PageAbout extends StatelessWidget {
+  const PageAbout({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return Padding(
+      padding: const EdgeInsets.symmetric(horizontal: 8),
+      child: Column(
+        mainAxisAlignment: MainAxisAlignment.start,
+        crossAxisAlignment: CrossAxisAlignment.start,
+        mainAxisSize: MainAxisSize.max,
+        children: <Widget>[
+          const SizedBox(height: 8),
+          const AppTitle(text: 'about_title'),
+          const Text('about_content').tr(),
+          FutureBuilder<PackageInfo>(
+            future: PackageInfo.fromPlatform(),
+            builder: (context, snapshot) {
+              switch (snapshot.connectionState) {
+                case ConnectionState.done:
+                  return const Text('about_version').tr(
+                    namedArgs: {
+                      'version': snapshot.data!.version,
+                    },
+                  );
+                default:
+                  return const SizedBox();
+              }
+            },
+          ),
+        ],
+      ),
+    );
+  }
+}
diff --git a/lib/ui/screens/page_game.dart b/lib/ui/screens/page_game.dart
new file mode 100644
index 0000000..d466198
--- /dev/null
+++ b/lib/ui/screens/page_game.dart
@@ -0,0 +1,24 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/ui/layouts/game_layout.dart';
+import 'package:puzzlegame/ui/layouts/parameters_layout.dart';
+
+class PageGame extends StatelessWidget {
+  const PageGame({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        return currentGame.isRunning
+            ? const GameLayout()
+            : ParametersLayout(canResume: currentGame.canBeResumed);
+      },
+    );
+  }
+}
diff --git a/lib/ui/screens/page_settings.dart b/lib/ui/screens/page_settings.dart
new file mode 100644
index 0000000..abc6288
--- /dev/null
+++ b/lib/ui/screens/page_settings.dart
@@ -0,0 +1,26 @@
+import 'package:flutter/material.dart';
+
+import 'package:puzzlegame/ui/helpers/app_titles.dart';
+import 'package:puzzlegame/ui/settings/settings_form.dart';
+
+class PageSettings extends StatelessWidget {
+  const PageSettings({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return const Padding(
+      padding: EdgeInsets.symmetric(horizontal: 8),
+      child: Column(
+        mainAxisAlignment: MainAxisAlignment.start,
+        crossAxisAlignment: CrossAxisAlignment.start,
+        mainAxisSize: MainAxisSize.max,
+        children: <Widget>[
+          SizedBox(height: 8),
+          AppTitle(text: 'settings_title'),
+          SizedBox(height: 8),
+          SettingsForm(),
+        ],
+      ),
+    );
+  }
+}
diff --git a/lib/ui/settings/settings_form.dart b/lib/ui/settings/settings_form.dart
new file mode 100644
index 0000000..e4e513f
--- /dev/null
+++ b/lib/ui/settings/settings_form.dart
@@ -0,0 +1,63 @@
+import 'package:easy_localization/easy_localization.dart';
+import 'package:flutter/material.dart';
+import 'package:unicons/unicons.dart';
+
+import 'package:puzzlegame/ui/settings/theme_card.dart';
+
+class SettingsForm extends StatefulWidget {
+  const SettingsForm({super.key});
+
+  @override
+  State<SettingsForm> createState() => _SettingsFormState();
+}
+
+class _SettingsFormState extends State<SettingsForm> {
+  @override
+  void dispose() {
+    super.dispose();
+  }
+
+  @override
+  void didChangeDependencies() {
+    super.didChangeDependencies();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Column(
+      mainAxisAlignment: MainAxisAlignment.start,
+      crossAxisAlignment: CrossAxisAlignment.start,
+      mainAxisSize: MainAxisSize.max,
+      children: <Widget>[
+        // Light/dark theme
+        Row(
+          mainAxisAlignment: MainAxisAlignment.spaceBetween,
+          crossAxisAlignment: CrossAxisAlignment.center,
+          children: <Widget>[
+            const Text('settings_label_theme').tr(),
+            const Row(
+              mainAxisAlignment: MainAxisAlignment.end,
+              crossAxisAlignment: CrossAxisAlignment.center,
+              children: [
+                ThemeCard(
+                  mode: ThemeMode.system,
+                  icon: UniconsLine.cog,
+                ),
+                ThemeCard(
+                  mode: ThemeMode.light,
+                  icon: UniconsLine.sun,
+                ),
+                ThemeCard(
+                  mode: ThemeMode.dark,
+                  icon: UniconsLine.moon,
+                )
+              ],
+            ),
+          ],
+        ),
+
+        const SizedBox(height: 16),
+      ],
+    );
+  }
+}
diff --git a/lib/ui/settings/theme_card.dart b/lib/ui/settings/theme_card.dart
new file mode 100644
index 0000000..1f44029
--- /dev/null
+++ b/lib/ui/settings/theme_card.dart
@@ -0,0 +1,47 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/theme_cubit.dart';
+
+class ThemeCard extends StatelessWidget {
+  const ThemeCard({
+    super.key,
+    required this.mode,
+    required this.icon,
+  });
+
+  final IconData icon;
+  final ThemeMode mode;
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<ThemeCubit, ThemeModeState>(
+      builder: (BuildContext context, ThemeModeState state) {
+        return Card(
+          elevation: 2,
+          shadowColor: Theme.of(context).colorScheme.shadow,
+          color: state.themeMode == mode
+              ? Theme.of(context).colorScheme.primary
+              : Theme.of(context).colorScheme.surface,
+          shape: const RoundedRectangleBorder(
+            borderRadius: BorderRadius.all(Radius.circular(12)),
+          ),
+          margin: const EdgeInsets.all(5),
+          child: InkWell(
+            onTap: () => BlocProvider.of<ThemeCubit>(context).getTheme(
+              ThemeModeState(themeMode: mode),
+            ),
+            borderRadius: const BorderRadius.all(Radius.circular(12)),
+            child: Icon(
+              icon,
+              size: 32,
+              color: state.themeMode != mode
+                  ? Theme.of(context).colorScheme.primary
+                  : Colors.white,
+            ),
+          ),
+        );
+      },
+    );
+  }
+}
diff --git a/lib/ui/skeleton.dart b/lib/ui/skeleton.dart
new file mode 100644
index 0000000..257ed0b
--- /dev/null
+++ b/lib/ui/skeleton.dart
@@ -0,0 +1,34 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/config/menu.dart';
+import 'package:puzzlegame/cubit/nav_cubit.dart';
+import 'package:puzzlegame/ui/widgets/global_app_bar.dart';
+
+class SkeletonScreen extends StatelessWidget {
+  const SkeletonScreen({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: const GlobalAppBar(),
+      extendBodyBehindAppBar: false,
+      body: Material(
+        color: Theme.of(context).colorScheme.surface,
+        child: BlocBuilder<NavCubit, int>(
+          builder: (BuildContext context, int pageIndex) {
+            return Padding(
+              padding: const EdgeInsets.only(
+                top: 8,
+                left: 2,
+                right: 2,
+              ),
+              child: Menu.getPageWidget(pageIndex),
+            );
+          },
+        ),
+      ),
+      backgroundColor: Theme.of(context).colorScheme.surface,
+    );
+  }
+}
diff --git a/lib/ui/widgets/actions/button_delete_saved_game.dart b/lib/ui/widgets/actions/button_delete_saved_game.dart
new file mode 100644
index 0000000..564f0c2
--- /dev/null
+++ b/lib/ui/widgets/actions/button_delete_saved_game.dart
@@ -0,0 +1,21 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+
+class DeleteSavedGameButton extends StatelessWidget {
+  const DeleteSavedGameButton({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return TextButton(
+      child: const Image(
+        image: AssetImage('assets/ui/button_delete_saved_game.png'),
+        fit: BoxFit.fill,
+      ),
+      onPressed: () {
+        BlocProvider.of<GameCubit>(context).deleteSavedGame();
+      },
+    );
+  }
+}
diff --git a/lib/ui/widgets/actions/button_game_quit.dart b/lib/ui/widgets/actions/button_game_quit.dart
new file mode 100644
index 0000000..5a11378
--- /dev/null
+++ b/lib/ui/widgets/actions/button_game_quit.dart
@@ -0,0 +1,21 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+
+class QuitGameButton extends StatelessWidget {
+  const QuitGameButton({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return TextButton(
+      child: const Image(
+        image: AssetImage('assets/ui/button_back.png'),
+        fit: BoxFit.fill,
+      ),
+      onPressed: () {
+        BlocProvider.of<GameCubit>(context).quitGame();
+      },
+    );
+  }
+}
diff --git a/lib/ui/widgets/actions/button_game_start_new.dart b/lib/ui/widgets/actions/button_game_start_new.dart
new file mode 100644
index 0000000..ce01705
--- /dev/null
+++ b/lib/ui/widgets/actions/button_game_start_new.dart
@@ -0,0 +1,34 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/cubit/settings_game_cubit.dart';
+import 'package:puzzlegame/cubit/settings_global_cubit.dart';
+
+class StartNewGameButton extends StatelessWidget {
+  const StartNewGameButton({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameSettingsCubit, GameSettingsState>(
+      builder: (BuildContext context, GameSettingsState gameSettingsState) {
+        return BlocBuilder<GlobalSettingsCubit, GlobalSettingsState>(
+          builder: (BuildContext context, GlobalSettingsState globalSettingsState) {
+            return TextButton(
+              child: const Image(
+                image: AssetImage('assets/ui/button_start.png'),
+                fit: BoxFit.fill,
+              ),
+              onPressed: () {
+                BlocProvider.of<GameCubit>(context).startNewGame(
+                  gameSettings: gameSettingsState.settings,
+                  globalSettings: globalSettingsState.settings,
+                );
+              },
+            );
+          },
+        );
+      },
+    );
+  }
+}
diff --git a/lib/ui/widgets/actions/button_resume_saved_game.dart b/lib/ui/widgets/actions/button_resume_saved_game.dart
new file mode 100644
index 0000000..b90f57b
--- /dev/null
+++ b/lib/ui/widgets/actions/button_resume_saved_game.dart
@@ -0,0 +1,21 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+
+class ResumeSavedGameButton extends StatelessWidget {
+  const ResumeSavedGameButton({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return TextButton(
+      child: const Image(
+        image: AssetImage('assets/ui/button_resume_game.png'),
+        fit: BoxFit.fill,
+      ),
+      onPressed: () {
+        BlocProvider.of<GameCubit>(context).resumeSavedGame();
+      },
+    );
+  }
+}
diff --git a/lib/ui/widgets/game/game.dart b/lib/ui/widgets/game/game.dart
new file mode 100644
index 0000000..5f28010
--- /dev/null
+++ b/lib/ui/widgets/game/game.dart
@@ -0,0 +1,32 @@
+import 'package:flutter/material.dart';
+
+import 'package:puzzlegame/ui/game/game_top.dart';
+import 'package:puzzlegame/ui/widgets/game/game_tileset.dart';
+
+class GameWidget extends StatelessWidget {
+  const GameWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return Column(
+      mainAxisAlignment: MainAxisAlignment.start,
+      crossAxisAlignment: CrossAxisAlignment.center,
+      children: [
+        const SizedBox(height: 8),
+        const GameTopWidget(),
+        const SizedBox(height: 2),
+        Expanded(
+          child: Container(
+            margin: const EdgeInsets.all(4),
+            padding: const EdgeInsets.all(4),
+            child: const Column(
+              children: [
+                GameTilesetwidget(),
+              ],
+            ),
+          ),
+        ),
+      ],
+    );
+  }
+}
diff --git a/lib/ui/widgets/game/game_board.dart b/lib/ui/widgets/game/game_board.dart
new file mode 100644
index 0000000..ea15c33
--- /dev/null
+++ b/lib/ui/widgets/game/game_board.dart
@@ -0,0 +1,32 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/ui/widgets/game/game_shuffling.dart';
+import 'package:puzzlegame/ui/widgets/game/game_tileset.dart';
+
+class GameBoardWidget extends StatelessWidget {
+  const GameBoardWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return Center(
+      child: BlocBuilder<GameCubit, GameState>(
+        builder: (BuildContext context, GameState gameState) {
+          final Game currentGame = gameState.currentGame;
+
+          BlocProvider.of<GameCubit>(context).updateTileSize(
+              (MediaQuery.of(context).size.width - 60) /
+                  currentGame.gameSettings.tilesetSizeValue);
+
+          if (currentGame.shufflingInProgress) {
+            return const GameShufflingWidget();
+          } else {
+            return const GameTilesetwidget();
+          }
+        },
+      ),
+    );
+  }
+}
diff --git a/lib/ui/widgets/game/game_shuffling.dart b/lib/ui/widgets/game/game_shuffling.dart
new file mode 100644
index 0000000..e02d78c
--- /dev/null
+++ b/lib/ui/widgets/game/game_shuffling.dart
@@ -0,0 +1,25 @@
+import 'package:flutter/material.dart';
+
+class GameShufflingWidget extends StatelessWidget {
+  const GameShufflingWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return const Column(
+      mainAxisSize: MainAxisSize.min,
+      mainAxisAlignment: MainAxisAlignment.center,
+      children: [
+        Text(
+          '⏳',
+          style: TextStyle(
+            fontSize: 60,
+            fontWeight: FontWeight.w600,
+            color: Colors.black,
+          ),
+        ),
+        SizedBox(height: 20),
+        CircularProgressIndicator(),
+      ],
+    );
+  }
+}
diff --git a/lib/entities/moving_tile.dart b/lib/ui/widgets/game/game_tile.dart
similarity index 52%
rename from lib/entities/moving_tile.dart
rename to lib/ui/widgets/game/game_tile.dart
index 99fa0a9..c3bf98c 100644
--- a/lib/entities/moving_tile.dart
+++ b/lib/ui/widgets/game/game_tile.dart
@@ -1,41 +1,16 @@
 import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
 
-import 'package:puzzlegame/entities/tile.dart';
-import 'package:puzzlegame/provider/data.dart';
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/moving_tile.dart';
 
-class MovingTile extends Tile {
-  int currentCol;
-  int currentRow;
+class GameTileWidget extends StatelessWidget {
+  const GameTileWidget({super.key, required this.tile});
 
-  MovingTile({
-    required this.currentCol,
-    required this.currentRow,
-    required super.image,
-    required super.size,
-    required super.originalCol,
-    required super.originalRow,
-  });
-
-  Container _tileWidget() {
-    return Container(
-      decoration: BoxDecoration(
-        color: Colors.black,
-        border: Border.all(
-          color: Colors.black,
-          width: 1,
-        ),
-      ),
-      child: Image(
-        image: image.image,
-        width: size,
-        height: size,
-        fit: BoxFit.fill,
-      ),
-    );
-  }
+  final MovingTile tile;
 
   @override
-  Widget widget(Data myProvider) {
+  Widget build(BuildContext context) {
     return DragTarget<List<int>>(
       builder: (
         BuildContext context,
@@ -43,38 +18,52 @@ class MovingTile extends Tile {
         List<dynamic> rejected,
       ) {
         return Container(
-          height: size,
-          width: size,
+          height: tile.size,
+          width: tile.size,
           color: Colors.cyan,
           child: Draggable<List<int>>(
             data: [
-              currentCol,
-              currentRow,
+              tile.currentCol,
+              tile.currentRow,
             ],
 
             // Widget when draggable is being dragged
-            feedback: _tileWidget(),
+            feedback: staticTile(),
 
             // Widget to display on original place when being dragged
             childWhenDragging: Container(
-              height: size,
-              width: size,
+              height: tile.size,
+              width: tile.size,
               color: Colors.pinkAccent,
             ),
 
             // Widget when draggable is stationary
-            child: _tileWidget(),
+            child: staticTile(),
           ),
         );
       },
       onAcceptWithDetails: (DragTargetDetails<List<int>> source) {
-        myProvider.swapTiles([currentCol, currentRow], source.data);
+        BlocProvider.of<GameCubit>(context)
+            .swapTiles([tile.currentCol, tile.currentRow], source.data);
       },
     );
   }
 
-  @override
-  bool isCorrect() {
-    return ((currentRow == originalRow) && (currentCol == originalCol));
+  Container staticTile() {
+    return Container(
+      decoration: BoxDecoration(
+        color: Colors.black,
+        border: Border.all(
+          color: Colors.black,
+          width: 1,
+        ),
+      ),
+      child: Image(
+        image: tile.image.image,
+        width: tile.size,
+        height: tile.size,
+        fit: BoxFit.fill,
+      ),
+    );
   }
 }
diff --git a/lib/ui/widgets/game/game_tileset.dart b/lib/ui/widgets/game/game_tileset.dart
new file mode 100644
index 0000000..fdeeb9f
--- /dev/null
+++ b/lib/ui/widgets/game/game_tileset.dart
@@ -0,0 +1,62 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/models/game/moving_tile.dart';
+import 'package:puzzlegame/ui/widgets/game/game_tile.dart';
+
+class GameTilesetwidget extends StatelessWidget {
+  const GameTilesetwidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        final Color borderColor = currentGame.isFinished ? Colors.green : Colors.orange;
+        final int tilesCount = currentGame.gameSettings.tilesetSizeValue;
+
+        final List<MovingTile> tiles = currentGame.tiles;
+        int tileIndex = 0;
+
+        return Container(
+          margin: const EdgeInsets.all(8),
+          padding: const EdgeInsets.all(8),
+          decoration: BoxDecoration(
+            color: borderColor,
+            borderRadius: BorderRadius.circular(8),
+            border: Border.all(
+              color: borderColor,
+              width: 8,
+            ),
+          ),
+          child: Table(
+            defaultColumnWidth: const IntrinsicColumnWidth(),
+            border: TableBorder.all(
+              color: Colors.black,
+              style: BorderStyle.solid,
+              width: 2,
+            ),
+            children: [
+              for (int row = 0; row < tilesCount; row++)
+                TableRow(
+                  children: [
+                    for (int col = 0; col < tilesCount; col++)
+                      Column(
+                        children: [
+                          GameTileWidget(
+                            tile: tiles[tileIndex++],
+                          )
+                        ],
+                      ),
+                  ],
+                ),
+            ],
+          ),
+        );
+      },
+    );
+  }
+}
diff --git a/lib/ui/widgets/game/game_tip.dart b/lib/ui/widgets/game/game_tip.dart
new file mode 100644
index 0000000..dc5a3d1
--- /dev/null
+++ b/lib/ui/widgets/game/game_tip.dart
@@ -0,0 +1,44 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+
+class GameTipWidget extends StatelessWidget {
+  const GameTipWidget({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        final Game currentGame = gameState.currentGame;
+
+        final String asset = 'assets/images/${currentGame.image}.png';
+        precacheImage(AssetImage(asset), context);
+
+        return TextButton(
+          child: Container(
+            decoration: BoxDecoration(
+              color: Colors.blue,
+              borderRadius: BorderRadius.circular(4),
+              border: Border.all(
+                color: Colors.blue,
+                width: 4,
+              ),
+            ),
+            child: Image(
+              height: currentGame.tileSize,
+              image: AssetImage(
+                currentGame.displayTip ? asset : 'assets/ui/tip_hidden.png',
+              ),
+              fit: BoxFit.fill,
+            ),
+          ),
+          onPressed: () {
+            BlocProvider.of<GameCubit>(context).toggleDisplayTipImage();
+          },
+        );
+      },
+    );
+  }
+}
diff --git a/lib/ui/widgets/global_app_bar.dart b/lib/ui/widgets/global_app_bar.dart
new file mode 100644
index 0000000..e2cfcb4
--- /dev/null
+++ b/lib/ui/widgets/global_app_bar.dart
@@ -0,0 +1,83 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/config/menu.dart';
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/cubit/nav_cubit.dart';
+import 'package:puzzlegame/models/game/game.dart';
+import 'package:puzzlegame/ui/helpers/app_titles.dart';
+
+class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget {
+  const GlobalAppBar({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        return BlocBuilder<NavCubit, int>(
+          builder: (BuildContext context, int pageIndex) {
+            final Game currentGame = gameState.currentGame;
+
+            final List<Widget> menuActions = [];
+
+            if (currentGame.isRunning && !currentGame.isFinished) {
+              menuActions.add(TextButton(
+                child: const Image(
+                  image: AssetImage('assets/ui/button_back.png'),
+                  fit: BoxFit.fill,
+                ),
+                onPressed: () {},
+                onLongPress: () {
+                  BlocProvider.of<GameCubit>(context).quitGame();
+                },
+              ));
+            } else {
+              if (pageIndex == Menu.indexGame) {
+                // go to Settings page
+                menuActions.add(ElevatedButton(
+                  onPressed: () {
+                    context.read<NavCubit>().goToSettingsPage();
+                  },
+                  style: ElevatedButton.styleFrom(
+                    shape: const CircleBorder(),
+                  ),
+                  child: Menu.menuItemSettings.icon,
+                ));
+
+                // go to About page
+                menuActions.add(ElevatedButton(
+                  onPressed: () {
+                    context.read<NavCubit>().goToAboutPage();
+                  },
+                  style: ElevatedButton.styleFrom(
+                    shape: const CircleBorder(),
+                  ),
+                  child: Menu.menuItemAbout.icon,
+                ));
+              } else {
+                // back to Home page
+                menuActions.add(ElevatedButton(
+                  onPressed: () {
+                    context.read<NavCubit>().goToGamePage();
+                  },
+                  style: ElevatedButton.styleFrom(
+                    shape: const CircleBorder(),
+                  ),
+                  child: Menu.menuItemGame.icon,
+                ));
+              }
+            }
+
+            return AppBar(
+              title: const AppHeader(text: 'app_name'),
+              actions: menuActions,
+            );
+          },
+        );
+      },
+    );
+  }
+
+  @override
+  Size get preferredSize => const Size.fromHeight(50);
+}
diff --git a/lib/ui/widgets/indicators/indicator_score.dart b/lib/ui/widgets/indicators/indicator_score.dart
new file mode 100644
index 0000000..349f715
--- /dev/null
+++ b/lib/ui/widgets/indicators/indicator_score.dart
@@ -0,0 +1,27 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
+
+import 'package:puzzlegame/cubit/game_cubit.dart';
+import 'package:puzzlegame/ui/helpers/outlined_text_widget.dart';
+import 'package:puzzlegame/utils/color_extensions.dart';
+
+class ScoreIndicator extends StatelessWidget {
+  const ScoreIndicator({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return BlocBuilder<GameCubit, GameState>(
+      builder: (BuildContext context, GameState gameState) {
+        const Color baseColor = Color.fromARGB(255, 218, 218, 218);
+        final Color outlineColor = baseColor.darken();
+
+        return OutlinedText(
+          text: gameState.currentGame.movesCount.toString(),
+          fontSize: 70,
+          textColor: baseColor,
+          outlineColor: outlineColor,
+        );
+      },
+    );
+  }
+}
diff --git a/lib/utils/color_extensions.dart b/lib/utils/color_extensions.dart
new file mode 100644
index 0000000..4e55e33
--- /dev/null
+++ b/lib/utils/color_extensions.dart
@@ -0,0 +1,33 @@
+import 'dart:ui';
+
+extension ColorExtension on Color {
+  Color darken([int percent = 40]) {
+    assert(1 <= percent && percent <= 100);
+    final value = 1 - percent / 100;
+    return Color.fromARGB(
+      alpha,
+      (red * value).round(),
+      (green * value).round(),
+      (blue * value).round(),
+    );
+  }
+
+  Color lighten([int percent = 40]) {
+    assert(1 <= percent && percent <= 100);
+    final value = percent / 100;
+    return Color.fromARGB(
+      alpha,
+      (red + ((255 - red) * value)).round(),
+      (green + ((255 - green) * value)).round(),
+      (blue + ((255 - blue) * value)).round(),
+    );
+  }
+
+  Color avg(Color other) {
+    final red = (this.red + other.red) ~/ 2;
+    final green = (this.green + other.green) ~/ 2;
+    final blue = (this.blue + other.blue) ~/ 2;
+    final alpha = (this.alpha + other.alpha) ~/ 2;
+    return Color.fromARGB(alpha, red, green, blue);
+  }
+}
diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart
deleted file mode 100644
index db7d57a..0000000
--- a/lib/utils/game_utils.dart
+++ /dev/null
@@ -1,120 +0,0 @@
-import 'dart:async';
-import 'dart:math';
-import 'dart:typed_data';
-
-import 'package:flutter/material.dart';
-import 'package:flutter/services.dart' show rootBundle;
-import 'package:image/image.dart' as imglib;
-
-import 'package:puzzlegame/entities/moving_tile.dart';
-import 'package:puzzlegame/entities/tile.dart';
-import 'package:puzzlegame/provider/data.dart';
-
-class GameUtils {
-  static String getImageAssetName(String imageCode) {
-    return 'assets/images/$imageCode.png';
-  }
-
-  static startGame(Data myProvider, String imageCode) {
-    myProvider.updateIsShufflingBoard(true);
-    myProvider.updateSelectedImage(imageCode);
-
-    Timer(const Duration(seconds: 1), () {
-      GameUtils.splitImageInTiles(myProvider);
-    });
-  }
-
-  static startRandomGame(Data myProvider) {
-    final List<int> sizes = [3, 4, 5];
-    sizes.shuffle();
-    myProvider.updateTilesCount(sizes[0]);
-
-    final List<String> images = myProvider.availableImages;
-    images.shuffle();
-
-    startGame(myProvider, images[0]);
-  }
-
-  static Future<void> resetGame(Data myProvider) async {
-    myProvider.resetSelectedImage();
-    myProvider.updateIsTipImageDisplayed(false);
-  }
-
-  static bool checkTilesetIsCleared(List<MovingTile> tiles) {
-    for (Tile tile in tiles) {
-      if (!tile.isCorrect()) {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  static List<MovingTile> shuffleMovingTiles(List<MovingTile> tiles) {
-    final Random random = Random();
-    final int tilesCount = tiles.length;
-
-    for (int i = 0; i < (10 * tilesCount); i++) {
-      final int indexTile1 = random.nextInt(tilesCount);
-      final int indexTile2 = random.nextInt(tilesCount);
-
-      final MovingTile swap = tiles[indexTile1];
-      tiles[indexTile1] = tiles[indexTile2];
-      tiles[indexTile2] = swap;
-
-      final int swapCol = tiles[indexTile1].currentCol;
-      tiles[indexTile1].currentCol = tiles[indexTile2].currentCol;
-      tiles[indexTile2].currentCol = swapCol;
-
-      final int swapRow = tiles[indexTile1].currentRow;
-      tiles[indexTile1].currentRow = tiles[indexTile2].currentRow;
-      tiles[indexTile2].currentRow = swapRow;
-    }
-
-    return tiles;
-  }
-
-  static Future<void> splitImageInTiles(Data myProvider) async {
-    final String imageAsset = getImageAssetName(myProvider.selectedImage);
-    final Uint8List imageData = (await rootBundle.load(imageAsset)).buffer.asUint8List();
-
-    final imglib.Image image = imglib.decodeImage(imageData) ??
-        imglib.Image.fromBytes(
-          height: 1,
-          width: 1,
-          bytes: Uint8List.fromList([]).buffer,
-        );
-
-    int x = 0, y = 0;
-    final int width = (image.width / myProvider.tilesCount).round();
-    final int height = (image.height / myProvider.tilesCount).round();
-
-    final List<MovingTile> tiles = [];
-    for (int i = 0; i < myProvider.tilesCount; i++) {
-      for (int j = 0; j < myProvider.tilesCount; j++) {
-        final Uint8List tileData = Uint8List.fromList(imglib.encodeJpg(imglib.copyCrop(
-          image,
-          x: x,
-          y: y,
-          width: width,
-          height: height,
-        )));
-
-        tiles.add(MovingTile(
-          currentCol: j,
-          currentRow: i,
-          image: Image.memory(tileData),
-          size: myProvider.tileImageSize,
-          originalCol: j,
-          originalRow: i,
-        ));
-
-        x += width;
-      }
-      x = 0;
-      y += height;
-    }
-
-    myProvider.updateTiles(shuffleMovingTiles(tiles));
-    myProvider.updateIsShufflingBoard(false);
-  }
-}
diff --git a/lib/utils/get_images_list.dart b/lib/utils/get_images_list.dart
deleted file mode 100644
index ea5210d..0000000
--- a/lib/utils/get_images_list.dart
+++ /dev/null
@@ -1,35 +0,0 @@
-import 'dart:async';
-import 'dart:convert';
-
-import 'package:flutter/services.dart';
-
-class GetImagesList {
-  GetImagesList();
-
-  List<String> _availableImages = [];
-
-  init() async {
-    await imagesFromLocalFile();
-  }
-
-  Future<void> imagesFromLocalFile() async {
-    String jsonString;
-    try {
-      jsonString = await rootBundle.loadString('assets/files/images.json');
-      final jsonResponse = await json.decode(jsonString);
-
-      List imagesList = jsonResponse['images'] as List;
-
-      for (var image in imagesList) {
-        _availableImages.add(image.toString());
-      }
-    } catch (e) {
-      _availableImages = [];
-    }
-
-    // Remove empty images
-    _availableImages.removeWhere((value) => (value == ''));
-  }
-
-  List<String> get availableImages => _availableImages;
-}
diff --git a/pubspec.lock b/pubspec.lock
index fdebf8b..b504a80 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,10 +5,34 @@ packages:
     dependency: transitive
     description:
       name: archive
-      sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d"
+      sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
       url: "https://pub.dev"
     source: hosted
-    version: "3.4.10"
+    version: "3.6.1"
+  args:
+    dependency: transitive
+    description:
+      name: args
+      sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.5.0"
+  async:
+    dependency: transitive
+    description:
+      name: async
+      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.11.0"
+  bloc:
+    dependency: transitive
+    description:
+      name: bloc
+      sha256: "106842ad6569f0b60297619e9e0b1885c2fb9bf84812935490e6c5275777804e"
+      url: "https://pub.dev"
+    source: hosted
+    version: "8.1.4"
   characters:
     dependency: transitive
     description:
@@ -17,22 +41,22 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.3.0"
-  collection:
+  clock:
     dependency: transitive
     description:
-      name: collection
-      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+      name: clock
+      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
       url: "https://pub.dev"
     source: hosted
-    version: "1.18.0"
-  convert:
+    version: "1.1.1"
+  collection:
     dependency: transitive
     description:
-      name: convert
-      sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
+      name: collection
+      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
       url: "https://pub.dev"
     source: hosted
-    version: "3.1.1"
+    version: "1.18.0"
   crypto:
     dependency: transitive
     description:
@@ -41,43 +65,133 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "3.0.3"
+  easy_localization:
+    dependency: "direct main"
+    description:
+      name: easy_localization
+      sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.7"
+  easy_logger:
+    dependency: transitive
+    description:
+      name: easy_logger
+      sha256: c764a6e024846f33405a2342caf91c62e357c24b02c04dbc712ef232bf30ffb7
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.0.2"
+  equatable:
+    dependency: "direct main"
+    description:
+      name: equatable
+      sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.0.5"
+  ffi:
+    dependency: transitive
+    description:
+      name: ffi
+      sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.2"
+  file:
+    dependency: transitive
+    description:
+      name: file
+      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "7.0.0"
   flutter:
     dependency: "direct main"
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_bloc:
+    dependency: "direct main"
+    description:
+      name: flutter_bloc
+      sha256: b594505eac31a0518bdcb4b5b79573b8d9117b193cc80cc12e17d639b10aa27a
+      url: "https://pub.dev"
+    source: hosted
+    version: "8.1.6"
   flutter_lints:
     dependency: "direct dev"
     description:
       name: flutter_lints
-      sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
+      sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.0.0"
+  flutter_localizations:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_web_plugins:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  hive:
+    dependency: "direct main"
+    description:
+      name: hive
+      sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.3"
+  http:
+    dependency: transitive
+    description:
+      name: http
+      sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.1"
+  http_parser:
+    dependency: transitive
+    description:
+      name: http_parser
+      sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
+      url: "https://pub.dev"
+    source: hosted
+    version: "4.0.2"
+  hydrated_bloc:
+    dependency: "direct main"
+    description:
+      name: hydrated_bloc
+      sha256: af35b357739fe41728df10bec03aad422cdc725a1e702e03af9d2a41ea05160c
       url: "https://pub.dev"
     source: hosted
-    version: "3.0.1"
+    version: "9.1.5"
   image:
     dependency: "direct main"
     description:
       name: image
-      sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e"
+      sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8"
       url: "https://pub.dev"
     source: hosted
-    version: "4.1.7"
-  js:
+    version: "4.2.0"
+  intl:
     dependency: transitive
     description:
-      name: js
-      sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
+      name: intl
+      sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
       url: "https://pub.dev"
     source: hosted
-    version: "0.7.1"
+    version: "0.19.0"
   lints:
     dependency: transitive
     description:
       name: lints
-      sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
+      sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235"
       url: "https://pub.dev"
     source: hosted
-    version: "3.0.0"
+    version: "4.0.0"
   material_color_utilities:
     dependency: transitive
     description:
@@ -90,10 +204,10 @@ packages:
     dependency: transitive
     description:
       name: meta
-      sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
+      sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
       url: "https://pub.dev"
     source: hosted
-    version: "1.11.0"
+    version: "1.12.0"
   nested:
     dependency: transitive
     description:
@@ -102,6 +216,22 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.0.0"
+  package_info_plus:
+    dependency: "direct main"
+    description:
+      name: package_info_plus
+      sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0
+      url: "https://pub.dev"
+    source: hosted
+    version: "8.0.0"
+  package_info_plus_platform_interface:
+    dependency: transitive
+    description:
+      name: package_info_plus_platform_interface
+      sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.0"
   path:
     dependency: transitive
     description:
@@ -110,6 +240,54 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.9.0"
+  path_provider:
+    dependency: "direct main"
+    description:
+      name: path_provider
+      sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.3"
+  path_provider_android:
+    dependency: transitive
+    description:
+      name: path_provider_android
+      sha256: "9c96da072b421e98183f9ea7464898428e764bc0ce5567f27ec8693442e72514"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.5"
+  path_provider_foundation:
+    dependency: transitive
+    description:
+      name: path_provider_foundation
+      sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.0"
+  path_provider_linux:
+    dependency: transitive
+    description:
+      name: path_provider_linux
+      sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.1"
+  path_provider_platform_interface:
+    dependency: transitive
+    description:
+      name: path_provider_platform_interface
+      sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.2"
+  path_provider_windows:
+    dependency: transitive
+    description:
+      name: path_provider_windows
+      sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.1"
   petitparser:
     dependency: transitive
     description:
@@ -118,27 +296,123 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "6.0.2"
-  pointycastle:
+  platform:
+    dependency: transitive
+    description:
+      name: platform
+      sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.1.5"
+  plugin_platform_interface:
     dependency: transitive
     description:
-      name: pointycastle
-      sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
+      name: plugin_platform_interface
+      sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
       url: "https://pub.dev"
     source: hosted
-    version: "3.7.4"
+    version: "2.1.8"
   provider:
-    dependency: "direct main"
+    dependency: transitive
     description:
       name: provider
       sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
       url: "https://pub.dev"
     source: hosted
     version: "6.1.2"
+  shared_preferences:
+    dependency: transitive
+    description:
+      name: shared_preferences
+      sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.3"
+  shared_preferences_android:
+    dependency: transitive
+    description:
+      name: shared_preferences_android
+      sha256: "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.3"
+  shared_preferences_foundation:
+    dependency: transitive
+    description:
+      name: shared_preferences_foundation
+      sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.4.0"
+  shared_preferences_linux:
+    dependency: transitive
+    description:
+      name: shared_preferences_linux
+      sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.2"
+  shared_preferences_platform_interface:
+    dependency: transitive
+    description:
+      name: shared_preferences_platform_interface
+      sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.2"
+  shared_preferences_web:
+    dependency: transitive
+    description:
+      name: shared_preferences_web
+      sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.0"
+  shared_preferences_windows:
+    dependency: transitive
+    description:
+      name: shared_preferences_windows
+      sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.3.2"
   sky_engine:
     dependency: transitive
     description: flutter
     source: sdk
     version: "0.0.99"
+  source_span:
+    dependency: transitive
+    description:
+      name: source_span
+      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.10.0"
+  string_scanner:
+    dependency: transitive
+    description:
+      name: string_scanner
+      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.0"
+  synchronized:
+    dependency: transitive
+    description:
+      name: synchronized
+      sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.1.0+1"
+  term_glyph:
+    dependency: transitive
+    description:
+      name: term_glyph
+      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.2.1"
   typed_data:
     dependency: transitive
     description:
@@ -147,6 +421,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.3.2"
+  unicons:
+    dependency: "direct main"
+    description:
+      name: unicons
+      sha256: dbfcf93ff4d4ea19b324113857e358e4882115ab85db04417a4ba1c72b17a670
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.1"
   vector_math:
     dependency: transitive
     description:
@@ -155,6 +437,30 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "2.1.4"
+  web:
+    dependency: transitive
+    description:
+      name: web
+      sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
+      url: "https://pub.dev"
+    source: hosted
+    version: "0.5.1"
+  win32:
+    dependency: transitive
+    description:
+      name: win32
+      sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4
+      url: "https://pub.dev"
+    source: hosted
+    version: "5.5.1"
+  xdg_directories:
+    dependency: transitive
+    description:
+      name: xdg_directories
+      sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.0.4"
   xml:
     dependency: transitive
     description:
@@ -164,5 +470,5 @@ packages:
     source: hosted
     version: "6.5.0"
 sdks:
-  dart: ">=3.2.0 <4.0.0"
-  flutter: ">=1.16.0"
+  dart: ">=3.4.0 <4.0.0"
+  flutter: ">=3.22.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 1d3230d..5b25af4 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,23 +1,49 @@
 name: puzzlegame
 description: A puzzle game application.
-publish_to: 'none'
-version: 0.0.61+61
+
+publish_to: "none"
+
+version: 0.1.0+62
 
 environment:
-  sdk: '^3.0.0'
+  sdk: "^3.0.0"
 
 dependencies:
   flutter:
     sdk: flutter
+
+  # base
+  easy_localization: ^3.0.1
+  equatable: ^2.0.5
+  flutter_bloc: ^8.1.1
+  hive: ^2.2.3
+  hydrated_bloc: ^9.0.0
+  package_info_plus: ^8.0.0
+  path_provider: ^2.0.11
+  unicons: ^2.1.1
+
+  # specific
   image: ^4.1.3
-  provider: ^6.0.5
 
 dev_dependencies:
-  flutter_lints: ^3.0.1
+  flutter_lints: ^4.0.0
 
 flutter:
   uses-material-design: true
   assets:
-    - assets/files/
-    - assets/icons/
     - assets/images/
+    - assets/ui/
+    - assets/translations/
+
+  fonts:
+    - family: Nunito
+      fonts:
+        - asset: assets/fonts/Nunito-Bold.ttf
+          weight: 700
+        - asset: assets/fonts/Nunito-Medium.ttf
+          weight: 500
+        - asset: assets/fonts/Nunito-Regular.ttf
+          weight: 400
+        - asset: assets/fonts/Nunito-Light.ttf
+          weight: 300
+
diff --git a/icons/build_application_icons.sh b/resources/app/build_application_resources.sh
similarity index 98%
rename from icons/build_application_icons.sh
rename to resources/app/build_application_resources.sh
index 27dbe26..6d67b8f 100755
--- a/icons/build_application_icons.sh
+++ b/resources/app/build_application_resources.sh
@@ -6,7 +6,7 @@ command -v scour >/dev/null 2>&1 || { echo >&2 "I require scour but it's not ins
 command -v optipng >/dev/null 2>&1 || { echo >&2 "I require optipng but it's not installed. Aborting."; exit 1; }
 
 CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
-BASE_DIR="$(dirname "${CURRENT_DIR}")"
+BASE_DIR="$(dirname "$(dirname "${CURRENT_DIR}")")"
 
 SOURCE_ICON="${CURRENT_DIR}/icon.svg"
 SOURCE_FASTLANE="${CURRENT_DIR}/featureGraphic.svg"
diff --git a/icons/featureGraphic.svg b/resources/app/featureGraphic.svg
similarity index 100%
rename from icons/featureGraphic.svg
rename to resources/app/featureGraphic.svg
diff --git a/icons/icon.svg b/resources/app/icon.svg
similarity index 100%
rename from icons/icon.svg
rename to resources/app/icon.svg
diff --git a/resources/build_resources.sh b/resources/build_resources.sh
new file mode 100755
index 0000000..41cf772
--- /dev/null
+++ b/resources/build_resources.sh
@@ -0,0 +1,8 @@
+#! /bin/bash
+
+CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+
+${CURRENT_DIR}/app/build_application_resources.sh
+${CURRENT_DIR}/ui/build_ui_resources.sh
+${CURRENT_DIR}/data/build_images_assets_list.sh
+
diff --git a/scripts/.gitignore b/resources/data/.gitignore
similarity index 100%
rename from scripts/.gitignore
rename to resources/data/.gitignore
diff --git a/scripts/01_optimize_images.sh b/resources/data/00_optimize_images.sh
similarity index 100%
rename from scripts/01_optimize_images.sh
rename to resources/data/00_optimize_images.sh
diff --git a/scripts/02_build_images_assets_list.sh b/resources/data/build_images_assets_list.sh
similarity index 63%
rename from scripts/02_build_images_assets_list.sh
rename to resources/data/build_images_assets_list.sh
index 3e9e3db..ddafcb2 100755
--- a/scripts/02_build_images_assets_list.sh
+++ b/resources/data/build_images_assets_list.sh
@@ -3,12 +3,10 @@
 command -v jq >/dev/null 2>&1 || { echo >&2 "I require jq (json parser) but it's not installed. Aborting."; exit 1; }
 
 CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
-BASE_DIR="$(dirname "${CURRENT_DIR}")"
+BASE_DIR="$(dirname "$(dirname "${CURRENT_DIR}")")"
 
 ASSETS_BASE_FOLDER="${BASE_DIR}/assets"
-OUTPUT_ASSETS_FILE="${ASSETS_BASE_FOLDER}/files/images.json"
 IMAGES_ASSETS_FOLDER="${ASSETS_BASE_FOLDER}/images"
-touch "${OUTPUT_ASSETS_FILE}"
 
 IMAGES_CACHE_FOLDER="${CURRENT_DIR}/cache"
 IMAGES_OPTIMIZED_FOLDER="${IMAGES_CACHE_FOLDER}/02_optimized_images"
@@ -24,22 +22,25 @@ echo "Building assets json file..."
 
 FILES="$(find "${IMAGES_ASSETS_FOLDER}" -type f -name "*.png" | sed "s|^${IMAGES_OPTIMIZED_FOLDER}/||g" | sort)"
 
-OUTPUT_ASSETS_FILE_TMP="${OUTPUT_ASSETS_FILE}.tmp"
-echo "{" > "${OUTPUT_ASSETS_FILE_TMP}"
-echo "  \"images\": [" >> "${OUTPUT_ASSETS_FILE_TMP}"
+echo "Injecting json file in game_data.dart..."
+
+GAME_DATA_DART_FILE="${BASE_DIR}/lib/data/game_data.dart"
+echo "class GameData {" >"${GAME_DATA_DART_FILE}"
+echo "  static const Map<String, dynamic> data = {" >>"${GAME_DATA_DART_FILE}"
+echo "    \"images\": [" >>"${GAME_DATA_DART_FILE}"
 while read -r FILE; do
   FILE_CODE="$(basename "${FILE%.*}")"
   if [[ -n "${FILE}" ]]; then
     echo "- ${FILE_CODE}"
-    echo "    \"${FILE_CODE}\"," >> "${OUTPUT_ASSETS_FILE_TMP}"
+    echo "      \"${FILE_CODE}\"," >>"${GAME_DATA_DART_FILE}"
   fi
 done < <(echo "${FILES}")
-echo "    \"\"" >> "${OUTPUT_ASSETS_FILE_TMP}"
-echo "  ]" >> "${OUTPUT_ASSETS_FILE_TMP}"
-echo "}" >> "${OUTPUT_ASSETS_FILE_TMP}"
+echo "    ]" >>"${GAME_DATA_DART_FILE}"
+echo "  };" >>"${GAME_DATA_DART_FILE}"
+
+echo "}" >>"${GAME_DATA_DART_FILE}"
 
-# Format json
-cat "${OUTPUT_ASSETS_FILE_TMP}" | jq > "${OUTPUT_ASSETS_FILE}"
-rm "${OUTPUT_ASSETS_FILE_TMP}"
+echo "Formatting dart source code file..."
+dart format "${GAME_DATA_DART_FILE}"
 
 echo "done."
diff --git a/scripts/cache/01_raw_images/.gitkeep b/resources/data/cache/01_raw_images/.gitkeep
similarity index 100%
rename from scripts/cache/01_raw_images/.gitkeep
rename to resources/data/cache/01_raw_images/.gitkeep
diff --git a/scripts/cache/01_raw_images/00_default/19-93194.jpg b/resources/data/cache/01_raw_images/00_default/19-93194.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/00_default/19-93194.jpg
rename to resources/data/cache/01_raw_images/00_default/19-93194.jpg
diff --git a/scripts/cache/01_raw_images/00_default/1902316.jpg b/resources/data/cache/01_raw_images/00_default/1902316.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/00_default/1902316.jpg
rename to resources/data/cache/01_raw_images/00_default/1902316.jpg
diff --git a/scripts/cache/01_raw_images/00_default/667852_poster_l.jpg b/resources/data/cache/01_raw_images/00_default/667852_poster_l.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/00_default/667852_poster_l.jpg
rename to resources/data/cache/01_raw_images/00_default/667852_poster_l.jpg
diff --git a/scripts/cache/01_raw_images/00_default/goodmorningforsta.jpg b/resources/data/cache/01_raw_images/00_default/goodmorningforsta.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/00_default/goodmorningforsta.jpg
rename to resources/data/cache/01_raw_images/00_default/goodmorningforsta.jpg
diff --git a/scripts/cache/01_raw_images/animals/1-34816.jpg b/resources/data/cache/01_raw_images/animals/1-34816.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1-34816.jpg
rename to resources/data/cache/01_raw_images/animals/1-34816.jpg
diff --git a/scripts/cache/01_raw_images/animals/1869714.jpg b/resources/data/cache/01_raw_images/animals/1869714.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1869714.jpg
rename to resources/data/cache/01_raw_images/animals/1869714.jpg
diff --git a/scripts/cache/01_raw_images/animals/1872282.jpg b/resources/data/cache/01_raw_images/animals/1872282.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1872282.jpg
rename to resources/data/cache/01_raw_images/animals/1872282.jpg
diff --git a/scripts/cache/01_raw_images/animals/1880455.jpg b/resources/data/cache/01_raw_images/animals/1880455.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1880455.jpg
rename to resources/data/cache/01_raw_images/animals/1880455.jpg
diff --git a/scripts/cache/01_raw_images/animals/1888275.jpg b/resources/data/cache/01_raw_images/animals/1888275.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1888275.jpg
rename to resources/data/cache/01_raw_images/animals/1888275.jpg
diff --git a/scripts/cache/01_raw_images/animals/1889220.jpg b/resources/data/cache/01_raw_images/animals/1889220.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1889220.jpg
rename to resources/data/cache/01_raw_images/animals/1889220.jpg
diff --git a/scripts/cache/01_raw_images/animals/1889565.jpg b/resources/data/cache/01_raw_images/animals/1889565.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/1889565.jpg
rename to resources/data/cache/01_raw_images/animals/1889565.jpg
diff --git a/scripts/cache/01_raw_images/animals/2-13953.jpg b/resources/data/cache/01_raw_images/animals/2-13953.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/2-13953.jpg
rename to resources/data/cache/01_raw_images/animals/2-13953.jpg
diff --git a/scripts/cache/01_raw_images/animals/3-54091.jpg b/resources/data/cache/01_raw_images/animals/3-54091.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/3-54091.jpg
rename to resources/data/cache/01_raw_images/animals/3-54091.jpg
diff --git a/scripts/cache/01_raw_images/animals/681366_poster_l.jpg b/resources/data/cache/01_raw_images/animals/681366_poster_l.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/681366_poster_l.jpg
rename to resources/data/cache/01_raw_images/animals/681366_poster_l.jpg
diff --git a/scripts/cache/01_raw_images/animals/683592_poster_l.jpg b/resources/data/cache/01_raw_images/animals/683592_poster_l.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/683592_poster_l.jpg
rename to resources/data/cache/01_raw_images/animals/683592_poster_l.jpg
diff --git a/scripts/cache/01_raw_images/animals/7-24566.jpg b/resources/data/cache/01_raw_images/animals/7-24566.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/7-24566.jpg
rename to resources/data/cache/01_raw_images/animals/7-24566.jpg
diff --git a/scripts/cache/01_raw_images/animals/Alpaca-In-The-Mountains-Karin-Bijlsma-Affiche.webp.png b/resources/data/cache/01_raw_images/animals/Alpaca-In-The-Mountains-Karin-Bijlsma-Affiche.webp.png
similarity index 100%
rename from scripts/cache/01_raw_images/animals/Alpaca-In-The-Mountains-Karin-Bijlsma-Affiche.webp.png
rename to resources/data/cache/01_raw_images/animals/Alpaca-In-The-Mountains-Karin-Bijlsma-Affiche.webp.png
diff --git a/scripts/cache/01_raw_images/animals/Being-Lazy-Andy-Westface-Affiche.webp.png b/resources/data/cache/01_raw_images/animals/Being-Lazy-Andy-Westface-Affiche.webp.png
similarity index 100%
rename from scripts/cache/01_raw_images/animals/Being-Lazy-Andy-Westface-Affiche.webp.png
rename to resources/data/cache/01_raw_images/animals/Being-Lazy-Andy-Westface-Affiche.webp.png
diff --git a/scripts/cache/01_raw_images/animals/Fly-High-Together-Andy-Westface-Affiche.webp.png b/resources/data/cache/01_raw_images/animals/Fly-High-Together-Andy-Westface-Affiche.webp.png
similarity index 100%
rename from scripts/cache/01_raw_images/animals/Fly-High-Together-Andy-Westface-Affiche.webp.png
rename to resources/data/cache/01_raw_images/animals/Fly-High-Together-Andy-Westface-Affiche.webp.png
diff --git a/scripts/cache/01_raw_images/animals/Me-Time-Andy-Westface-Affiche.webp.png b/resources/data/cache/01_raw_images/animals/Me-Time-Andy-Westface-Affiche.webp.png
similarity index 100%
rename from scripts/cache/01_raw_images/animals/Me-Time-Andy-Westface-Affiche.webp.png
rename to resources/data/cache/01_raw_images/animals/Me-Time-Andy-Westface-Affiche.webp.png
diff --git a/scripts/cache/01_raw_images/animals/Zebra-Balloon-Paul-Fuentes-Affiche.webp.png b/resources/data/cache/01_raw_images/animals/Zebra-Balloon-Paul-Fuentes-Affiche.webp.png
similarity index 100%
rename from scripts/cache/01_raw_images/animals/Zebra-Balloon-Paul-Fuentes-Affiche.webp.png
rename to resources/data/cache/01_raw_images/animals/Zebra-Balloon-Paul-Fuentes-Affiche.webp.png
diff --git a/scripts/cache/01_raw_images/animals/panda.jpg b/resources/data/cache/01_raw_images/animals/panda.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/panda.jpg
rename to resources/data/cache/01_raw_images/animals/panda.jpg
diff --git a/scripts/cache/01_raw_images/animals/rainmaker.jpg b/resources/data/cache/01_raw_images/animals/rainmaker.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/animals/rainmaker.jpg
rename to resources/data/cache/01_raw_images/animals/rainmaker.jpg
diff --git a/scripts/cache/01_raw_images/anime/1893736.jpg b/resources/data/cache/01_raw_images/anime/1893736.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/anime/1893736.jpg
rename to resources/data/cache/01_raw_images/anime/1893736.jpg
diff --git a/scripts/cache/01_raw_images/anime/1896891.jpg b/resources/data/cache/01_raw_images/anime/1896891.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/anime/1896891.jpg
rename to resources/data/cache/01_raw_images/anime/1896891.jpg
diff --git a/scripts/cache/01_raw_images/dinosaurs/1879022.jpg b/resources/data/cache/01_raw_images/dinosaurs/1879022.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/dinosaurs/1879022.jpg
rename to resources/data/cache/01_raw_images/dinosaurs/1879022.jpg
diff --git a/scripts/cache/01_raw_images/dinosaurs/Diplodocus-Dieter-Braun-Affiche.webp.png b/resources/data/cache/01_raw_images/dinosaurs/Diplodocus-Dieter-Braun-Affiche.webp.png
similarity index 100%
rename from scripts/cache/01_raw_images/dinosaurs/Diplodocus-Dieter-Braun-Affiche.webp.png
rename to resources/data/cache/01_raw_images/dinosaurs/Diplodocus-Dieter-Braun-Affiche.webp.png
diff --git a/scripts/cache/01_raw_images/ghibli/1882483.jpg b/resources/data/cache/01_raw_images/ghibli/1882483.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/ghibli/1882483.jpg
rename to resources/data/cache/01_raw_images/ghibli/1882483.jpg
diff --git a/scripts/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8-1.jpg b/resources/data/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8-1.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8-1.jpg
rename to resources/data/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8-1.jpg
diff --git a/scripts/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8.jpg b/resources/data/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8.jpg
rename to resources/data/cache/01_raw_images/ghibli/flat,750x,075,f-pad,750x1000,f8f8f8.jpg
diff --git a/scripts/cache/01_raw_images/ghibli/totoro.png b/resources/data/cache/01_raw_images/ghibli/totoro.png
similarity index 100%
rename from scripts/cache/01_raw_images/ghibli/totoro.png
rename to resources/data/cache/01_raw_images/ghibli/totoro.png
diff --git a/scripts/cache/01_raw_images/harrypotter/1893827.jpg b/resources/data/cache/01_raw_images/harrypotter/1893827.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/harrypotter/1893827.jpg
rename to resources/data/cache/01_raw_images/harrypotter/1893827.jpg
diff --git a/scripts/cache/01_raw_images/harrypotter/1893838.jpg b/resources/data/cache/01_raw_images/harrypotter/1893838.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/harrypotter/1893838.jpg
rename to resources/data/cache/01_raw_images/harrypotter/1893838.jpg
diff --git a/scripts/cache/01_raw_images/nature/11-74513.jpg b/resources/data/cache/01_raw_images/nature/11-74513.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/nature/11-74513.jpg
rename to resources/data/cache/01_raw_images/nature/11-74513.jpg
diff --git a/scripts/cache/01_raw_images/nature/5-42180.jpg b/resources/data/cache/01_raw_images/nature/5-42180.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/nature/5-42180.jpg
rename to resources/data/cache/01_raw_images/nature/5-42180.jpg
diff --git a/scripts/cache/01_raw_images/nature/8-43315.jpg b/resources/data/cache/01_raw_images/nature/8-43315.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/nature/8-43315.jpg
rename to resources/data/cache/01_raw_images/nature/8-43315.jpg
diff --git a/scripts/cache/01_raw_images/personal/00b6f4b4509f4dd42ba672d7d98e8b12.jpg b/resources/data/cache/01_raw_images/personal/00b6f4b4509f4dd42ba672d7d98e8b12.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/00b6f4b4509f4dd42ba672d7d98e8b12.jpg
rename to resources/data/cache/01_raw_images/personal/00b6f4b4509f4dd42ba672d7d98e8b12.jpg
diff --git a/scripts/cache/01_raw_images/personal/02db820b7bb1747485d006a6c31f3b26.jpg b/resources/data/cache/01_raw_images/personal/02db820b7bb1747485d006a6c31f3b26.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/02db820b7bb1747485d006a6c31f3b26.jpg
rename to resources/data/cache/01_raw_images/personal/02db820b7bb1747485d006a6c31f3b26.jpg
diff --git a/scripts/cache/01_raw_images/personal/03a5166c2c85336e307c6f7cc19aaa53.jpg b/resources/data/cache/01_raw_images/personal/03a5166c2c85336e307c6f7cc19aaa53.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/03a5166c2c85336e307c6f7cc19aaa53.jpg
rename to resources/data/cache/01_raw_images/personal/03a5166c2c85336e307c6f7cc19aaa53.jpg
diff --git a/scripts/cache/01_raw_images/personal/0e6b73b5932cd51d9e73b4ee38a15d39.jpg b/resources/data/cache/01_raw_images/personal/0e6b73b5932cd51d9e73b4ee38a15d39.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/0e6b73b5932cd51d9e73b4ee38a15d39.jpg
rename to resources/data/cache/01_raw_images/personal/0e6b73b5932cd51d9e73b4ee38a15d39.jpg
diff --git a/scripts/cache/01_raw_images/personal/1a586eb5b865bc350345057318a5728f.jpg b/resources/data/cache/01_raw_images/personal/1a586eb5b865bc350345057318a5728f.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/1a586eb5b865bc350345057318a5728f.jpg
rename to resources/data/cache/01_raw_images/personal/1a586eb5b865bc350345057318a5728f.jpg
diff --git a/scripts/cache/01_raw_images/personal/20190519_125238.jpg b/resources/data/cache/01_raw_images/personal/20190519_125238.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20190519_125238.jpg
rename to resources/data/cache/01_raw_images/personal/20190519_125238.jpg
diff --git a/scripts/cache/01_raw_images/personal/20190722_140748.jpg b/resources/data/cache/01_raw_images/personal/20190722_140748.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20190722_140748.jpg
rename to resources/data/cache/01_raw_images/personal/20190722_140748.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200606_095643.jpg b/resources/data/cache/01_raw_images/personal/20200606_095643.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200606_095643.jpg
rename to resources/data/cache/01_raw_images/personal/20200606_095643.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200606_102141.jpg b/resources/data/cache/01_raw_images/personal/20200606_102141.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200606_102141.jpg
rename to resources/data/cache/01_raw_images/personal/20200606_102141.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200618_120810.jpg b/resources/data/cache/01_raw_images/personal/20200618_120810.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200618_120810.jpg
rename to resources/data/cache/01_raw_images/personal/20200618_120810.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200618_123346.jpg b/resources/data/cache/01_raw_images/personal/20200618_123346.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200618_123346.jpg
rename to resources/data/cache/01_raw_images/personal/20200618_123346.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200619_142852.jpg b/resources/data/cache/01_raw_images/personal/20200619_142852.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200619_142852.jpg
rename to resources/data/cache/01_raw_images/personal/20200619_142852.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200619_213922_1.jpg b/resources/data/cache/01_raw_images/personal/20200619_213922_1.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200619_213922_1.jpg
rename to resources/data/cache/01_raw_images/personal/20200619_213922_1.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200623_100706.jpg b/resources/data/cache/01_raw_images/personal/20200623_100706.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200623_100706.jpg
rename to resources/data/cache/01_raw_images/personal/20200623_100706.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200625_124835.jpg b/resources/data/cache/01_raw_images/personal/20200625_124835.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200625_124835.jpg
rename to resources/data/cache/01_raw_images/personal/20200625_124835.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200626_124209.jpg b/resources/data/cache/01_raw_images/personal/20200626_124209.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200626_124209.jpg
rename to resources/data/cache/01_raw_images/personal/20200626_124209.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200630_101026.jpg b/resources/data/cache/01_raw_images/personal/20200630_101026.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200630_101026.jpg
rename to resources/data/cache/01_raw_images/personal/20200630_101026.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200630_101557.jpg b/resources/data/cache/01_raw_images/personal/20200630_101557.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200630_101557.jpg
rename to resources/data/cache/01_raw_images/personal/20200630_101557.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200630_101758.jpg b/resources/data/cache/01_raw_images/personal/20200630_101758.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200630_101758.jpg
rename to resources/data/cache/01_raw_images/personal/20200630_101758.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200701_144641.jpg b/resources/data/cache/01_raw_images/personal/20200701_144641.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200701_144641.jpg
rename to resources/data/cache/01_raw_images/personal/20200701_144641.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200705_093806.jpg b/resources/data/cache/01_raw_images/personal/20200705_093806.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200705_093806.jpg
rename to resources/data/cache/01_raw_images/personal/20200705_093806.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200717_161441.jpg b/resources/data/cache/01_raw_images/personal/20200717_161441.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200717_161441.jpg
rename to resources/data/cache/01_raw_images/personal/20200717_161441.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200722_005935.jpg b/resources/data/cache/01_raw_images/personal/20200722_005935.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200722_005935.jpg
rename to resources/data/cache/01_raw_images/personal/20200722_005935.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200724_163236.jpg b/resources/data/cache/01_raw_images/personal/20200724_163236.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200724_163236.jpg
rename to resources/data/cache/01_raw_images/personal/20200724_163236.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200724_224026.jpg b/resources/data/cache/01_raw_images/personal/20200724_224026.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200724_224026.jpg
rename to resources/data/cache/01_raw_images/personal/20200724_224026.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200727_094000.jpg b/resources/data/cache/01_raw_images/personal/20200727_094000.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200727_094000.jpg
rename to resources/data/cache/01_raw_images/personal/20200727_094000.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200728_111054.jpg b/resources/data/cache/01_raw_images/personal/20200728_111054.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200728_111054.jpg
rename to resources/data/cache/01_raw_images/personal/20200728_111054.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200728_140354.jpg b/resources/data/cache/01_raw_images/personal/20200728_140354.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200728_140354.jpg
rename to resources/data/cache/01_raw_images/personal/20200728_140354.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200731_204947.jpg b/resources/data/cache/01_raw_images/personal/20200731_204947.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200731_204947.jpg
rename to resources/data/cache/01_raw_images/personal/20200731_204947.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200801_185650.jpg b/resources/data/cache/01_raw_images/personal/20200801_185650.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200801_185650.jpg
rename to resources/data/cache/01_raw_images/personal/20200801_185650.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200802_163415.jpg b/resources/data/cache/01_raw_images/personal/20200802_163415.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200802_163415.jpg
rename to resources/data/cache/01_raw_images/personal/20200802_163415.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200802_163639.jpg b/resources/data/cache/01_raw_images/personal/20200802_163639.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200802_163639.jpg
rename to resources/data/cache/01_raw_images/personal/20200802_163639.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200802_163829.jpg b/resources/data/cache/01_raw_images/personal/20200802_163829.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200802_163829.jpg
rename to resources/data/cache/01_raw_images/personal/20200802_163829.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200802_164012.jpg b/resources/data/cache/01_raw_images/personal/20200802_164012.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200802_164012.jpg
rename to resources/data/cache/01_raw_images/personal/20200802_164012.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200802_172820.jpg b/resources/data/cache/01_raw_images/personal/20200802_172820.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200802_172820.jpg
rename to resources/data/cache/01_raw_images/personal/20200802_172820.jpg
diff --git a/scripts/cache/01_raw_images/personal/20200802_173007.jpg b/resources/data/cache/01_raw_images/personal/20200802_173007.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/20200802_173007.jpg
rename to resources/data/cache/01_raw_images/personal/20200802_173007.jpg
diff --git a/scripts/cache/01_raw_images/personal/2a16dbaeeeef30a6b5479a8ba00aab9b.jpg b/resources/data/cache/01_raw_images/personal/2a16dbaeeeef30a6b5479a8ba00aab9b.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/2a16dbaeeeef30a6b5479a8ba00aab9b.jpg
rename to resources/data/cache/01_raw_images/personal/2a16dbaeeeef30a6b5479a8ba00aab9b.jpg
diff --git a/scripts/cache/01_raw_images/personal/31f577dd1d3c6158f20bd2e3668a6d74.jpg b/resources/data/cache/01_raw_images/personal/31f577dd1d3c6158f20bd2e3668a6d74.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/31f577dd1d3c6158f20bd2e3668a6d74.jpg
rename to resources/data/cache/01_raw_images/personal/31f577dd1d3c6158f20bd2e3668a6d74.jpg
diff --git a/scripts/cache/01_raw_images/personal/75347476e42316830b3bd4276abbac29.jpg b/resources/data/cache/01_raw_images/personal/75347476e42316830b3bd4276abbac29.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/75347476e42316830b3bd4276abbac29.jpg
rename to resources/data/cache/01_raw_images/personal/75347476e42316830b3bd4276abbac29.jpg
diff --git a/scripts/cache/01_raw_images/personal/81c29851faf31e5adbe748fa0e450aa6.jpg b/resources/data/cache/01_raw_images/personal/81c29851faf31e5adbe748fa0e450aa6.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/81c29851faf31e5adbe748fa0e450aa6.jpg
rename to resources/data/cache/01_raw_images/personal/81c29851faf31e5adbe748fa0e450aa6.jpg
diff --git a/scripts/cache/01_raw_images/personal/85a0304dbc66bba40def5200ab3a07c6.jpg b/resources/data/cache/01_raw_images/personal/85a0304dbc66bba40def5200ab3a07c6.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/85a0304dbc66bba40def5200ab3a07c6.jpg
rename to resources/data/cache/01_raw_images/personal/85a0304dbc66bba40def5200ab3a07c6.jpg
diff --git a/scripts/cache/01_raw_images/personal/861e579dd0c244ec7fae3eaf3eff16b2.jpg b/resources/data/cache/01_raw_images/personal/861e579dd0c244ec7fae3eaf3eff16b2.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/861e579dd0c244ec7fae3eaf3eff16b2.jpg
rename to resources/data/cache/01_raw_images/personal/861e579dd0c244ec7fae3eaf3eff16b2.jpg
diff --git a/scripts/cache/01_raw_images/personal/a2a679f3f3ae4e3764fbfede13d28099.jpg b/resources/data/cache/01_raw_images/personal/a2a679f3f3ae4e3764fbfede13d28099.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/a2a679f3f3ae4e3764fbfede13d28099.jpg
rename to resources/data/cache/01_raw_images/personal/a2a679f3f3ae4e3764fbfede13d28099.jpg
diff --git a/scripts/cache/01_raw_images/personal/bab9d1cdac549407377e8309c287b7fa.jpg b/resources/data/cache/01_raw_images/personal/bab9d1cdac549407377e8309c287b7fa.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/bab9d1cdac549407377e8309c287b7fa.jpg
rename to resources/data/cache/01_raw_images/personal/bab9d1cdac549407377e8309c287b7fa.jpg
diff --git a/scripts/cache/01_raw_images/personal/bc428f04fadcf6e8c760e7dc7152f42b.jpg b/resources/data/cache/01_raw_images/personal/bc428f04fadcf6e8c760e7dc7152f42b.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/bc428f04fadcf6e8c760e7dc7152f42b.jpg
rename to resources/data/cache/01_raw_images/personal/bc428f04fadcf6e8c760e7dc7152f42b.jpg
diff --git a/scripts/cache/01_raw_images/personal/e9f405ebcc2304a120872bc75732c476.jpg b/resources/data/cache/01_raw_images/personal/e9f405ebcc2304a120872bc75732c476.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/e9f405ebcc2304a120872bc75732c476.jpg
rename to resources/data/cache/01_raw_images/personal/e9f405ebcc2304a120872bc75732c476.jpg
diff --git a/scripts/cache/01_raw_images/personal/ed8fb705383eb8aac33197110212124e.jpg b/resources/data/cache/01_raw_images/personal/ed8fb705383eb8aac33197110212124e.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/ed8fb705383eb8aac33197110212124e.jpg
rename to resources/data/cache/01_raw_images/personal/ed8fb705383eb8aac33197110212124e.jpg
diff --git a/scripts/cache/01_raw_images/personal/efaaa9e5d4a4f1698715507178ca4e3d.jpg b/resources/data/cache/01_raw_images/personal/efaaa9e5d4a4f1698715507178ca4e3d.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/efaaa9e5d4a4f1698715507178ca4e3d.jpg
rename to resources/data/cache/01_raw_images/personal/efaaa9e5d4a4f1698715507178ca4e3d.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-1dc365a57b9eea70d0d21fb6d1644b72.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-1dc365a57b9eea70d0d21fb6d1644b72.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-1dc365a57b9eea70d0d21fb6d1644b72.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-1dc365a57b9eea70d0d21fb6d1644b72.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-3aaafbe17a165937a260c2f38d30b648.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-3aaafbe17a165937a260c2f38d30b648.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-3aaafbe17a165937a260c2f38d30b648.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-3aaafbe17a165937a260c2f38d30b648.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-512be9e273586e00e10e2906d7446098.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-512be9e273586e00e10e2906d7446098.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-512be9e273586e00e10e2906d7446098.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-512be9e273586e00e10e2906d7446098.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-6bd2d51e9d3b639f679ccb388eb54146.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-6bd2d51e9d3b639f679ccb388eb54146.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-6bd2d51e9d3b639f679ccb388eb54146.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-6bd2d51e9d3b639f679ccb388eb54146.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-95a0a96a0220064f99f031fb9cfcaf75.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-95a0a96a0220064f99f031fb9cfcaf75.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-95a0a96a0220064f99f031fb9cfcaf75.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-95a0a96a0220064f99f031fb9cfcaf75.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-bc466b6c01a8be0039aedc535e4c2ebb.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-bc466b6c01a8be0039aedc535e4c2ebb.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-bc466b6c01a8be0039aedc535e4c2ebb.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-bc466b6c01a8be0039aedc535e4c2ebb.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-ca7ef660c832cbca8e82d92f67432175.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-ca7ef660c832cbca8e82d92f67432175.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-ca7ef660c832cbca8e82d92f67432175.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-ca7ef660c832cbca8e82d92f67432175.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-daeb8c1a86ad6406bad079886d376cb6.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-daeb8c1a86ad6406bad079886d376cb6.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-daeb8c1a86ad6406bad079886d376cb6.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-daeb8c1a86ad6406bad079886d376cb6.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-ee371f46003d800ad2db17558c04464e.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-ee371f46003d800ad2db17558c04464e.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-ee371f46003d800ad2db17558c04464e.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-ee371f46003d800ad2db17558c04464e.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-fa7601fd804ab472e8cb91e5a638e2ef.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-fa7601fd804ab472e8cb91e5a638e2ef.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-fa7601fd804ab472e8cb91e5a638e2ef.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-fa7601fd804ab472e8cb91e5a638e2ef.jpg
diff --git a/scripts/cache/01_raw_images/personal/perso-source-640-ff4c9c993ff0a303c924aa35d0386e15.jpg b/resources/data/cache/01_raw_images/personal/perso-source-640-ff4c9c993ff0a303c924aa35d0386e15.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/personal/perso-source-640-ff4c9c993ff0a303c924aa35d0386e15.jpg
rename to resources/data/cache/01_raw_images/personal/perso-source-640-ff4c9c993ff0a303c924aa35d0386e15.jpg
diff --git a/scripts/cache/01_raw_images/sea/1886961.jpg b/resources/data/cache/01_raw_images/sea/1886961.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/sea/1886961.jpg
rename to resources/data/cache/01_raw_images/sea/1886961.jpg
diff --git a/scripts/cache/01_raw_images/sea/IADX6-086.jpg b/resources/data/cache/01_raw_images/sea/IADX6-086.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/sea/IADX6-086.jpg
rename to resources/data/cache/01_raw_images/sea/IADX6-086.jpg
diff --git a/scripts/cache/01_raw_images/space/11916-large.jpg b/resources/data/cache/01_raw_images/space/11916-large.jpg
similarity index 100%
rename from scripts/cache/01_raw_images/space/11916-large.jpg
rename to resources/data/cache/01_raw_images/space/11916-large.jpg
diff --git a/scripts/cache/02_optimized_images/.gitkeep b/resources/data/cache/02_optimized_images/.gitkeep
similarity index 100%
rename from scripts/cache/02_optimized_images/.gitkeep
rename to resources/data/cache/02_optimized_images/.gitkeep
diff --git a/scripts/03_check_sliced_images.sh b/resources/data/check_sliced_images.sh
similarity index 100%
rename from scripts/03_check_sliced_images.sh
rename to resources/data/check_sliced_images.sh
diff --git a/icons/build_game_icons.sh b/resources/ui/build_ui_resources.sh
similarity index 50%
rename from icons/build_game_icons.sh
rename to resources/ui/build_ui_resources.sh
index a4c7b75..4f365ed 100755
--- a/icons/build_game_icons.sh
+++ b/resources/ui/build_ui_resources.sh
@@ -6,7 +6,7 @@ command -v scour >/dev/null 2>&1 || { echo >&2 "I require scour but it's not ins
 command -v optipng >/dev/null 2>&1 || { echo >&2 "I require optipng but it's not installed. Aborting."; exit 1; }
 
 CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
-BASE_DIR="$(dirname "${CURRENT_DIR}")"
+BASE_DIR="$(dirname "$(dirname "${CURRENT_DIR}")")"
 ASSETS_DIR="${BASE_DIR}/assets"
 
 OPTIPNG_OPTIONS="-preserve -quiet -o7"
@@ -14,20 +14,23 @@ ICON_SIZE=192
 
 #######################################################
 
-# Game images
-AVAILABLE_GAME_IMAGES="
-  button_back
-  button_shuffle
-  button_random_pick
-  game_win
-  placeholder
-  tip_hidden
-"
-
-# Settings images
-AVAILABLES_GAME_SETTINGS="
-  difficulty:3x3,4x4,5x5
-"
+# Game images (svg files found in `images` folder)
+AVAILABLE_GAME_IMAGES=""
+if [ -d "${CURRENT_DIR}/images" ]; then
+  AVAILABLE_GAME_IMAGES="$(find "${CURRENT_DIR}/images" -type f -name "*.svg" | awk -F/ '{print $NF}' | cut -d"." -f1 | sort)"
+fi
+
+# Skins (subfolders found in `skins` folder)
+AVAILABLE_SKINS=""
+if [ -d "${CURRENT_DIR}/skins" ]; then
+  AVAILABLE_SKINS="$(find "${CURRENT_DIR}/skins" -mindepth 1 -type d | awk -F/ '{print $NF}')"
+fi
+
+# Images per skin (svg files found recursively in `skins` folder and subfolders)
+SKIN_IMAGES=""
+if [ -d "${CURRENT_DIR}/skins" ]; then
+  SKIN_IMAGES="$(find "${CURRENT_DIR}/skins" -type f -name "*.svg" | awk -F/ '{print $NF}' | cut -d"." -f1 | sort | uniq)"
+fi
 
 #######################################################
 
@@ -49,7 +52,7 @@ function optimize_svg() {
 }
 
 # build icons
-function build_icon() {
+function build_image() {
   SOURCE="$1"
   TARGET="$2"
 
@@ -62,44 +65,46 @@ function build_icon() {
 
   optimize_svg "${SOURCE}"
 
+  mkdir -p "$(dirname "${TARGET}")"
+
   inkscape \
       --export-width=${ICON_SIZE} \
       --export-height=${ICON_SIZE} \
       --export-filename=${TARGET} \
-      ${SOURCE}
+      "${SOURCE}"
 
-  optipng ${OPTIPNG_OPTIONS} ${TARGET}
+  optipng ${OPTIPNG_OPTIONS} "${TARGET}"
 }
 
-function build_settings_icons() {
-  INPUT_STRING="$1"
+function build_image_for_skin() {
+  SKIN_CODE="$1"
 
-  SETTING_NAME="$(echo "${INPUT_STRING}" | cut -d":" -f1)"
-  SETTING_VALUES="$(echo "${INPUT_STRING}" | cut -d":" -f2 | tr "," " ")"
-
-  for SETTING_VALUE in ${SETTING_VALUES}
+  # skin images
+  for SKIN_IMAGE in ${SKIN_IMAGES}
   do
-    SETTING_CODE="${SETTING_NAME}_${SETTING_VALUE}"
-    build_icon ${CURRENT_DIR}/${SETTING_CODE}.svg ${ASSETS_DIR}/icons/${SETTING_CODE}.png
+    build_image ${CURRENT_DIR}/skins/${SKIN_CODE}/${SKIN_IMAGE}.svg ${ASSETS_DIR}/skins/${SKIN_CODE}_${SKIN_IMAGE}.png
   done
 }
 
 #######################################################
 
-# Create output folders
-mkdir -p ${ASSETS_DIR}/icons
-
 # Delete existing generated images
-find ${ASSETS_DIR}/icons -type f -name "*.png" -delete
+if [ -d "${ASSETS_DIR}/ui" ]; then
+  find ${ASSETS_DIR}/ui -type f -name "*.png" -delete
+fi
+if [ -d "${ASSETS_DIR}/skins" ]; then
+  find ${ASSETS_DIR}/skins -type f -name "*.png" -delete
+fi
 
 # build game images
 for GAME_IMAGE in ${AVAILABLE_GAME_IMAGES}
 do
-  build_icon ${CURRENT_DIR}/${GAME_IMAGE}.svg ${ASSETS_DIR}/icons/${GAME_IMAGE}.png
+  build_image ${CURRENT_DIR}/images/${GAME_IMAGE}.svg ${ASSETS_DIR}/ui/${GAME_IMAGE}.png
 done
 
-# build settings images
-for GAME_SETTING in ${AVAILABLES_GAME_SETTINGS}
+# build skins images
+for SKIN in ${AVAILABLE_SKINS}
 do
-  build_settings_icons "${GAME_SETTING}"
+  build_image_for_skin "${SKIN}"
 done
+
diff --git a/icons/button_back.svg b/resources/ui/images/button_back.svg
similarity index 100%
rename from icons/button_back.svg
rename to resources/ui/images/button_back.svg
diff --git a/resources/ui/images/button_delete_saved_game.svg b/resources/ui/images/button_delete_saved_game.svg
new file mode 100644
index 0000000..ac7eefe
--- /dev/null
+++ b/resources/ui/images/button_delete_saved_game.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x=".44662" y=".89101" width="92.772" height="91.894" ry="11.689" fill="#ee7d49" stroke="#fff" stroke-width=".238"/><path d="m61.07 35.601-1.7399 27.837c-0.13442 2.1535-1.9205 3.8312-4.0781 3.8312h-16.84c-2.1576 0-3.9437-1.6777-4.0781-3.8312l-1.7399-27.837h-2.6176c-0.84621 0-1.5323-0.68613-1.5323-1.5323 0-0.84655 0.68613-1.5323 1.5323-1.5323h33.711c0.84621 0 1.5323 0.68578 1.5323 1.5323 0 0.84621-0.68613 1.5323-1.5323 1.5323zm-3.2617 0h-21.953l1.4715 26.674c0.05985 1.0829 0.95531 1.9305 2.0403 1.9305h14.929c1.085 0 1.9804-0.84757 2.0403-1.9305zm-10.977 3.0647c0.78977 0 1.4301 0.6403 1.4301 1.4301v19.614c0 0.78977-0.6403 1.4301-1.4301 1.4301s-1.4301-0.6403-1.4301-1.4301v-19.614c0-0.78977 0.6403-1.4301 1.4301-1.4301zm-6.1293 0c0.80004 0 1.4588 0.62935 1.495 1.4286l0.89647 19.719c0.03182 0.70016-0.50998 1.2933-1.2101 1.3255-0.01915 7.02e-4 -0.03831 1e-3 -0.05781 1e-3 -0.74462 0-1.3596-0.58215-1.4003-1.3261l-1.0757-19.719c-0.0407-0.74701 0.53188-1.3852 1.2786-1.4259 0.02462-0.0014 0.04926-2e-3 0.07388-2e-3zm12.259 0c0.74804 0 1.3541 0.60609 1.3541 1.3541 0 0.02462-3.28e-4 0.04926-0.0017 0.07388l-1.0703 19.618c-0.04379 0.80106-0.70597 1.4281-1.5081 1.4281-0.74804 0-1.3541-0.60609-1.3541-1.3541 0-0.02462 3.49e-4 -0.04925 0.0017-0.07388l1.0703-19.618c0.04379-0.80106 0.70597-1.4281 1.5081-1.4281zm-10.216-12.259h8.1728c2.2567 0 4.086 1.8293 4.086 4.086v2.0433h-16.344v-2.0433c0-2.2567 1.8293-4.086 4.086-4.086zm0.20453 3.0647c-0.67725 0-1.2259 0.54863-1.2259 1.2259v1.8388h10.215v-1.8388c0-0.67725-0.54863-1.2259-1.2259-1.2259z" fill="#fff" fill-rule="evenodd" stroke="#bd4812" stroke-width=".75383"/></svg>
diff --git a/icons/button_random_pick.svg b/resources/ui/images/button_random_pick.svg
similarity index 100%
rename from icons/button_random_pick.svg
rename to resources/ui/images/button_random_pick.svg
diff --git a/resources/ui/images/button_resume_game.svg b/resources/ui/images/button_resume_game.svg
new file mode 100644
index 0000000..6ad8b64
--- /dev/null
+++ b/resources/ui/images/button_resume_game.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x=".44662" y=".89101" width="92.772" height="91.894" ry="11.689" fill="#49a1ee" stroke="#fff" stroke-width=".238"/><path d="m39.211 31.236c-0.84086-0.84489-2.9911-0.84489-2.9911 0v34.329c0 0.84594 2.1554 0.84594 2.9993 0l28.178-15.637c0.84392-0.84086 0.85812-2.2091 0.01623-3.053z" fill="#fefeff" stroke="#105ca1" stroke-linecap="round" stroke-linejoin="round" stroke-width="6.1726"/><path d="m40.355 33.714c-0.71948-0.72294-2.5594-0.72294-2.5594 0v29.373c0 0.72383 1.8442 0.72383 2.5663 0l24.11-13.38c0.7221-0.71948 0.73426-1.8902 0.01389-2.6124z" fill="#fefeff" stroke="#feffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.225"/><path d="m28.369 66.919v-37.591" fill="#105ca2" stroke="#105ca2" stroke-linecap="round" stroke-width="4.0337"/></svg>
diff --git a/icons/button_shuffle.svg b/resources/ui/images/button_shuffle.svg
similarity index 100%
rename from icons/button_shuffle.svg
rename to resources/ui/images/button_shuffle.svg
diff --git a/resources/ui/images/button_start.svg b/resources/ui/images/button_start.svg
new file mode 100644
index 0000000..e9d49d2
--- /dev/null
+++ b/resources/ui/images/button_start.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect x=".44662" y=".89101" width="92.772" height="91.894" ry="11.689" fill="#49a1ee" stroke="#fff" stroke-width=".238"/><path d="m34.852 25.44c-1.1248-1.1302-4.0012-1.1302-4.0012 0v45.921c0 1.1316 2.8832 1.1316 4.0121 0l37.693-20.918c1.1289-1.1248 1.1479-2.9551 0.02171-4.084z" fill="#fefeff" stroke="#105ca1" stroke-linecap="round" stroke-linejoin="round" stroke-width="8.257"/><path d="m36.382 28.754c-0.96243-0.96706-3.4236-0.96706-3.4236 0v39.292c0 0.96825 2.467 0.96825 3.4329 0l32.252-17.898c0.96594-0.96243 0.9822-2.5285 0.01858-3.4945z" fill="#fefeff" stroke="#feffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4.314"/></svg>
diff --git a/icons/game_win.svg b/resources/ui/images/game_win.svg
similarity index 100%
rename from icons/game_win.svg
rename to resources/ui/images/game_win.svg
diff --git a/icons/placeholder.svg b/resources/ui/images/placeholder.svg
similarity index 100%
rename from icons/placeholder.svg
rename to resources/ui/images/placeholder.svg
diff --git a/icons/tip_hidden.svg b/resources/ui/images/tip_hidden.svg
similarity index 100%
rename from icons/tip_hidden.svg
rename to resources/ui/images/tip_hidden.svg
-- 
GitLab