diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index 68a4cf2..946162b 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -51,7 +51,7 @@
 }
 
 YangSchema::YangSchema()
-    : m_context(std::make_shared<libyang::Context>())
+    : m_context(std::make_shared<libyang::Context>(nullptr, LY_CTX_DISABLE_SEARCHDIRS | LY_CTX_DISABLE_SEARCHDIR_CWD))
 {
 }
 
@@ -223,3 +223,25 @@
     }
     return res;
 }
+
+void YangSchema::loadModule(const std::string& moduleName)
+{
+    m_context->load_module(moduleName.c_str());
+}
+
+void YangSchema::registerModuleCallback(const std::function<std::string(const char*, const char*, const char*)>& clb)
+{
+    auto lambda = [clb](const char* mod_name, const char* mod_revision, const char* submod_name, const char* submod_revision) {
+        (void)submod_revision;
+        auto moduleSource = clb(mod_name, mod_revision, submod_name);
+        if (moduleSource.empty()) {
+            return libyang::Context::mod_missing_cb_return{LYS_IN_YANG, nullptr};
+        }
+        return libyang::Context::mod_missing_cb_return{LYS_IN_YANG, strdup(moduleSource.c_str())};
+    };
+
+    auto deleter = [](void* data) {
+        free(data);
+    };
+    m_context->add_missing_module_callback(lambda, deleter);
+}
