diff --git a/CMakeLists.txt b/CMakeLists.txt
index a66a4b04f878f5ba6d8be4b90973de7c5d949183..50d120c2375216927780ee6acd25fdb3b3326b4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +1,9 @@
 # Set the minimum version of cmake required to build this project
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 3.13)
 
 project(gnuplot)
 
 subdirs(o_gnuplot)
-subdirs(o_gnuplot_poi)
+#subdirs(o_gnuplot_poi) // Need to be checked and documented
 
 
diff --git a/o_gnuplot/CMakeLists.txt b/o_gnuplot/CMakeLists.txt
index f313afc17c2cb9fced3816c38b1747a2c512e25e..ec6d86fc87a52cb2afda2a41d0e166d98a95bda9 100644
--- a/o_gnuplot/CMakeLists.txt
+++ b/o_gnuplot/CMakeLists.txt
@@ -3,11 +3,9 @@ cmake_minimum_required(VERSION 2.6)
 
 project(o_gnuplot)
 
-find_package(blc_channel REQUIRED)
-find_package(blc_program REQUIRED)
+find_package(blc REQUIRED)
 
-add_definitions(${BL_DEFINITIONS} -std=c++14)
-include_directories(${BL_INCLUDE_DIRS})
 add_executable(o_gnuplot src/o_gnuplot.cpp src/history_graph.cpp src/graph.cpp )
-target_link_libraries(o_gnuplot ${BL_LIBRARIES})
+target_compile_features(o_gnuplot PRIVATE cxx_std_14)
+target_link_libraries(o_gnuplot PRIVATE blc rt})
 
diff --git a/o_gnuplot/src/history_graph.cpp b/o_gnuplot/src/history_graph.cpp
index aa884b6bd2ac28ed2099ab33d466e8591227ea03..feb7464b452dbd7b857cf94a884673a64ba96452 100644
--- a/o_gnuplot/src/history_graph.cpp
+++ b/o_gnuplot/src/history_graph.cpp
@@ -1,9 +1,11 @@
 #include "blc_program.h"
+#include "blc_text.h"
 #include "graph.h"
 #include <pthread.h>
 #include <sys/time.h>
 #include <unistd.h>
 #include <string>
+#include <unique>
 
 using namespace std;
 
@@ -20,7 +22,7 @@ typedef struct history:blc_array{
     unsigned long initial_us;
 }type_history;
 
-type_history history;
+unique_ptr<type_history> history;
 
 pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;
 int k;
@@ -197,7 +199,7 @@ void create_history_graph(deque <blc_channel> &inputs, char const *title, int hi
         command.append(buffer);
     }
     
-    history.init(input->type, input->format, 2, columns_nb, history_length);
+    history(input->type, input->format, {columns_nb, history_length});
     history.sampling_period=sampling_period;
     history.input=input;