diff --git a/lib/modem-commands.js b/lib/modem-commands.js
index 171ff2c..a8921f3 100644
--- a/lib/modem-commands.js
+++ b/lib/modem-commands.js
@@ -18,6 +18,15 @@ function writeToPort(data) {
     });
 }
 
+exports.sleep = function sleep(ms) {
+    return new Promise((resolve) => {
+        setTimeout(() => {
+            resolve();
+        }, ms || 0);
+    });
+};
+
+
 exports.setPort = function setPort(val) {
     port = val;
 };
@@ -34,3 +43,12 @@ exports.querySignalQuality = function querySignalQuality() {
         resolve(true);
     });
 };
+
+exports.queryCOPS = function querySignalQuality() {
+    return new Promise(async (resolve) => {
+        await mutex.lock(MUTEX_COMMAND, 'queryCOPS');
+        await writeToPort('AT+COPS?\r');
+        mutex.unlock(MUTEX_COMMAND, 'queryCOPS');
+        resolve(true);
+    });
+};
diff --git a/modem-tester.js b/modem-tester.js
index 5732599..7578f22 100644
--- a/modem-tester.js
+++ b/modem-tester.js
@@ -53,10 +53,8 @@ port = new SerialPort(config.modem.device, { baudRate: 115200 }, async (err) =>
         'AT&FE0\r',
         'AT+CGSN\r',
         'AT+CIMI\r',
-        'AT+COPS?\r',
     ];
 
-
     const commandsCount = commands.length;
     // eslint-disable-next-line no-plusplus
     for (let i = 0; i < commandsCount; i++) {