diff --git a/core/src/cz/nic/tablexia/TablexiaSettings.java b/core/src/cz/nic/tablexia/TablexiaSettings.java
index 676e8584dfefa14aa6915c62a9680669a7aa0039..9eb44b02b66378353ecff06e4dfa024c44d69a20 100644
--- a/core/src/cz/nic/tablexia/TablexiaSettings.java
+++ b/core/src/cz/nic/tablexia/TablexiaSettings.java
@@ -11,6 +11,7 @@ import cz.nic.tablexia.game.GameDefinition;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
 import cz.nic.tablexia.loader.application.ApplicationTextManager;
 import cz.nic.tablexia.screen.AbstractTablexiaScreen;
+import cz.nic.tablexia.screen.encyclopedia.EncyclopediaScreen;
 import cz.nic.tablexia.screen.gamemenu.GameMenuScreen;
 import cz.nic.tablexia.util.Log;
 
@@ -21,7 +22,7 @@ public class TablexiaSettings {
     private static final int     MIN_SCREEN_HEIGHT         = (int) (DEFAULT_SCREEN_WIDTH * MAXIMUM_RATIO);
     private static final boolean DEBUG_SHOW_BOUNDING_BOXES = true;
 
-    public static final Class<? extends AbstractTablexiaScreen<?>> INITIAL_SCREEN = GameMenuScreen.class;
+    public static final Class<? extends AbstractTablexiaScreen<?>> INITIAL_SCREEN = EncyclopediaScreen.class;
     public static final int                                        AVATAR_COUNT   = 8;
 
     private static final String PREFERENCES_KEY = "cz.nic.tablexia.";
diff --git a/core/src/cz/nic/tablexia/screen/encyclopedia/EncyclopediaScreen.java b/core/src/cz/nic/tablexia/screen/encyclopedia/EncyclopediaScreen.java
index 97f02ecd06f8a41729d40a4f2c744067df2702d1..b197ad87dee62750d2a7d30e8c77f8a699fccb00 100644
--- a/core/src/cz/nic/tablexia/screen/encyclopedia/EncyclopediaScreen.java
+++ b/core/src/cz/nic/tablexia/screen/encyclopedia/EncyclopediaScreen.java
@@ -1,23 +1,71 @@
 package cz.nic.tablexia.screen.encyclopedia;
 
-import com.badlogic.gdx.graphics.Color;
-import com.badlogic.gdx.scenes.scene2d.ui.Label;
-import com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle;
-import com.badlogic.gdx.scenes.scene2d.ui.Table;
+import com.badlogic.gdx.scenes.scene2d.Group;
+import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup;
+import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
+import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup;
+import com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup;
 
 import java.util.Map;
 
+import cz.nic.tablexia.TablexiaSettings;
+import cz.nic.tablexia.game.games.pursuit.model.Point;
 import cz.nic.tablexia.screen.AbstractTablexiaScreen;
+import cz.nic.tablexia.screen.encyclopedia.widget.ResizableVerticalGroup;
 
 public class EncyclopediaScreen extends AbstractTablexiaScreen<Void> {
-	
-	@Override
-	protected void screenLoaded(Map<String, String> screenState) {
-		Label label = new Label(getClass().getSimpleName(), new LabelStyle(getDefaultRegularFont(), Color.WHITE));
-		Table table = new Table();
-		table.add(label);
-		label.setPosition(getStage().getWidth() / 2, getStage().getHeight() / 2);
-		getStage().addActor(label);
-	}
+    private static final Point SCREEN_SIZE = new Point(TablexiaSettings.getWorldWidth(), TablexiaSettings.getMinWorldHeight());
+    private static final float RIGHT_PANEL_RELATIVE_WIDTH = 0.25f;
+    private static final float MENU_RELATIVE_HEIGHT = 0.85f;
+    private HorizontalGroup container;
+    private Group content;
+    private ScrollPane contentScrollPane;
+    private VerticalGroup rightPanel;
+    private VerticalGroup menu;
+    private ScrollPane menuScrollPane;
+    private HorizontalGroup buttonsPanel;
+
+    @Override
+    protected void screenLoaded(Map<String, String> screenState) {
+        container = new HorizontalGroup();
+        container.setFillParent(true);
+        getStage().addActor(container);
+
+        prepareContent();
+        prepareRightMenu();
+
+        boolean showBoundingBoxes = TablexiaSettings.getInstance().isShowBoundingBoxes();
+        contentScrollPane.setDebug(showBoundingBoxes);
+        rightPanel.setDebug(showBoundingBoxes);
+        menu.setDebug(showBoundingBoxes);
+		menuScrollPane.setDebug(showBoundingBoxes);
+		buttonsPanel.setDebug(showBoundingBoxes);
+    }
+
+    private void prepareContent(){
+        content = new WidgetGroup();
+        content.setSize((1 - RIGHT_PANEL_RELATIVE_WIDTH) * SCREEN_SIZE.x, SCREEN_SIZE.y);
+        contentScrollPane = new ScrollPane(content);
+        contentScrollPane.setScrollingDisabled(false, true);
+
+        container.addActor(contentScrollPane);
+    }
+
+    private void prepareRightMenu() {
+        float rightPanelWidth = (1 - RIGHT_PANEL_RELATIVE_WIDTH) * SCREEN_SIZE.x;
+        menu = new ResizableVerticalGroup(new Point(rightPanelWidth, SCREEN_SIZE.y * MENU_RELATIVE_HEIGHT));
+        menuScrollPane = new ScrollPane(menu);
+        menuScrollPane.setScrollingDisabled(false, true);
+        menuScrollPane.setSize(rightPanelWidth, SCREEN_SIZE.y * MENU_RELATIVE_HEIGHT);
+
+        buttonsPanel = new HorizontalGroup();
+
+        rightPanel = new VerticalGroup();
+        rightPanel.setSize(rightPanelWidth, SCREEN_SIZE.y);
+        rightPanel.addActor(menu);
+        rightPanel.addActor(buttonsPanel);
+
+        container.addActor(rightPanel);
+    }
 
 }
diff --git a/core/src/cz/nic/tablexia/screen/encyclopedia/widget/ResizableVerticalGroup.java b/core/src/cz/nic/tablexia/screen/encyclopedia/widget/ResizableVerticalGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..355ba060135f1805f8e01653a4e25e4892605332
--- /dev/null
+++ b/core/src/cz/nic/tablexia/screen/encyclopedia/widget/ResizableVerticalGroup.java
@@ -0,0 +1,27 @@
+package cz.nic.tablexia.screen.encyclopedia.widget;
+
+import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup;
+
+import cz.nic.tablexia.game.games.pursuit.model.Point;
+import cz.nic.tablexia.util.Log;
+
+/**
+ * Created by Václav Tarantík on 21.8.15.
+ */
+public class ResizableVerticalGroup extends VerticalGroup {
+    private Point size;
+
+    public ResizableVerticalGroup(Point size){
+        this.size = size;
+    }
+
+    @Override
+    public float getPrefWidth() {
+        return  size.x;
+    }
+
+    @Override
+    public float getPrefHeight() {
+        return size.y;
+    }
+}