diff --git a/inc/litedb.h b/inc/litedb.h
index 8b1f76f..2509b7b 100644
--- a/inc/litedb.h
+++ b/inc/litedb.h
@@ -3,6 +3,9 @@
 #include <string>
 #include <status.h>
 #include <sqlite3.h>
+#include <vector>
+#include <entry.h>
+
 
 class litedb
 {
@@ -31,7 +34,10 @@ public:
         return this->db;
     }
 
-    Status exec_sql(std::string sql);
+    Status exec_sql(std::string&& sql);
+
+    Status exec_prepare_sql(std::string&& sql);
+
     ~litedb();
 };
 
diff --git a/src/litedb.cc b/src/litedb.cc
index 978d4a4..0ea288c 100644
--- a/src/litedb.cc
+++ b/src/litedb.cc
@@ -38,7 +38,7 @@ Status litedb::litedb_open()
     return Status::STATUS_OK;
 }
 
-Status litedb::exec_sql(std::string sql)
+Status litedb::exec_sql(std::string&& sql)
 {
     int ret = 0;
 
diff --git a/src/main.cc b/src/main.cc
index 83555e3..8620ae3 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -30,9 +30,9 @@ int main(int argc, char const *argv[])
         std::cout << "Sucess open database\n";
     }
 
-    const std::string create_tab_sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);";
+    std::string create_tab_sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);";
 
-    if (dbhand->exec_sql(create_tab_sql) != Status::STATUS_OK)
+    if (dbhand->exec_sql(std::move(create_tab_sql)) != Status::STATUS_OK)
     {
         std::cerr << "faild to create table\n";
     }
@@ -41,5 +41,7 @@ int main(int argc, char const *argv[])
         std::cout << "success create table user\n";
     }
 
+    // insert user entry
+
     return 0;
 }