diff --git a/src/main/java/lab/App.java b/src/main/java/lab/App.java
index ec8e12686df1b3bcc2f16c95652a1f65f66100cc..bd778ae3db7dca39462dcf4895a2e615d212bd7c 100644
--- a/src/main/java/lab/App.java
+++ b/src/main/java/lab/App.java
@@ -29,7 +29,6 @@ public class App extends Application {
 			GameController gameController = gameLoader.getController();
 			Scene scene = new Scene(root);
 			primaryStage.setScene(scene);
-//			primaryStage.resizableProperty().set(false);
 			primaryStage.setTitle("Java 2 - 2nd laboratory");
 			primaryStage.show();
 			// Exit program when main window is closed
diff --git a/src/main/java/lab/DbConnector.java b/src/main/java/lab/DbConnector.java
index 9aba4e9d79f07386e26e3b024bde198495a235b2..d7a0594cf69ca3baa2910308fc4b8b8d1cb5b0bb 100644
--- a/src/main/java/lab/DbConnector.java
+++ b/src/main/java/lab/DbConnector.java
@@ -13,15 +13,15 @@ public class DbConnector {
 
 	private static final String JDBC_CONECTIN_STRING = "jdbc:h2:file:./scoreDB";
 
-	public static List<Score> getAll() {
+	public List<Score> getAll() {
 		return queryScore("select * from scores;");
 	}
 
-	public static List<Score> getFirstTen() {
+	public List<Score> getFirstTen() {
 		return queryScore("select * from scores order by points  desc limit 10;");
 	}
 
-	private static List<Score> queryScore(String query) {
+	private List<Score> queryScore(String query) {
 		List<Score> result = new ArrayList<>();
 		try (Connection con = DriverManager.getConnection(JDBC_CONECTIN_STRING);
 				Statement stm = con.createStatement();
@@ -35,7 +35,7 @@ public class DbConnector {
 		return result;
 	}
 
-	public static void createTable() {
+	public void init() {
 		try (Connection con = DriverManager.getConnection(JDBC_CONECTIN_STRING);
 				Statement stm = con.createStatement();) {
 			stm.executeUpdate("CREATE TABLE if not exists scores (nick VARCHAR(50) NOT NULL, points INT NOT NULL);");
@@ -44,7 +44,7 @@ public class DbConnector {
 		}
 	}
 
-	public static void insertScore(Score score) {
+	public void insertScore(Score score) {
 		try (Connection con = DriverManager.getConnection(JDBC_CONECTIN_STRING);
 				PreparedStatement stm = con.prepareStatement("INSERT INTO scores VALUES (?, ?)");) {
 			stm.setString(1, score.getName());
diff --git a/src/main/java/lab/GameController.java b/src/main/java/lab/GameController.java
index b94e3f58af79457fd1b1f26df2b8fdd9a7058854..745de938821f9e3e651df9a6bccdb0487bbd4a6b 100644
--- a/src/main/java/lab/GameController.java
+++ b/src/main/java/lab/GameController.java
@@ -71,17 +71,17 @@ public class GameController {
     void btnGenerateScoreAction(ActionEvent event) {
     	Score score = Score.generate();
     	this.scores.getItems().add(score);
-    	DbConnector.insertScore(score);
+    	ScoreStorageFactory.getInstance().insertScore(score);
     }
 
     @FXML
     void btnLoadAllAction(ActionEvent event) {
-    	updateScoreTable(DbConnector.getAll());
+    	updateScoreTable(ScoreStorageFactory.getInstance().getAll());
     }
 
     @FXML
     void btnLoadFirstTenAction(ActionEvent event) {
-    	updateScoreTable(DbConnector.getFirstTen());
+    	updateScoreTable(ScoreStorageFactory.getInstance().getFirstTen());
     }
     
     private void updateScoreTable(List<Score> scores) {
@@ -117,8 +117,8 @@ public class GameController {
 	
 	private void initDB() {
 		//Stream.generate(Score::generate).limit(10).toList();
-		DbConnector.createTable();
-		scores.getItems().addAll(DbConnector.getAll());
+		ScoreStorageFactory.getInstance().init();
+		scores.getItems().addAll(ScoreStorageFactory.getInstance().getAll());
 	}
 
 	public void stop() {
diff --git a/src/main/java/lab/ScoreStorageFactory.java b/src/main/java/lab/ScoreStorageFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..3346de6eb41a256e171e1a9bfb3d6af18ad1b464
--- /dev/null
+++ b/src/main/java/lab/ScoreStorageFactory.java
@@ -0,0 +1,13 @@
+package lab;
+
+public class ScoreStorageFactory {
+
+	private static DbConnector instance;
+	
+	public static DbConnector getInstance() {
+		if(instance	== null) {
+			instance = new DbConnector();
+		}
+		return instance;
+	}
+}
diff --git a/src/main/resources/lab/gameWindow.fxml b/src/main/resources/lab/gameWindow.fxml
index 33be739d9e2e405729ea29470944c5ab1d8a1ee6..9eb99f99a217926c42ebd219b1a0bbd925364854 100644
--- a/src/main/resources/lab/gameWindow.fxml
+++ b/src/main/resources/lab/gameWindow.fxml
@@ -13,7 +13,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="421.0" prefWidth="849.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="lab.GameController">
+<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="388.0" prefWidth="911.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="lab.GameController">
    <bottom>
       <HBox alignment="TOP_CENTER" prefHeight="66.0" prefWidth="866.0" BorderPane.alignment="CENTER">
          <children>
@@ -49,7 +49,7 @@
    <center>
       <VBox maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" BorderPane.alignment="CENTER">
          <children>
-            <TableView fx:id="scores" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308">
+            <TableView fx:id="scores" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="2000.0">
               <columns>
                 <TableColumn fx:id="nickColumn" prefWidth="75.0" text="Nick" />
                 <TableColumn fx:id="pointsColumn" prefWidth="75.0" text="Points" />