diff --git a/README.md b/README.md
index 16b40bbf28344c5d2250a18237ec93bc06530467..788708185e5bfb8b33fb67956cd79dc8a936fc14 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,18 @@
 # README #
 
-NRP web-frontend 2.0 using React
+NRP web-frontend 4.0 using React
 
+### Prerequisites
+
+- "nvm install 14"
+
+### Install
+
+- "nvm use 14"
+- "npm install"
 
 ### Commands
 
+- "nvm use 14"
 - "npm start" (dev server)
 - "npm run build" (build for production)
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 5b032157273a231574f175f8621d0e3aaadb8526..708e53d8ef58bc00c8edd73ae4987d22769c6239 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7548,6 +7548,11 @@
         "slash": "^3.0.0"
       }
     },
+    "google-protobuf": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.0.tgz",
+      "integrity": "sha512-byR7MBTK4tZ5PZEb+u5ZTzpt4SfrTxv5682MjPlHN16XeqgZE2/8HOIWeiXe8JKnT9OVbtBGhbq8mtvkK8cd5g=="
+    },
     "graceful-fs": {
       "version": "4.2.6",
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
@@ -11634,9 +11639,9 @@
       }
     },
     "nrp-jsproto": {
-      "version": "1.1.1-alpha.10",
-      "resolved": "https://registry.npmjs.org/nrp-jsproto/-/nrp-jsproto-1.1.1-alpha.10.tgz",
-      "integrity": "sha512-KFe2AQuhtx4wD76PIzxlhKFXtWYeUtyqSkONA8nYvIV9HfG67q09Qcnzhl745jZHZHZMC03xj9QVEr0x5so8Cg=="
+      "version": "1.1.1-alpha.20",
+      "resolved": "https://registry.npmjs.org/nrp-jsproto/-/nrp-jsproto-1.1.1-alpha.20.tgz",
+      "integrity": "sha512-n39H3PBdhA+ojWIRe43ZcSJEZeogGZ91o5beHKrLdbbjNGcduOAzUS75AYE2hQ0YbOWtGwNVDQL9LGHK0LZugQ=="
     },
     "nth-check": {
       "version": "1.0.2",
diff --git a/package.json b/package.json
index 23c65b4108e39e1201851ae0671e51a9ba4f1900..48045559c523821cd9899d0930cb865c75a738c4 100644
--- a/package.json
+++ b/package.json
@@ -17,10 +17,11 @@
     "@material-ui/lab": "4.0.0-alpha.57",
     "bootstrap": "4.5",
     "flexlayout-react": "0.5.5",
+    "google-protobuf": "3.21.0",
     "jquery": "3.6.0",
     "jszip": "3.2.0",
     "mqtt": "4.3.5",
-    "nrp-jsproto": "1.1.1-alpha.10",
+    "nrp-jsproto": "1.1.1-alpha.20",
     "protobufjs": "6.11.2",
     "react": "^17.0.1",
     "react-bootstrap": "1.4.0",
diff --git a/src/services/mqtt-client-service.js b/src/services/mqtt-client-service.js
index c13e6042236ddccf1d012d7bfb2732c71c5365a5..15fc09c9be9fd481b1a201f49f1f5d5ca1d47dc7 100644
--- a/src/services/mqtt-client-service.js
+++ b/src/services/mqtt-client-service.js
@@ -52,20 +52,20 @@ export default class MqttClientService extends EventEmitter {
     console.info('MQTT message: [topic, payload, packet]');
     console.info([topic, payload, packet]);
 
-    try {
+    /*try {
       if (topic.endsWith('/type')) {
         let msg = String(payload);
         console.info('"' + topic + '" message format = ' + msg);
       }
       else {
-        let msg = proto.Engine.DataPackMessage.decode(payload);
+        let msg = DataPackMessage.deserializeBinary(payload);
         console.info('DataPackMessage');
         console.info(msg);
       }
     }
     catch (error) {
       console.error(error);
-    }
+    }*/
   }
 
   subscribeToTopic(topic, callback=Function()){