diff --git a/android/gradle.properties b/android/gradle.properties
index 663881258a10822c0b4abc064b6e0bc0ccf48833..81949dfd2077495aaea8a6bc81ad9c75442f9ebb 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.13
-app.versionCode=13
+app.versionName=0.0.14
+app.versionCode=14
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index e94dd6a1b189cabfee966fb4516a6c3f48e65ca0..d55a6f3eeb6654216e946ff0932732495c11aa0b 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -14,7 +14,6 @@ class Home extends StatelessWidget {
   static const String id = 'home';
 
   double _tipImageSize = 100;
-  double _tileImageSize = 80;
 
   Future<void> resetGame(Data myProvider) async {
     myProvider.updateImage = '';
@@ -34,10 +33,10 @@ class Home extends StatelessWidget {
     }
   }
 
-  Future<void> selectImage(Data myProvider, String imageCode) async {
+  Future<void> selectImage(Data myProvider, String imageCode, double tileImageSize) async {
     myProvider.updateShuffling = true;
     myProvider.updateImage = imageCode;
-    myProvider.updateTiles = await splitImageInTiles(myProvider);
+    myProvider.updateTiles = await splitImageInTiles(myProvider, tileImageSize);
     myProvider.updateShuffling = false;
   }
 
@@ -47,7 +46,7 @@ class Home extends StatelessWidget {
     myProvider.updateImages = images;
   }
 
-  Container _buildImageSelectorItem(Data myProvider, String image, double size) {
+  Container _buildImageSelectorItem(Data myProvider, String image, double selectImageSize, double tileImageSize) {
     return Container(
       child: FlatButton(
         child: Container(
@@ -61,17 +60,17 @@ class Home extends StatelessWidget {
           margin: EdgeInsets.all(2),
           child: Image(
             image: AssetImage(getImageAssetName(image)),
-            width: size,
-            height: size,
+            width: selectImageSize,
+            height: selectImageSize,
             fit: BoxFit.fill
           ),
         ),
-        onPressed: () { selectImage(myProvider, image); },
+        onPressed: () { selectImage(myProvider, image, tileImageSize); },
       ),
     );
   }
 
-  Container _buildImageSelector(Data myProvider, double size) {
+  Container _buildImageSelector(Data myProvider, double size, double tileImageSize) {
     if (myProvider.images.length == 0) {
       getImagesList(myProvider);
     }
@@ -89,13 +88,13 @@ class Home extends StatelessWidget {
                   children: [
                     Column(
                       children: [
-                        _buildImageSelectorItem(myProvider, images[imageIndex], size)
+                        _buildImageSelectorItem(myProvider, images[imageIndex], size, tileImageSize)
                       ]
                     ),
                     Column(
                       children: [
                         if (imageIndex+1 < images.length)
-                          _buildImageSelectorItem(myProvider, images[imageIndex+1], size)
+                          _buildImageSelectorItem(myProvider, images[imageIndex+1], size, tileImageSize)
                       ]
                     ),
                   ]
@@ -108,42 +107,18 @@ class Home extends StatelessWidget {
   }
 
   FlatButton _buildTilesetSizeSelectorItem(Data myProvider, int value) {
-    BoxDecoration border =
-      myProvider.tilesCount == value
-      ? BoxDecoration(
-        borderRadius: BorderRadius.circular(4),
-        border: Border.all(
-          color: Colors.blue[100],
-          width: 4,
-        ),
-      )
-      : null;
+    String text = value.toString()+'x'+value.toString();
+
+    if (myProvider.tilesCount == value) {
+      text = '['+text+']';
+    }
 
     return FlatButton(
-      child: Container(
-        padding: EdgeInsets.all(5),
-        decoration: border,
-        child: Text(value.toString()+'x'+value.toString()),
-      ),
+      child: Text(text),
       onPressed: () { myProvider.updateTilesCount = value; },
     );
   }
 
-  Container _buildTilesetSizeSelector(Data myProvider) {
-    return Container(
-      child: Center(
-        child: Row(
-          mainAxisAlignment: MainAxisAlignment.center,
-          crossAxisAlignment: CrossAxisAlignment.center,
-          children: [
-            _buildTilesetSizeSelectorItem(myProvider, 3),
-            _buildTilesetSizeSelectorItem(myProvider, 4),
-          ],
-        ),
-      ),
-    );
-  }
-
   List<Tile> shuffleTiles(List<Tile> tiles) {
     var random = new Random();
     int tilesCount = tiles.length;
@@ -168,7 +143,7 @@ class Home extends StatelessWidget {
     return tiles;
   }
 
-  Future<List<Tile>> splitImageInTiles(Data myProvider) async {
+  Future<List<Tile>> splitImageInTiles(Data myProvider, double tileImageSize) async {
     String imageAsset = getImageAssetName(myProvider.image);
     Uint8List imageData = (await rootBundle.load(imageAsset))
       .buffer
@@ -189,7 +164,7 @@ class Home extends StatelessWidget {
                 imglib.copyCrop(image, x, y, width, height)
               )
             ),
-            _tileImageSize,
+            tileImageSize,
             j, i,
             j, i,
           )
@@ -317,35 +292,38 @@ class Home extends StatelessWidget {
     var content;
 
     double _selectorImageSize = MediaQuery.of(context).size.width / 3;
+    double _tileImageSize = (MediaQuery.of(context).size.width - 70) / _myProvider.tilesCount;
 
     if (_myProvider.shuffling) {
       content = _buildShufflingIndicatorWidget();
     } else {
       if (_myProvider.image == '') {
-        content = _buildImageSelector(_myProvider, _selectorImageSize);
+        content = _buildImageSelector(_myProvider, _selectorImageSize, _tileImageSize);
       } else {
         content = _buildGameWidget(_myProvider);
       }
     }
 
     List<Widget> menuActions = [
-      IconButton(
-        icon: const Icon(Icons.shuffle),
+      _buildTilesetSizeSelectorItem(_myProvider, 3),
+      _buildTilesetSizeSelectorItem(_myProvider, 4),
+      _buildTilesetSizeSelectorItem(_myProvider, 5),
+      FlatButton(
+        child: Text('🎲'),
         onPressed: () => shuffleImages(_myProvider),
       ),
-      _buildTilesetSizeSelector(_myProvider),
     ];
 
     List<Widget> gameActions = [
-      IconButton(
-        icon: const Icon(Icons.arrow_left_outlined),
+      FlatButton(
+        child: Text('◀️'),
         onPressed: () => resetGame(_myProvider),
-      )
+      ),
     ];
 
     return Scaffold(
       appBar: AppBar(
-        title: Text('Puzzle'),
+        title: Text('🧩'),
         actions: _myProvider.image == '' ? menuActions : gameActions,
       ),
       body: SafeArea(