diff --git a/CMakeLists.txt b/CMakeLists.txt
index c1f6789e1f555dea7cd5c5353eb0fc1dded78a91..3d79b7d5c40a9962e0e4a02aa4a49ada370f66aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,16 +1,9 @@
 cmake_minimum_required(VERSION 3.19)
 
 option(INCLUDE_CUDA "GPU build in mode" OFF)
-option(ADRESS_SANITIZER "Enable address sanitizer" OFF)
 option(CXX23_STACKTRACE "Enable C++23 stacktrace" OFF)
 
-if(ADRESS_SANITIZER)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -O1 -fno-omit-frame-pointer -g")
-endif(ADRESS_SANITIZER)
-
-# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++2b")
-
-project(memory-faucet-test)
+project(memory-holder)
 
 enable_language(CXX)
 if(CXX23_STACKTRACE)
@@ -19,6 +12,15 @@ else(CXX23_STACKTRACE)
     set(CMAKE_CXX_STANDARD 11)
 endif(CXX23_STACKTRACE)
 
+include(FetchContent)
+FetchContent_Declare(
+        memory_processing
+        GIT_REPOSITORY http://tesla.parallel.ru/Lizzzka007/memory_processing.git
+        GIT_TAG        main
+)
+FetchContent_MakeAvailable(memory_processing)
+FetchContent_GetProperties(memory_processing)
+
 if(INCLUDE_CUDA)
     if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
     message(FATAL_ERROR "
@@ -32,12 +34,19 @@ if(INCLUDE_CUDA)
     add_definitions(-DINCLUDE_CUDA)
 endif(INCLUDE_CUDA)
 
-add_subdirectory(Lib)
-
 set(SOURCES
-    main.cpp
+    src/buffer.cpp 
+    src/mf-utils.cpp
+    src/memory-faucet.cpp
+)
+
+set(HEADER
+    include/buffer.h 
+    include/mf-utils.h
+    include/memory-faucet.h
 )
 
-add_executable(test ${SOURCES})
-target_include_directories(test PUBLIC ./Lib/)
-target_link_libraries(test memory-faucet)
\ No newline at end of file
+include_directories(include/)
+add_library(memory-faucet ${SOURCES} ${HEADER})
+target_include_directories(memory-faucet PUBLIC ${memory_processing_SOURCE_DIR}/include)
+target_link_libraries(memory-faucet memproc)
\ No newline at end of file
diff --git a/Lib/CMakeLists.txt b/Lib/CMakeLists.txt
deleted file mode 100644
index cac917337791bc7640fe2d6005b344c720ab86b4..0000000000000000000000000000000000000000
--- a/Lib/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-cmake_minimum_required(VERSION 3.19)
-
-option(INCLUDE_CUDA "GPU build in mode" OFF)
-option(CXX23_STACKTRACE "Enable C++23 stacktrace" OFF)
-# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++2b")
-
-project(memory-holder)
-
-enable_language(CXX)
-if(CXX23_STACKTRACE)
-    set(CMAKE_CXX_STANDARD 23)
-else(CXX23_STACKTRACE)
-    set(CMAKE_CXX_STANDARD 11)
-endif(CXX23_STACKTRACE)
-
-include(FetchContent)
-FetchContent_Declare(
-        memory_processing
-        GIT_REPOSITORY http://tesla.parallel.ru/Lizzzka007/memory_processing.git
-        GIT_TAG        main
-)
-FetchContent_MakeAvailable(memory_processing)
-FetchContent_GetProperties(memory_processing)
-
-if(INCLUDE_CUDA)
-    if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
-    message(FATAL_ERROR "
-                    CMake will not pass any architecture flags to the compiler 
-                    because the CUDA architecture is not set. You should specify 
-                    an architecture: set -DCMAKE_CUDA_ARCHITECTURES=<N>.")
-    endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
-
-    enable_language(CUDA)
-    include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
-    add_definitions(-DINCLUDE_CUDA)
-endif(INCLUDE_CUDA)
-
-set(SOURCES
-    buffer.cpp 
-    mf-utils.cpp
-    memory-faucet.cpp
-)
-
-set(HEADER
-    buffer.h 
-    mf-utils.h
-    memory-faucet.h
-)
-
-add_library(memory-faucet ${SOURCES} ${HEADER})
-target_include_directories(memory-faucet PUBLIC ${memory_processing_SOURCE_DIR}/include)
-target_link_libraries(memory-faucet memproc)
\ No newline at end of file
diff --git a/Lib/buffer.h b/include/buffer.h
similarity index 100%
rename from Lib/buffer.h
rename to include/buffer.h
diff --git a/Lib/memory-faucet.h b/include/memory-faucet.h
similarity index 100%
rename from Lib/memory-faucet.h
rename to include/memory-faucet.h
diff --git a/Lib/mf-utils.h b/include/mf-utils.h
similarity index 100%
rename from Lib/mf-utils.h
rename to include/mf-utils.h
diff --git a/main.cpp b/main.cpp
deleted file mode 100644
index 59f347585edb2b00a6541e08d4cf1faae783fab1..0000000000000000000000000000000000000000
--- a/main.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "memory-faucet.h"
-#include <cstdio>
-
-int main(void)
-{
-    const size_t required_size1 = sizeof(float) * 100;
-    const size_t required_size2 = sizeof(float) * 1;
-    const size_t required_size3 = sizeof(float) * 10000;
-    const size_t required_size5 = sizeof(float) * 100000;
-    const size_t required_size6 = sizeof(float) * 100000000;
-    // printf("required_size %ld\n", required_size);
-    
-    printf("Start Buf1\n");
-    memBuf<MemType::CPU> Buf1(required_size3);
-    // memBuf<MemType::CPU> Buf2(required_size3);
-    printf("Start Buf2\n");
-    memBuf<MemType::CPU> Buf2(required_size3);
-    // memBuf<MemType::CPU, buf_choose_policy::find_best_unsorted> Buf3(required_size3);
-    printf("Start Buf4\n");
-    memBuf<MemType::CPU> Buf4(required_size1);
-
-    printf("Start Buf5\n");
-    memBuf<MemType::CPU> Buf5(required_size5);
-
-    printf("Start Buf6\n");
-    memBuf<MemType::CPU> Buf6(required_size6);
-
-    // printf("Start Buf7\n");
-    // memBuf<MemType::GPU> Buf7(required_size6);
-
-    float* ptr1 = static_cast<float*>(Buf1.ptr());
-    float* ptr2 = static_cast<float*>(Buf2.ptr());
-    float* ptr4 = static_cast<float*>(Buf4.ptr());
-    float* ptr6 = static_cast<float*>(Buf6.ptr());
-
-    printf("Address of Buf1 is %p\n", Buf1.ptr()); 
-    printf("Address of Buf2 is %p\n", Buf2.ptr());  
-    printf("Address of Buf4 is %p\n", Buf4.ptr());  
-
-    for (int i = 0; i < 10; i++)
-    {
-        ptr1[i] = float(i);
-        ptr2[i] = float(i);
-        ptr4[i] = float(i);
-        ptr6[i] = float(i);
-    }
-
-    return 0;
-}
\ No newline at end of file
diff --git a/Lib/buffer.cpp b/src/buffer.cpp
similarity index 100%
rename from Lib/buffer.cpp
rename to src/buffer.cpp
diff --git a/Lib/memory-faucet.cpp b/src/memory-faucet.cpp
similarity index 100%
rename from Lib/memory-faucet.cpp
rename to src/memory-faucet.cpp
diff --git a/Lib/mf-utils.cpp b/src/mf-utils.cpp
similarity index 100%
rename from Lib/mf-utils.cpp
rename to src/mf-utils.cpp