diff --git a/core/assets/cs/_preloader/runes/help.mp3 b/core/assets/cs/_preloader/runes/help.mp3
deleted file mode 100644
index a60bf3dba90c0669ca551d0d9f60ba8c2cdd7be7..0000000000000000000000000000000000000000
Binary files a/core/assets/cs/_preloader/runes/help.mp3 and /dev/null differ
diff --git a/core/assets/cs/_preloader/runes/help_easy.mp3 b/core/assets/cs/_preloader/runes/help_easy.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..aea823414abc5f447a7615d2500e6a86f3646e41
Binary files /dev/null and b/core/assets/cs/_preloader/runes/help_easy.mp3 differ
diff --git a/core/assets/cs/_preloader/runes/help_hard.mp3 b/core/assets/cs/_preloader/runes/help_hard.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..28d252e1dc637524e1bfb40234cd4a67a3d192cd
Binary files /dev/null and b/core/assets/cs/_preloader/runes/help_hard.mp3 differ
diff --git a/core/assets/cs/_preloader/runes/help_medium.mp3 b/core/assets/cs/_preloader/runes/help_medium.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..1aac865cf6ddfc6a0d76b4dda5787d4d3b206a0d
Binary files /dev/null and b/core/assets/cs/_preloader/runes/help_medium.mp3 differ
diff --git a/core/assets/cs/game/runes/help.mp3 b/core/assets/cs/game/runes/help.mp3
deleted file mode 100644
index a60bf3dba90c0669ca551d0d9f60ba8c2cdd7be7..0000000000000000000000000000000000000000
Binary files a/core/assets/cs/game/runes/help.mp3 and /dev/null differ
diff --git a/core/assets/de/_preloader/runes/help.mp3 b/core/assets/de/_preloader/runes/help.mp3
deleted file mode 100644
index a60bf3dba90c0669ca551d0d9f60ba8c2cdd7be7..0000000000000000000000000000000000000000
Binary files a/core/assets/de/_preloader/runes/help.mp3 and /dev/null differ
diff --git a/core/assets/de/_preloader/runes/help_easy.mp3 b/core/assets/de/_preloader/runes/help_easy.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..aea823414abc5f447a7615d2500e6a86f3646e41
Binary files /dev/null and b/core/assets/de/_preloader/runes/help_easy.mp3 differ
diff --git a/core/assets/de/_preloader/runes/help_hard.mp3 b/core/assets/de/_preloader/runes/help_hard.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..28d252e1dc637524e1bfb40234cd4a67a3d192cd
Binary files /dev/null and b/core/assets/de/_preloader/runes/help_hard.mp3 differ
diff --git a/core/assets/de/_preloader/runes/help_medium.mp3 b/core/assets/de/_preloader/runes/help_medium.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..1aac865cf6ddfc6a0d76b4dda5787d4d3b206a0d
Binary files /dev/null and b/core/assets/de/_preloader/runes/help_medium.mp3 differ
diff --git a/core/assets/sk/_preloader/runes/help.mp3 b/core/assets/sk/_preloader/runes/help.mp3
deleted file mode 100644
index a60bf3dba90c0669ca551d0d9f60ba8c2cdd7be7..0000000000000000000000000000000000000000
Binary files a/core/assets/sk/_preloader/runes/help.mp3 and /dev/null differ
diff --git a/core/assets/sk/_preloader/runes/help_easy.mp3 b/core/assets/sk/_preloader/runes/help_easy.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..aea823414abc5f447a7615d2500e6a86f3646e41
Binary files /dev/null and b/core/assets/sk/_preloader/runes/help_easy.mp3 differ
diff --git a/core/assets/sk/_preloader/runes/help_hard.mp3 b/core/assets/sk/_preloader/runes/help_hard.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..28d252e1dc637524e1bfb40234cd4a67a3d192cd
Binary files /dev/null and b/core/assets/sk/_preloader/runes/help_hard.mp3 differ
diff --git a/core/assets/sk/_preloader/runes/help_medium.mp3 b/core/assets/sk/_preloader/runes/help_medium.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..1aac865cf6ddfc6a0d76b4dda5787d4d3b206a0d
Binary files /dev/null and b/core/assets/sk/_preloader/runes/help_medium.mp3 differ
diff --git a/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java b/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java
index 228bb8788c74ea1ee6829aa2344697426d6524a4..685ee278cddc1f694116a887c57cf76ca8b932c8 100644
--- a/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java
+++ b/core/src/cz/nic/tablexia/game/games/runes/RunesGame.java
@@ -28,6 +28,7 @@ import cz.nic.tablexia.game.games.runes.assets.RuneDefinition;
 import cz.nic.tablexia.game.games.runes.assets.RunesGameAssets;
 import cz.nic.tablexia.game.games.runes.helper.HolderManager;
 import cz.nic.tablexia.game.games.runes.helper.PositionDefinition;
+import cz.nic.tablexia.game.games.runes.model.RunesDifficultyDefinition;
 import cz.nic.tablexia.game.games.runes.model.RunesGameProperties;
 import cz.nic.tablexia.game.games.runes.model.RunesGameState;
 import cz.nic.tablexia.loader.TablexiaAbstractFileManager;
@@ -37,6 +38,7 @@ import cz.nic.tablexia.loader.application.ApplicationTextManager;
 import cz.nic.tablexia.screen.loader.LoadingBar;
 import cz.nic.tablexia.shared.model.Game;
 import cz.nic.tablexia.util.Log;
+import cz.nic.tablexia.util.Utility;
 import cz.nic.tablexia.util.ui.TablexiaLabel;
 import cz.nic.tablexia.util.ui.dialog.components.FixedSpaceContentDialogComponent;
 import cz.nic.tablexia.util.ui.dialog.components.TablexiaDialogComponentAdapter;
@@ -78,6 +80,11 @@ public class RunesGame extends AbstractTablexiaGame<RunesGameState> {
     @Override
     protected void gameLoaded(Map<String, String> gameState) {
         // TODO: 17.8.16 replace rule help sound 
+        // TODO: 7.9.16 replace de/sk help and result sounds 
+        // TODO: 7.9.16 add sounds 
+        // TODO: 7.9.16 add texts
+        // TODO: 7.9.16 swap medium and hard diff. rule text 
+        // TODO: 7.9.16 change assets?  
         super.gameLoaded(gameState);
         initScene();
         initSidebar();
@@ -162,9 +169,6 @@ public class RunesGame extends AbstractTablexiaGame<RunesGameState> {
 
         setSidebarSize();
 
-//        targetPlate.init(SIDEBAR_ITEMS_RELATIVE_WIDTH * sidebarGroup.getWidth(), TARGET_PLATE_RELATIVE_HEIGHT * sidebarGroup.getHeight());
-//        healthBar.init();
-
         setSidebarPosition();
 
 
@@ -392,6 +396,8 @@ public class RunesGame extends AbstractTablexiaGame<RunesGameState> {
     
     private static final String                             PRELOADER_TEXT_KEY             	    = ApplicationTextManager.ApplicationTextsAssets.GAME_RUNES_PRELOADER_TEXT1;
     private static final String                             PRELOADER_TEXT_KEY2             	= ApplicationTextManager.ApplicationTextsAssets.GAME_RUNES_PRELOADER_TEXT2;
+    private static final String                             PRELOADER_DEFAULT_ASSETS_PATH       = "_preloader/";
+    private static final String                             SOUND_FILE_TYPE                     = ".mp3";
 
 
     @Override
@@ -406,4 +412,11 @@ public class RunesGame extends AbstractTablexiaGame<RunesGameState> {
     protected void prepareGameSoundAssetNames(List<String> soundsFileNames) {
         soundsFileNames.addAll(sfxLibrary.values());
     }
+
+    @Override
+    public String preparePreloaderSpeechPath() {
+        // speech path based on difficulty
+        String screenName = prepareScreenName();
+        return PRELOADER_DEFAULT_ASSETS_PATH + screenName + "/" + Utility.transformLocalAssetsPath(RunesDifficultyDefinition.getRunesDifficultyForGameDifficulty(getGameDifficulty()).getRuleSound()) + SOUND_FILE_TYPE;
+    }
 }
diff --git a/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java b/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java
index a81beaea45b223f39566a0771b9bdc6014be508e..7d58102da6ef47c09df1ec79720e351b75fe489f 100644
--- a/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java
+++ b/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java
@@ -112,6 +112,7 @@ public class RunesHolder extends Group {
             if (clickListener != null) newActor.addListener(clickListener);
             runesGroup.addActor(newActor);
             setWidth(getWidth() + newActor.getWidth());
+            // FIXME: 7.9.16 missing space between runes
         }
     }
 
diff --git a/core/src/cz/nic/tablexia/game/games/runes/model/RunesDifficultyDefinition.java b/core/src/cz/nic/tablexia/game/games/runes/model/RunesDifficultyDefinition.java
index e3b00160df1b3e594185acd56091e88ab7ef265d..ed4ed843863604a5134e7e317dabc01605cf8db9 100644
--- a/core/src/cz/nic/tablexia/game/games/runes/model/RunesDifficultyDefinition.java
+++ b/core/src/cz/nic/tablexia/game/games/runes/model/RunesDifficultyDefinition.java
@@ -9,26 +9,31 @@ import cz.nic.tablexia.game.games.runes.helper.PositionDefinition;
  */
 public enum RunesDifficultyDefinition {
     
-    DIFFICULTY_EASY(GameDifficulty.EASY, RunesGameProperties.GROUPS_EASY, PositionDefinition.MAP_EASY),
-    DIFFICULTY_MEDIUM(GameDifficulty.MEDIUM, RunesGameProperties.GROUPS_MEDIUM, PositionDefinition.MAP_MEDIUM, RuneDefinition.MIRROR_RUNES),
-    DIFFICULTY_HARD(GameDifficulty.HARD, RunesGameProperties.GROUPS_HARD, PositionDefinition.MAP_HARD);
+    DIFFICULTY_EASY(GameDifficulty.EASY, RunesGameProperties.GROUPS_EASY, PositionDefinition.MAP_EASY , "help_easy"),
+    DIFFICULTY_MEDIUM(GameDifficulty.MEDIUM, RunesGameProperties.GROUPS_MEDIUM, PositionDefinition.MAP_MEDIUM, RuneDefinition.MIRROR_RUNES, "help_medium"),
+    DIFFICULTY_HARD(GameDifficulty.HARD, RunesGameProperties.GROUPS_HARD, PositionDefinition.MAP_HARD, "help_hard");
 
     private GameDifficulty gameDifficulty;
     private int[] groupsCount;
     private PositionDefinition[] positionDefinitions;
     private RuneDefinition[] runeDefinitions;
+    private String ruleSound;
  
-    RunesDifficultyDefinition(GameDifficulty gameDifficulty, int[] groupsCount, PositionDefinition[] positionDefinitions) {
-        this(gameDifficulty,groupsCount,positionDefinitions, RuneDefinition.ALL_RUNES);
+    RunesDifficultyDefinition(GameDifficulty gameDifficulty, int[] groupsCount, PositionDefinition[] positionDefinitions, String ruleSound) {
+        this(gameDifficulty,groupsCount,positionDefinitions, RuneDefinition.ALL_RUNES , ruleSound);
     }
 
-    RunesDifficultyDefinition(GameDifficulty gameDifficulty, int[] groupsCount, PositionDefinition[] positionDefinitions, RuneDefinition[] runeDefinitions) {
+    RunesDifficultyDefinition(GameDifficulty gameDifficulty, int[] groupsCount, PositionDefinition[] positionDefinitions, RuneDefinition[] runeDefinitions, String ruleSound) {
         this.gameDifficulty = gameDifficulty;
         this.groupsCount = groupsCount;
         this.positionDefinitions = positionDefinitions;
         this.runeDefinitions = runeDefinitions;
+        this.ruleSound = ruleSound;
     }
     
+    public String getRuleSound() {
+        return ruleSound;
+    }
 
     public static RunesDifficultyDefinition getRunesDifficultyForGameDifficulty(GameDifficulty gameDifficulty) {
         for (RunesDifficultyDefinition runesDifficultyDefinition : RunesDifficultyDefinition.values()) {
diff --git a/core/src/cz/nic/tablexia/game/games/runes/model/RunesGameProperties.java b/core/src/cz/nic/tablexia/game/games/runes/model/RunesGameProperties.java
index 1d56c4b6eda44f6e2079694f8d7ccb2bc240a40b..e4a4024bb927054939e082f9c92c55c70cf26a06 100644
--- a/core/src/cz/nic/tablexia/game/games/runes/model/RunesGameProperties.java
+++ b/core/src/cz/nic/tablexia/game/games/runes/model/RunesGameProperties.java
@@ -22,7 +22,8 @@ public class RunesGameProperties {
     public static final int[] RUNES_COUNT = {6,7,8,9,10,11,11,12,13,13,14,15};
     public static final int[] RUNES_TO_FIND = {2,2,3,3,3,3,4,4,4,5,5,6}; //44
 //    public static final int[] RUNES_TO_FIND = {6,6,6,6,6,6,6,6,6,6,6,6}; //44
-    
+
+    // TODO: 7.9.16 change path and filenames 
     public static final String MFX_PATH = "common/sfx/";
 
     public static final String[] RESULT_SOUNDS = new String[]{ MFX_PATH + "result0.mp3",