diff --git a/common/db.js b/common/db.js
index 5b0a2d6f990b1d3afeb1456ab03b5556efdb8c12..f82732bc498a461e49cf3a0e889c6d50266fd52e 100644
--- a/common/db.js
+++ b/common/db.js
@@ -42,25 +42,32 @@ class KaraDatabase {
     /* Call this as a destructor */
     close() {
         this.m_db.close();
-        logger.log("info", "Close database " + karaPath);
+        logger.log("info", `Close database ${this.m_karaPath}`);
     }
 
     /* Search from the kara table, a string. Can be anything (query, name, etc).
-     * - queryString: String */
+     * - queryString: String
+     * => A promise, callback with [(id: Int, string: String, cat: String, type: String)] */
     search(queryString) {
-        let __sqlQuery =
-            `SELECT id, string
-             FROM kara
-             WHERE string LIKE ? OR author COLLATE nocase = ?`
-        ;
-        db.all(sql, [`%${queryString}%`, queryString], (err, rows) => {
-            if (err) {
-                throw err;
-            }
-            rows.forEach((row) => {
-                logger.log("debug", `[${row.id}] -> ${row.string}`);
+        var __ret      = [];
+        let __sqlQuery = `SELECT id, string, category AS cat, (song_type || song_number) AS type
+                          FROM kara
+                          WHERE string LIKE ? OR author_name COLLATE nocase = ?`;
+
+        function __getRecords(db) {
+            return new Promise(resolv => {
+                db.all(__sqlQuery, [`%${queryString}%`, queryString], (err, rows) => {
+                    if (err) {
+                        logger.log("error", err);
+                        throw err;
+                    }
+                    rows.forEach((row) => { __ret.push(row); });
+                    resolv(__ret);
+                });
             });
-        });
+        };
+
+        return __getRecords(this.m_db);
     }
 }
 
diff --git a/common/kara.js b/common/kara.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/test/test_db.js b/test/test_db.js
index 186b187764950b298009c4ba9e2e2e006cc23e66..ba3fad0a1290216ec30266cc0b99f888d3f96976 100644
--- a/test/test_db.js
+++ b/test/test_db.js
@@ -1,4 +1,7 @@
-const logger       = require.main.require('../common/logger.js');
-const KaraDatabase = require.main.require('../common/db.js');
+const logger       = require.main.require('./common/logger.js');
+const KaraDatabase = require.main.require('./common/db.js');
 
 var myDb = new KaraDatabase("/home/kara/kara.db");
+
+myDb.search(`kubat`).then( val => logger.log("debug", val) )
+myDb.close()