diff --git a/cli.cpp b/cli.cpp
index 2ee15aa643e909389278f341e92af741e43d7c6b..f2db71a936215dff58ff055056c1f6bfdcb25a8a 100644
--- a/cli.cpp
+++ b/cli.cpp
@@ -218,7 +218,7 @@ void Cli::loop (Stream& input)
         else if (kw(F("FMM")))   //*******************FRONT_DISTANCE*******************//
         {
             copyNextToTemp();
-            String name_syringe = SyringeFilled :: get_syringe_filled_data()["name_syringe"];
+            String name_syringe = syringe_filled.get_syringe_filled_data()["name_syringe"];
             if (_temp.length())
             {
                 if (isdigit(_temp[0]))
@@ -232,7 +232,7 @@ void Cli::loop (Stream& input)
         else if (kw(F("EMM")))     //*******************EXCHANGE_DISTANCE*******************//
         {
             copyNextToTemp();
-            String name_syringe = SyringeFilled :: get_syringe_filled_data()["name_syringe"];
+            String name_syringe = syringe_filled.get_syringe_filled_data()["name_syringe"];
             if (_temp.length())
             {
                 if (isdigit(_temp[0]) || _temp[0] == '-')
@@ -247,13 +247,13 @@ void Cli::loop (Stream& input)
         else if (kw(F("DIA")))           //*******************INTERNAL_DIAMETER*******************//*
         {
             copyNextToTemp();
-            String name_syringe = SyringeFilled :: get_syringe_filled_data()["name_syringe"];
+            String name_syringe = syringe_filled.get_syringe_filled_data()["name_syringe"];
             if (_temp.length())
             {
-                Syringe :: get_syringe_database()[name_syringe].set_internal_diameter_mm(name_syringe,atof(_temp.c_str())));
-                answer( Syringe :: check_configuration(name_syringe), F("invalid diameter"));
+                syringe.get_syringe_database()[name_syringe].set_internal_diameter_mm(name_syringe,atof(_temp.c_str())));
+                answer( syringe.check_configuration(name_syringe), F("invalid diameter"));
             }
-            Serial.printf("%sDIA: %g mm\n", _msgHeader, Syringe :: get_syringe_database()[name_syringe]["internal_diameter_mm"]);
+            Serial.printf("%sDIA: %g mm\n", _msgHeader, syringe.get_syringe_database()[name_syringe]["internal_diameter_mm"]);
         }
 #endif
         else if (kw(F("RVM")))
diff --git a/syringe.cpp b/syringe.cpp
index 7e5157577dbcd291930bcc3f28e5fdbf64f80ca2..5f0ff8d2042e9c19c228997ec42cc692ab84ca11 100644
--- a/syringe.cpp
+++ b/syringe.cpp
@@ -2,23 +2,24 @@
 #include <math.h>
 
 #include "syringe.h"
+#include <StreamString.h>
 
 Syringe syringe;
 
-StaticJsonDocument<200> Syringe :: syringe_json;  //200 = RAM allocated to this document
 
 //CONSTRUCTOR
 Syringe :: Syringe()
 {
-    //First Syringe
-    Serial.println("okk");
-    set_syringe("BD_10mL", "300912","BD", 10, 14.5);
+    //set_syringe("BD_10mL", "300912","BD", 10, 14.5);
     set_syringe("Terumo_5mL", "0197","Terumo", 5, 10);
+    syringe_json["BD_10mL"] = 10;
+    syringe_json["nom"] = "bidule";
 }
 
 
+
 //SET METHODS
-void Syringe :: set_syringe(String name, string ref, string brand, float total_volume_mL, float internal_diameter_mm)
+void Syringe :: set_syringe(String name, String ref, String brand, float total_volume_mL, float internal_diameter_mm)
 {
     syringe_json["name"] = name;
     set_ref(name, ref);
@@ -27,12 +28,12 @@ void Syringe :: set_syringe(String name, string ref, string brand, float total_v
     set_internal_diameter_mm(name, internal_diameter_mm);
 }
 
-void Syringe :: set_ref(String name, string ref)
+void Syringe :: set_ref(String name, String ref)
 {
     syringe_json[name]["ref"] = ref;
 }
 
-void Syringe :: set_brand(String name, string brand)
+void Syringe :: set_brand(String name, String brand)
 {
     syringe_json[name]["brand"] = brand;
 }
@@ -52,14 +53,14 @@ void Syringe :: set_internal_diameter_mm(String name, float internal_diameter_mm
 
 
 //GET METHODS
-string Syringe :: get_ref(String name)
+String Syringe :: get_ref(String name)
 {
-    return syringe_json[name]["ref"].as<string>();
+    return syringe_json[name]["ref"].as<String>();
 }
 
-string Syringe :: get_brand(String name)
+String Syringe :: get_brand(String name)
 {
-    return syringe_json[name]["brand"].as<string>();
+    return syringe_json[name]["brand"].as<String>();
 }
 
 float Syringe :: get_total_volume_mL(String name)
diff --git a/syringe.h b/syringe.h
index 555badca0da9a09217e84d6a3dc6a5af801b3867..62a6124d9abefc0a14038e46de9ac9af6cdfa473 100644
--- a/syringe.h
+++ b/syringe.h
@@ -24,8 +24,7 @@ class Syringe
   float _internal_diameter_mm;
 
   //JSON DOCUMENT
-  static StaticJsonDocument<200> syringe_json;  //200 = RAM allocated to this document
-
+  StaticJsonDocument<200> syringe_json;  //200 = RAM allocated to this document
 
   public :
   
@@ -33,20 +32,20 @@ class Syringe
   Syringe(); //There is no arguments because we add the generic syringe to use
  
   //SET METHODS
-  void set_syringe(String name, string ref, string brand, float total_volume_mL, float internal_diameter_mm);
+  void set_syringe(String name, String ref, String brand, float total_volume_mL, float internal_diameter_mm);
 
-  void set_ref(String name, string ref);
-  void set_brand(String name, string brand);
+  void set_ref(String name, String ref);
+  void set_brand(String name, String brand);
   void set_total_volume_mL(String name, float total_volume_mL);
   void set_internal_diameter_mm(String name, float internal_diameter_mm);
 
   //GET METHODS
-  string get_ref(String name);
-  string get_brand(String name);
+  String get_ref(String name);
+  String get_brand(String name);
   float get_total_volume_mL(String name);
   float get_internal_diameter_mm(String name);
 
-  static const StaticJsonDocument<200>& get_syringe_database();
+  const StaticJsonDocument<200>& get_syringe_database();
 
   const JsonObject get_syringe_database_object();
 
diff --git a/syringefilled.cpp b/syringefilled.cpp
index e3d912ca459bd76d599219240f2686035cfc144e..79040d82073a7b2aad2b0e0823a859c03aa3825f 100644
--- a/syringefilled.cpp
+++ b/syringefilled.cpp
@@ -1,7 +1,6 @@
 
 #include "syringefilled.h"
 
-StaticJsonDocument<200> SyringeFilled :: syringe_filled_json;  //200 = RAM allocated to this document
 
 ISRStepper stepper(AccelStepper::DRIVER, STEP, DIR);
 
@@ -122,7 +121,7 @@ float SyringeFilled::volume_to_distance(float volume_mL)
 {
     float volume_mm3 = 1000*volume_mL; //mL->mm3
 
-    float piston_surface_mm2 = Syringe :: get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"];
+    float piston_surface_mm2 = syringe.get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"];
 
     float distance_mm = volume_mm3/piston_surface_mm2;
 
@@ -136,7 +135,7 @@ float SyringeFilled::distance_to_volume(float distance_mm)
 -Action   : /
 ***/
 {
-    float piston_surface_mm2 = Syringe :: get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"];
+    float piston_surface_mm2 = syringe.get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"];
 
     float volume_mm3 = distance_mm*piston_surface_mm2;
 
@@ -168,7 +167,7 @@ void SyringeFilled :: move()
     float exchange_volume_mm3 = get_exchange_volume_mL()*1000;
 
     //Find the section
-    float radius = Syringe :: get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter_mm"];
+    float radius = syringe.get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter_mm"];
     float section_mm2 = M_PI*radius*radius;
 
 
@@ -277,7 +276,7 @@ bool SyringeFilled :: check_configuration()
 -Action   : Check if the values are correct.
 ***/
 {
-    if (Syringe :: get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"] <= 0)
+    if (syringe.get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"] <= 0)
         return false;
 
     if (get_exchange_volume_mL() < 0)
@@ -313,8 +312,8 @@ void SyringeFilled :: show_configuration()
                   "#     emergency: %d\n"
                   "#     current position: %g mm\n",
                   get_clockwise_equals_push()? "yes": "no",
-                  //Syringe :: get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"],
-                  //Syringe :: get_syringe_database()[syringe_filled_json["name_syringe"]]["total_volume_mL"],
+                  //syringe.get_syringe_database()[syringe_filled_json["name_syringe"]]["internal_diameter"],
+                  //syringe.get_syringe_database()[syringe_filled_json["name_syringe"]]["total_volume_mL"],
                   get_exchange_throughput_uL_per_sec(),
                   volume_to_distance(get_exchange_throughput_uL_per_sec()),
                   get_remaining_volume_mL(),
diff --git a/syringefilled.h b/syringefilled.h
index 42ad4dc06d629e99c0428c9fb936d3b01d742643..3c590a977eff9ac724ddfccfc0cd97f3a87561fe 100644
--- a/syringefilled.h
+++ b/syringefilled.h
@@ -42,7 +42,7 @@ class SyringeFilled : public Motor
     bool _emergency;
 
     //JSON DOCUMENT
-    static StaticJsonDocument<200> syringe_filled_json;  //200 = RAM allocated to this document
+    StaticJsonDocument<200> syringe_filled_json;  //200 = RAM allocated to this document
 
 
     public :
@@ -70,7 +70,7 @@ class SyringeFilled : public Motor
     float get_screw_thread_mm();
     bool get_clockwise_equals_push();
     bool get_emergency();
-    static const StaticJsonDocument<200>& get_syringe_filled_data();
+    const StaticJsonDocument<200>& get_syringe_filled_data();