diff --git a/lib/core-callback/dumper/req.js b/lib/core-callback/dumper/req.js
index f24a06e..f200885 100644
--- a/lib/core-callback/dumper/req.js
+++ b/lib/core-callback/dumper/req.js
@@ -7,7 +7,8 @@ const config = require('komodo-sdk/config');
 const logger = require('tektrans-logger');
 const moment = require('moment');
 
-const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists');
+// const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists');
+const mkdirp = require('mkdirp');
 
 const baseDumpDir = path.join('dump', 'core-callback');
 const lastDumpFileName = path.join(baseDumpDir, 'last-req');
@@ -51,7 +52,8 @@ ${JSON.stringify(req.body, null, 2)}
     );
 
     try {
-        await mkdirIfNotExists(xid, path.dirname(dumpFileName));
+        // await mkdirIfNotExists(xid, path.dirname(dumpFileName));
+        await mkdirp(path.dirname(dumpFileName));
         await fsPromise.writeFile(lastDumpFileName, data);
         await fsPromise.writeFile(dumpFileName, data);
     } catch (e) {
diff --git a/lib/core-callback/dumper/sender.js b/lib/core-callback/dumper/sender.js
index 1307878..278b462 100644
--- a/lib/core-callback/dumper/sender.js
+++ b/lib/core-callback/dumper/sender.js
@@ -5,8 +5,9 @@ const path = require('path');
 const config = require('komodo-sdk/config');
 const logger = require('tektrans-logger');
 const moment = require('moment');
+const mkdirp = require('mkdirp');
 
-const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists');
+// const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists');
 
 const baseDumpDir = path.join('dump', 'core-callback');
 const lastDumpFileName = path.join(baseDumpDir, 'last-sent');
@@ -56,7 +57,8 @@ ${
     );
 
     try {
-        await mkdirIfNotExists(xid, path.dirname(dumpFileName));
+        // await mkdirIfNotExists(xid, path.dirname(dumpFileName));
+        await mkdirp(path.dirname(dumpFileName));
         await fsPromise.writeFile(lastDumpFileName, data);
         await fsPromise.writeFile(dumpFileName, data);
     } catch (e) {
diff --git a/lib/partner-listener/dumper/index.js b/lib/partner-listener/dumper/index.js
index faa5ea9..c9dd2da 100644
--- a/lib/partner-listener/dumper/index.js
+++ b/lib/partner-listener/dumper/index.js
@@ -5,8 +5,9 @@ const path = require('path');
 const moment = require('moment');
 const config = require('komodo-sdk/config');
 const logger = require('tektrans-logger');
+const mkdirp = require('mkdirp');
 
-const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists');
+// const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists');
 
 const baseDumpDir = path.join('dump', 'partner-listener');
 const lastDumpFileName = path.join(baseDumpDir, 'last');
@@ -48,7 +49,8 @@ ${typeof responseBody === 'string' ? responseBody : JSON.stringify(responseBody,
     );
 
     try {
-        await mkdirIfNotExists(xid, path.dirname(dumpFileName), MODULE_NAME);
+        // await mkdirIfNotExists(xid, path.dirname(dumpFileName), MODULE_NAME);
+        await mkdirp(path.dirname(dumpFileName));
         await fsPromise.writeFile(lastDumpFileName, data);
         await fsPromise.writeFile(dumpFileName, data);
     } catch (e) {
diff --git a/lib/utils/mkdir-if-not-exists.js b/lib/utils/mkdir-if-not-exists.js
index 0002c00..9323684 100644
--- a/lib/utils/mkdir-if-not-exists.js
+++ b/lib/utils/mkdir-if-not-exists.js
@@ -1,30 +1,57 @@
 const MODULE_NAME = 'MKDIR-IF-NOT-EXISTS';
 
 const fsPromise = require('fs').promises;
+const mkdirp = require('mkdirp');
 const logger = require('tektrans-logger');
 
-const mkdir = async (xid, dirname, callerName) => {
-    try {
-        logger.verbose(`${MODULE_NAME} 6B08D52D: Creating directory`, {
-            xid, dirname, callerName,
-        });
+logger.verbose(`${MODULE_NAME} 5C419B7B: CEKIDOT`);
 
-        await fsPromise.mkdir(dirname, { recursive: true });
+const existed = [];
+/**
+ * @deprecated because mkdirp is safe if dir already exists
+ * @param  {} filename
+ */
+const isFileExists = async (filename) => {
+    if (existed.indexOf(filename) >= 0) return true;
+
+    try {
+        await fsPromise.stat(filename);
+        existed.push(filename);
+        return true;
     } catch (e) {
-        logger.warn(`${MODULE_NAME} 857718E9: Exception on creating directory`, {
-            xid,
-            dirname,
-            callerName,
-            eCode: e.code,
-            eMessage: e.message,
-        });
+        return false;
     }
 };
 
+/**
+ * @deprecated please use mkdirp directly
+ * @param  {} xid
+ * @param  {} dirname
+ * @param  {} callerName
+ */
 module.exports = async (xid, dirname, callerName) => {
-    try {
-        await fsPromise.stat(dirname);
-    } catch (e) {
-        await mkdir(xid, dirname, callerName);
+    logger.verbose(`${MODULE_NAME} 4BD9F146: Create directory if not exists`, {
+        xid, dirname, callerName,
+    });
+
+    const alreadyExists = await isFileExists(dirname);
+    if (!alreadyExists) {
+        logger.verbose(`${MODULE_NAME} 6B08D52D: Creating directory`, {
+            xid, dirname, callerName,
+        });
+
+        try {
+            await mkdirp(dirname);
+        } catch (e) {
+            logger.warn(`${MODULE_NAME} 857718E9: Exception on creating directory`, {
+                xid,
+                dirname,
+                callerName,
+                eCode: e.code,
+                eMessage: e.message,
+            });
+        }
+    } else {
+        logger.verbose(`${MODULE_NAME} 14A094F5: Directory already exists`, { xid, dirname, callerName });
     }
 };