diff --git a/.gitignore b/.gitignore
index 13b5060..f55c0b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
-test.invodb
-/cmake-build-debug/
-.idea
\ No newline at end of file
+package-lock.json
+*.invodb
+.vscode
+node_modules
+build
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 96275ad..0000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-InvoDB
\ No newline at end of file
diff --git a/.idea/InvoDB.iml b/.idea/InvoDB.iml
deleted file mode 100644
index f08604b..0000000
--- a/.idea/InvoDB.iml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 79b3c94..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index f4b947f..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index 7575c27..0000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-cmake_minimum_required(VERSION 3.16.3)
-project(InvoDB)
-
-set(CMAKE_CXX_STANDARD 17)
-
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0")
-
-include_directories(.)
-include_directories(./invodb)
-
-add_executable(InvoDB
- invodb/main.cpp
- invodb/main.h invodb/file/page_manager.cpp invodb/file/page_manager.h invodb/collection/collection.cpp invodb/collection/collection.h invodb/file/storage_page.cpp invodb/file/storage_page.h invodb/utils/logger.h invodb/utils/uuid.h invodb/btree/node.h invodb/btree/btree.h invodb/btree/list.h invodb/collection/query.cpp invodb/utils/cache.h invodb/collection/index.cpp)
diff --git a/binding.gyp b/binding.gyp
new file mode 100644
index 0000000..43fd267
--- /dev/null
+++ b/binding.gyp
@@ -0,0 +1,27 @@
+{
+ "targets": [
+ {
+ "target_name": "core",
+ "sources": [
+ "./src/collection/collection.cpp",
+ "./src/collection/index.cpp",
+ "./src/collection/query.cpp",
+ "./src/file/page_manager.cpp",
+ "./src/file/storage_page.cpp",
+ "./src/main.cpp",
+ ],
+ "include_dirs": [
+ "
#include