diff --git a/parse_string.cpp b/parse_string.cpp
index 6b6e9a0..697a68f 100644
--- a/parse_string.cpp
+++ b/parse_string.cpp
@@ -417,23 +417,24 @@
     return oss.str();
 }
 
-std::string dump(const RuntimeInfo &ki) {
+std::string dump(const RuntimeInfo& ki, bool verbose) {
     std::ostringstream oss;
 
-    oss << "kernel = "
-        << ki.osName() << "/"
-        << ki.nodeName() << "/"
-        << ki.osRelease() << "/"
-        << ki.osVersion() << "/"
-        << ki.hardwareId() << ";"
-        << ki.mBootAvbVersion << "/"
+    oss << "kernel = " << ki.osName() << "/" << ki.nodeName() << "/" << ki.osRelease() << "/"
+        << ki.osVersion() << "/" << ki.hardwareId() << ";" << ki.mBootAvbVersion << "/"
         << ki.mBootVbmetaAvbVersion << ";"
-        << "kernelSepolicyVersion = " << ki.kernelSepolicyVersion()
-        << ";\n\ncpu info:\n"
-        << ki.cpuInfo()
-        << "\n#CONFIG's loaded = " << ki.mKernelConfigs.size() << ";\n";
-    for (const auto &pair : ki.mKernelConfigs) {
-        oss << pair.first << "=" << pair.second << "\n";
+        << "kernelSepolicyVersion = " << ki.kernelSepolicyVersion() << ";";
+
+    if (verbose) {
+        oss << "\n\ncpu info:\n" << ki.cpuInfo();
+    }
+
+    oss << "\n#CONFIG's loaded = " << ki.mKernelConfigs.size() << ";\n";
+
+    if (verbose) {
+        for (const auto& pair : ki.mKernelConfigs) {
+            oss << pair.first << "=" << pair.second << "\n";
+        }
     }
 
     return oss.str();
