diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 527d24c1ca82e8c8701c239d29bc0f0aad17500c..194b9bbcf2555c825f0b94d6db3e16dea15be55a 100755
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -11,37 +11,33 @@
     </configurations>
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="2624f523-8bdb-4867-a32b-0c8fa25f5cda" name="Default" comment="New dataset config PLR">
+    <list default="true" id="2624f523-8bdb-4867-a32b-0c8fa25f5cda" name="Default" comment="corrected the naive bayes implem">
+      <change afterPath="$PROJECT_DIR$/TEST/TESTElementaryOps.cpp" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/TEST/TESTElementaryOps.h" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/TEST/TESTpacking.cpp" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/TEST/TESTpacking.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CONFIG/DAPPLE.config" beforeDir="false" afterPath="$PROJECT_DIR$/CONFIG/DAPPLE.config" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_1.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_1.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_10.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_10.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_11.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_11.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_12.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_12.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_13.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_13.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_14.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_14.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_15.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_15.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_16.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_16.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_2.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_2.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_3.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_3.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_4.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_4.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_5.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_5.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_6.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_6.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_7.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_7.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_8.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_8.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_9.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/DO_9.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Datasets/Adult/testing.enc" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Datasets/Adult/testing.enc" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DATA/Scripts/Split_Train_Test.py" beforeDir="false" afterPath="$PROJECT_DIR$/DATA/Scripts/Split_Train_Test.py" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/ML/NB/NB_Classifier.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/ML/NB/NB_Classifier.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/ML/NB/Stats.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/ML/NB/Stats.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/ML/NB/Stats.h" beforeDir="false" afterPath="$PROJECT_DIR$/ML/NB/Stats.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/DTPKC.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/DTPKC.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/DTPKC.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/DTPKC.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/PPML/PPNB/PPStats.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/PPML/PPNB/PPStats.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/PPML/PPNB/PPStats.h" beforeDir="false" afterPath="$PROJECT_DIR$/PPML/PPNB/PPStats.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/SER/dtpkc.ser" beforeDir="false" afterPath="$PROJECT_DIR$/SER/dtpkc.ser" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/TEST/main.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/main.cpp" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/DAPPLE.cbp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/DAPPLE.cbp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/Makefile" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -71,83 +67,105 @@
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
+        <entry file="file://$PROJECT_DIR$/TEST/TESTpacking.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-536">
-              <caret line="9" column="69" lean-forward="true" selection-start-line="9" selection-start-column="69" selection-end-line="9" selection-end-column="69" />
+            <state relative-caret-position="174">
+              <caret line="97" column="49" lean-forward="true" selection-start-line="97" selection-start-column="49" selection-end-line="97" selection-end-column="49" />
+              <folding>
+                <element signature="e#0#24#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-20:29:36-Stats.csv">
-          <provider selected="true" editor-type-id="text-editor" />
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="270">
+              <caret line="33" column="54" lean-forward="true" selection-start-line="32" selection-start-column="11" selection-end-line="33" selection-end-column="54" />
+            </state>
+          </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp">
+        <entry file="file://$PROJECT_DIR$/TEST/TESTElementaryOps.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="198">
-              <caret line="214" selection-start-line="214" selection-end-line="214" />
+            <state relative-caret-position="-1236">
+              <caret line="18" selection-start-line="18" selection-end-line="18" />
               <folding>
-                <element signature="e#0#20#0" expanded="true" />
+                <element signature="e#0#30#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:06:13-Stats.csv">
-          <provider selected="true" editor-type-id="text-editor" />
+        <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="375">
+              <caret line="31" column="91" selection-end-line="31" selection-end-column="91" />
+            </state>
+          </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:06:13-Config.txt">
+        <entry file="file://$PROJECT_DIR$/TEST/TestOpenMp.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="90">
-              <caret line="6" column="24" lean-forward="true" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
+            <state relative-caret-position="355">
+              <caret line="165" selection-start-line="165" selection-end-line="165" />
+              <folding>
+                <element signature="e#0#19#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:40:05-Config.txt">
-          <provider selected="true" editor-type-id="text-editor" />
+        <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="354">
+              <caret line="789" selection-start-line="789" selection-end-line="789" />
+              <folding>
+                <element signature="e#462#3260#0" />
+              </folding>
+            </state>
+          </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/ML/NB/Stats.cpp">
+        <entry file="file://$PROJECT_DIR$/PPML/IO/PPDatasetReader.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-12">
-              <caret line="142" column="74" selection-start-line="142" selection-start-column="74" selection-end-line="142" selection-end-column="74" />
-              <folding>
-                <element signature="e#0#18#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="120">
+              <caret line="136" column="30" selection-start-line="136" selection-start-column="15" selection-end-line="136" selection-end-column="35" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-96">
-              <caret line="60" selection-start-line="60" selection-end-line="60" />
+            <state relative-caret-position="160">
+              <caret line="183" column="40" selection-start-line="183" selection-start-column="40" selection-end-line="183" selection-end-column="40" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-16:21:40-Stats.csv">
-          <provider selected="true" editor-type-id="text-editor" />
+        <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="30">
+              <caret line="2" column="30" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="30" />
+            </state>
+          </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp">
+        <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="213">
-              <caret line="210" column="27" selection-start-line="210" selection-start-column="27" selection-end-line="210" selection-end-column="27" />
+            <state relative-caret-position="16380">
+              <caret line="1092" column="80" selection-start-line="1092" selection-start-column="80" selection-end-line="1092" selection-end-column="80" />
               <folding>
-                <element signature="e#0#17#0" expanded="true" />
+                <element signature="e#52#93#0" expanded="true" />
               </folding>
             </state>
           </provider>
@@ -157,36 +175,36 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>100+</find>
-      <find>log</find>
-      <find>pro</find>
-      <find>conditionalProba</find>
-      <find>LogconditionalProba</find>
-      <find>Logpro</find>
-      <find>1700</find>
-      <find>Logprio</find>
-      <find>dataAVC</find>
-      <find>condProba</find>
-      <find>updateDa</find>
-      <find>cond proba</find>
-      <find>vfdt</find>
-      <find>Update</find>
-      <find>UpdateNodes</find>
-      <find>maxNodes</find>
-      <find>1+</find>
       <find>update</find>
       <find>ini</find>
       <find>1</find>
       <find>one</find>
-      <find>cout</find>
       <find>Init</find>
       <find>PRINT</find>
       <find>test</find>
       <find>evallog</find>
       <find>100</find>
-      <find>print</find>
       <find>classi</find>
       <find>classify</find>
+      <find>print</find>
+      <find>cout</find>
+      <find>time</find>
+      <find>nb</find>
+      <find>initSa</find>
+      <find>UpdateS</find>
+      <find>incre</find>
+      <find>AVC</find>
+      <find>Classify</find>
+      <find>one=</find>
+      <find>one =</find>
+      <find>if</find>
+      <find>train</find>
+      <find>Update</find>
+      <find>class</find>
+      <find>classif</find>
+      <find>omp</find>
+      <find>testBui</find>
+      <find>Cipher</find>
     </findStrings>
     <replaceStrings>
       <replace>EvalCmp100</replace>
@@ -211,14 +229,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_7.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_8.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_13.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_15.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_16.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_14.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_11.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_12.data" />
         <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_9.data" />
         <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR/DO_10.data" />
         <option value="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_10.data" />
@@ -233,7 +243,6 @@
         <option value="$PROJECT_DIR$/EXP/Tuning/BankClearLR-2019-06-26-12:31:06-Config.txt" />
         <option value="$PROJECT_DIR$/DATA/Scripts/Clean_Nursery.py" />
         <option value="$PROJECT_DIR$/DATA/Scripts/CSV_Splitter.py" />
-        <option value="$PROJECT_DIR$/TEST/main.cpp" />
         <option value="$PROJECT_DIR$/ML/VFDT/VFDT_Classifier.cpp" />
         <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_2_.data" />
         <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_3_.data" />
@@ -255,22 +264,31 @@
         <option value="$PROJECT_DIR$/EXP/Tuning2/Nursery-Clear-vfdt-2019-07-01-13:28:43-Config.txt" />
         <option value="$PROJECT_DIR$/ML/NB/Stats.h" />
         <option value="$PROJECT_DIR$/ML/NB/NB_Classifier.cpp" />
-        <option value="$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" />
         <option value="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" />
         <option value="$PROJECT_DIR$/ML/NB/Stats.cpp" />
+        <option value="$PROJECT_DIR$/PPML/PPNB/PPStats.h" />
         <option value="$PROJECT_DIR$/PPML/PPNB/PPStats.cpp" />
         <option value="$PROJECT_DIR$/CONFIG/DAPPLE.config" />
+        <option value="$PROJECT_DIR$/TEST/TESTpacking.h" />
+        <option value="$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp" />
+        <option value="$PROJECT_DIR$/TEST/TESTElementaryOps.h" />
+        <option value="$PROJECT_DIR$/TEST/TESTElementaryOps.cpp" />
+        <option value="$PROJECT_DIR$/TEST/main.cpp" />
+        <option value="$PROJECT_DIR$/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/CRYPTO/DTPKC.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/DTPKC.cpp" />
+        <option value="$PROJECT_DIR$/TEST/TESTpacking.cpp" />
       </list>
     </option>
   </component>
   <component name="OCFindUsagesOptions" text="true" ivars="false" properties="true" derivedClasses="false" />
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="993" />
-    <option name="y" value="25" />
-    <option name="width" value="927" />
-    <option name="height" value="925" />
+    <option name="x" value="352" />
+    <option name="y" value="344" />
+    <option name="width" value="915" />
+    <option name="height" value="915" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
   <component name="ProjectView">
@@ -278,6 +296,7 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
+      <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
@@ -298,29 +317,13 @@
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="EXP" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="EXP" type="462c0819:PsiDirectoryNode" />
-              <item name="DebugNb" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="ML" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="ML" type="462c0819:PsiDirectoryNode" />
-              <item name="NB" type="462c0819:PsiDirectoryNode" />
+              <item name="PPML" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
               <item name="PPML" type="462c0819:PsiDirectoryNode" />
+              <item name="IO" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
@@ -337,7 +340,6 @@
           <select />
         </subPane>
       </pane>
-      <pane id="Scope" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -350,6 +352,13 @@
     <property name="settings.editor.selected.configurable" value="dynamic.analysis.tools.valgrind" />
   </component>
   <component name="RecentsManager">
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/TEST" />
+      <recent name="$PROJECT_DIR$/DATA/Datasets/BANK2" />
+      <recent name="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2" />
+      <recent name="$PROJECT_DIR$/DATA/Scripts" />
+      <recent name="$PROJECT_DIR$/DATA/Datasets/Adult" />
+    </key>
     <key name="MoveFile.RECENT_KEYS">
       <recent name="$PROJECT_DIR$/DATA/Datasets" />
       <recent name="$PROJECT_DIR$/EXP/Tuning/Archived" />
@@ -357,13 +366,6 @@
       <recent name="$PROJECT_DIR$/ML/IO" />
       <recent name="$PROJECT_DIR$/ML" />
     </key>
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/DATA/Datasets/BANK2" />
-      <recent name="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2" />
-      <recent name="$PROJECT_DIR$/DATA/Scripts" />
-      <recent name="$PROJECT_DIR$/DATA/Datasets/Adult" />
-      <recent name="$PROJECT_DIR$/DATA/Datasets/Bank/LR" />
-    </key>
   </component>
   <component name="RunDashboard">
     <option name="ruleStates">
@@ -456,14 +458,14 @@
       <workItem from="1561363219181" duration="18246000" />
       <workItem from="1561469137579" duration="25212000" />
       <workItem from="1561625326809" duration="51938000" />
-      <workItem from="1562142635773" duration="24290000" />
-    </task>
-    <task id="LOCAL-00029" summary="26/11/2018 : Very rought implementation of PPVFDT, still need extra building blocks : multiplication, sum pow 2, stadard div and infoGain computtaion, review all code before even thinking of compiling !!!!!">
-      <created>1543265905123</created>
-      <option name="number" value="00029" />
-      <option name="presentableId" value="LOCAL-00029" />
-      <option name="project" value="LOCAL" />
-      <updated>1543265905123</updated>
+      <workItem from="1562142635773" duration="26341000" />
+      <workItem from="1562658688930" duration="683000" />
+      <workItem from="1563111760311" duration="12587000" />
+      <workItem from="1568013599648" duration="246000" />
+      <workItem from="1577402904705" duration="8748000" />
+      <workItem from="1577552973318" duration="2692000" />
+      <workItem from="1577566516419" duration="6843000" />
+      <workItem from="1577718521115" duration="13453000" />
     </task>
     <task id="LOCAL-00030" summary="27/11/2018 : PPVFDT still needs tweeking :'(">
       <created>1543352728939</created>
@@ -801,11 +803,18 @@
       <option name="project" value="LOCAL" />
       <updated>1561929841968</updated>
     </task>
-    <option name="localTasksCounter" value="78" />
+    <task id="LOCAL-00078" summary="corrected the naive bayes implem">
+      <created>1562314458539</created>
+      <option name="number" value="00078" />
+      <option name="presentableId" value="LOCAL-00078" />
+      <option name="project" value="LOCAL" />
+      <updated>1562314458539</updated>
+    </task>
+    <option name="localTasksCounter" value="79" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="1037195000" />
+    <option name="totallyTimeSpent" value="1084498000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -818,23 +827,24 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="67" y="25" width="1853" height="925" extended-state="6" />
+    <editor active="true" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.8053333" visible="true" weight="0.33370227" />
+      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.8053333" visible="true" weight="0.36247924" />
       <window_info id="Structure" order="1" sideWeight="0.2735043" side_tool="true" weight="0.3390558" />
       <window_info id="Favorites" order="2" sideWeight="0.19466667" side_tool="true" weight="0.28113064" />
       <window_info anchor="bottom" id="Database Changes" order="0" />
       <window_info anchor="bottom" id="Message" order="1" />
       <window_info anchor="bottom" id="Find" order="2" sideWeight="0.49474266" weight="0.32663316" />
-      <window_info anchor="bottom" id="Run" order="3" sideWeight="0.5600443" visible="true" weight="0.37688443" />
-      <window_info anchor="bottom" id="Debug" order="4" sideWeight="0.52351964" weight="0.32663316" />
+      <window_info active="true" anchor="bottom" id="Run" order="3" sideWeight="0.5423354" visible="true" weight="0.37688443" />
+      <window_info anchor="bottom" id="Debug" order="4" sideWeight="0.52241284" weight="0.32663316" />
       <window_info anchor="bottom" id="Cvs" order="5" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="6" weight="0.4" />
       <window_info anchor="bottom" id="TODO" order="7" sideWeight="0.4986165" weight="0.32663316" />
-      <window_info anchor="bottom" id="Messages" order="8" sideWeight="0.5622579" weight="0.41457286" />
-      <window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.43995574" side_tool="true" visible="true" weight="0.37688443" />
-      <window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.46817932" weight="0.31532663" />
-      <window_info anchor="bottom" id="Version Control" order="11" sideWeight="0.49197862" weight="0.32160804" />
-      <window_info anchor="bottom" id="CMake" order="12" sideWeight="0.7173415" weight="0.36445242" />
+      <window_info anchor="bottom" id="Messages" order="8" sideWeight="0.5135584" weight="0.41457286" />
+      <window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.45766464" side_tool="true" visible="true" weight="0.37688443" />
+      <window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.4654123" weight="0.31658292" />
+      <window_info anchor="bottom" id="Version Control" order="11" sideWeight="0.48976204" weight="0.32160804" />
+      <window_info anchor="bottom" id="CMake" order="12" sideWeight="0.71278363" weight="0.36432162" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@@ -890,7 +900,6 @@
   <component name="VcsManagerConfiguration">
     <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
     <option name="CHECK_NEW_TODO" value="false" />
-    <MESSAGE value="LR npp part 1" />
     <MESSAGE value="LR npp part 2" />
     <MESSAGE value="Corrected some possible memory leaks mpfr log exp init variables LR, clear randstate" />
     <MESSAGE value="Debugging the trace diff between PP and NPP" />
@@ -915,7 +924,8 @@
     <MESSAGE value="Small new updates for tests" />
     <MESSAGE value="New dataset config PLR" />
     <MESSAGE value="BANK2" />
-    <option name="LAST_COMMIT_MESSAGE" value="BANK2" />
+    <MESSAGE value="corrected the naive bayes implem" />
+    <option name="LAST_COMMIT_MESSAGE" value="corrected the naive bayes implem" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -1077,12 +1087,12 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
-          <line>102</line>
+          <line>115</line>
           <option name="timeStamp" value="611" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
-          <line>132</line>
+          <line>145</line>
           <option name="timeStamp" value="612" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1101,7 +1111,7 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/main.cpp</url>
-          <line>973</line>
+          <line>979</line>
           <option name="timeStamp" value="699" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1236,7 +1246,7 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/main.cpp</url>
-          <line>93</line>
+          <line>95</line>
           <option name="timeStamp" value="791" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1321,12 +1331,12 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
-          <line>97</line>
+          <line>110</line>
           <option name="timeStamp" value="868" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
-          <line>124</line>
+          <line>137</line>
           <option name="timeStamp" value="870" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1401,7 +1411,7 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/main.cpp</url>
-          <line>858</line>
+          <line>864</line>
           <option name="timeStamp" value="942" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1411,12 +1421,12 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/main.cpp</url>
-          <line>886</line>
+          <line>892</line>
           <option name="timeStamp" value="945" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/main.cpp</url>
-          <line>888</line>
+          <line>894</line>
           <option name="timeStamp" value="946" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1426,24 +1436,19 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp</url>
-          <line>154</line>
+          <line>161</line>
           <option name="timeStamp" value="977" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp</url>
-          <line>162</line>
+          <line>169</line>
           <option name="timeStamp" value="978" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp</url>
-          <line>155</line>
+          <line>162</line>
           <option name="timeStamp" value="979" />
         </line-breakpoint>
-        <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
-          <url>file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp</url>
-          <line>270</line>
-          <option name="timeStamp" value="989" />
-        </line-breakpoint>
         <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/PPML/PPLR/PPLR_Classifier.cpp</url>
           <line>377</line>
@@ -1459,6 +1464,31 @@
           <line>336</line>
           <option name="timeStamp" value="1010" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
+          <line>45</line>
+          <option name="timeStamp" value="1011" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
+          <line>46</line>
+          <option name="timeStamp" value="1012" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp</url>
+          <line>58</line>
+          <option name="timeStamp" value="1013" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp</url>
+          <line>9</line>
+          <option name="timeStamp" value="1015" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp</url>
+          <line>8</line>
+          <option name="timeStamp" value="1016" />
+        </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/DATA/Scripts/Clean_Adult.py</url>
           <line>8</line>
@@ -1505,279 +1535,332 @@
     </watches-manager>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Nursery-Clear-vfdt-2019-07-01-13:28:43-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="13" column="62" selection-start-line="13" selection-start-column="62" selection-end-line="13" selection-end-column="73" />
-        </state>
-      </provider>
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-20:29:36-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:39:47-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:06:13-Stats.csv">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:42:35-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:06:13-Config.txt">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="165">
-          <caret line="11" column="41" selection-start-line="11" selection-start-column="41" selection-end-line="11" selection-end-column="41" />
+        <state relative-caret-position="90">
+          <caret line="6" column="24" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-vfdt-2019-06-30-21:58:12-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:40:05-Config.txt">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-vfdt-2019-06-30-21:59:01-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/ML/NB/Stats.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2130">
+          <caret line="142" column="74" selection-start-line="142" selection-start-column="74" selection-end-line="142" selection-end-column="74" />
+          <folding>
+            <element signature="e#0#18#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/vfdt-Bank-Cipher-2019-06-30-08:58:04-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-16:21:40-Stats.csv">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-vfdt-2019-07-01-12:57:56-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:16:37-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="270">
+          <caret line="18" selection-start-line="18" selection-end-line="18" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank-Cipher-VFDT-2019-06-30-12:45:45-Config.txt">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:21:54-Stats.csv">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="120">
-          <caret line="8" column="25" selection-start-line="8" selection-start-column="25" selection-end-line="8" selection-end-column="25" />
+        <state relative-caret-position="255">
+          <caret line="17" column="35" selection-start-line="17" selection-start-column="35" selection-end-line="17" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:43:48-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:23:23-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="270">
+          <caret line="18" selection-start-line="18" selection-end-line="18" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:45:06-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:27:16-Stats.csv">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Nursery-Clear-vfdt-2019-07-01-13:28:43-Config.txt">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:28:04-Stats.csv">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="13" column="24" lean-forward="true" selection-end-line="68" selection-end-column="2" />
+        <state relative-caret-position="90">
+          <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Nursery-Clear-vfdt-2019-07-01-13:29:19-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:47:02-ClassOutput.txt">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:15:41-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="210">
+          <caret line="14" column="42" selection-start-line="14" selection-start-column="42" selection-end-line="14" selection-end-column="42" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:51:36-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-15:00:32-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="90">
+          <caret line="6" selection-start-line="6" selection-end-line="6" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/Tuning2/Bank2-Clear-nb-2019-07-01-13:47:02-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Clear-nb-2019-07-03-12:02:27-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="45">
+          <caret line="3" selection-start-line="3" selection-end-line="3" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPVFDT/PPNodeStats.cpp">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-15:32:46-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="90">
+          <caret line="6" selection-start-line="6" selection-end-line="6" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-08:38:36-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:45:40-Stats.csv">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="195">
-          <caret line="13" column="20" selection-start-line="13" selection-start-column="20" selection-end-line="13" selection-end-column="20" />
+        <state relative-caret-position="90">
+          <caret line="6" selection-start-line="6" selection-end-line="6" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-08:58:55-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:16:24-Stats.csv">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:01:18-Config.txt">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:28:34-ClassOutput.txt">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:01:18-ClassOutput.txt.enc">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:28:34-Config.txt">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:01:18-ClassOutput.txt">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:28:34-Stats.csv">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:01:18-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLog.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="1" column="61" selection-start-line="1" selection-start-column="59" selection-end-line="1" selection-end-column="61" />
+        <state relative-caret-position="-330">
+          <caret line="29" selection-start-line="29" selection-end-line="29" />
+          <folding>
+            <element signature="e#0#20#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:00:48-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-final-2019-07-03-22:45:49-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:45:42-Stats.csv">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="135">
-          <caret line="9" lean-forward="true" selection-start-line="9" selection-end-line="9" />
+        <state relative-caret-position="75">
+          <caret line="5" selection-start-line="5" selection-end-line="5" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:00:48-Config.txt">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:26:52-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="60">
-          <caret line="4" selection-start-line="4" selection-end-line="4" />
+        <state relative-caret-position="324">
+          <caret line="72" column="13" selection-start-line="72" selection-start-column="13" selection-end-line="72" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-09:26:52-ClassOutput.txt">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="150">
-          <caret line="10" column="1" selection-start-line="10" selection-start-column="1" selection-end-line="10" selection-end-column="1" />
+        <state relative-caret-position="900">
+          <caret line="60" selection-start-line="60" selection-end-line="60" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-12:02:43-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-17:26:47-Stats.csv">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file:///usr/include/c++/7/bits/stl_function.h">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:34:28-Stats.csv">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-8">
-          <caret line="385" selection-start-line="385" selection-end-line="385" />
+        <state relative-caret-position="75">
+          <caret line="5" selection-start-line="5" selection-end-line="5" />
         </state>
       </provider>
     </entry>
-    <entry file="file:///usr/local/include/gmpxx.h">
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-17:20:14-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-17:09:55-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:56:04-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-15:42:59-Stats.csv">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cmake-build-debug/Makefile">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-8">
-          <caret line="1489" selection-start-line="1489" selection-end-line="1489" />
+        <state relative-caret-position="2790">
+          <caret line="186" column="34" selection-start-line="186" selection-start-column="34" selection-end-line="186" selection-end-column="34" />
+          <folding>
+            <element signature="e#0#20#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file:///usr/include/c++/7/bits/stl_tree.h">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="1871" selection-start-line="1871" selection-end-line="1871" />
+        <state relative-caret-position="360">
+          <caret line="24" selection-start-line="24" selection-end-line="24" selection-end-column="87" />
+          <folding>
+            <element signature="e#0#18#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.h">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="41" selection-start-line="41" selection-end-line="41" />
+        <state relative-caret-position="414">
+          <caret line="643" column="46" selection-start-line="263" selection-start-column="3" selection-end-line="643" selection-end-column="46" />
+          <folding>
+            <element signature="e#0#31#0" expanded="true" />
+            <element signature="e#199#7476#0" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Clear-nb-2019-07-03-11:50:48-ClassOutput.txt">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTElementaryOps.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-5621" />
+        <state relative-caret-position="280">
+          <caret line="26" selection-start-line="26" selection-end-line="26" />
+          <folding>
+            <element signature="e#0#18#0" expanded="true" />
+          </folding>
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/NB/NB_Classifier.h">
+    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.h">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/NB/Stats.h">
+    <entry file="file://$PROJECT_DIR$/PPML/IO/PPRecord.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="309">
-          <caret line="55" column="8" selection-start-line="55" selection-start-column="8" selection-end-line="55" selection-end-column="8" />
+        <state relative-caret-position="315">
+          <caret line="21" column="20" selection-start-line="21" selection-start-column="20" selection-end-line="21" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Clear-nb-2019-07-03-12:02:27-Config.txt">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-15:38:29-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="60">
-          <caret line="4" selection-start-line="4" selection-end-line="4" />
+        <state relative-caret-position="1245">
+          <caret line="83" selection-start-line="83" selection-end-line="83" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Clear-nb-2019-07-03-12:02:27-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="45">
-          <caret line="3" selection-start-line="3" selection-end-line="3" />
+        <state>
+          <caret selection-end-column="17" />
+          <folding>
+            <element signature="e#0#17#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/NB/NB_Classifier.cpp">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTpacking.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="243">
-          <caret line="55" column="18" selection-start-line="55" selection-start-column="18" selection-end-line="55" selection-end-column="18" />
+        <state relative-caret-position="360">
+          <caret line="24" column="87" selection-start-line="24" selection-start-column="87" selection-end-line="24" selection-end-column="87" />
+          <folding>
+            <element signature="e#59#77#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.h">
+    <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
+        <state relative-caret-position="16380">
+          <caret line="1092" column="80" selection-start-line="1092" selection-start-column="80" selection-end-line="1092" selection-end-column="80" />
           <folding>
-            <element signature="e#0#18#0" expanded="true" />
+            <element signature="e#52#93#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
+    <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="348">
-          <caret line="563" selection-start-line="563" selection-end-line="563" />
-          <folding>
-            <element signature="e#0#31#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="30">
+          <caret line="2" column="30" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="30" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLog.cpp">
+    <entry file="file://$PROJECT_DIR$/PPML/IO/PPDatasetReader.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="20" column="32" selection-start-line="20" selection-start-column="27" selection-end-line="20" selection-end-column="32" />
-          <folding>
-            <element signature="e#0#20#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="120">
+          <caret line="136" column="30" selection-start-line="136" selection-start-column="15" selection-end-line="136" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp">
+    <entry file="file://$PROJECT_DIR$/TEST/TestOpenMp.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="213">
-          <caret line="210" column="27" selection-start-line="210" selection-start-column="27" selection-end-line="210" selection-end-column="27" />
+        <state relative-caret-position="355">
+          <caret line="165" selection-start-line="165" selection-end-line="165" />
           <folding>
-            <element signature="e#0#17#0" expanded="true" />
+            <element signature="e#0#19#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-2019-07-03-16:21:40-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="375">
+          <caret line="31" column="91" selection-end-line="31" selection-end-column="91" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-96">
-          <caret line="60" selection-start-line="60" selection-end-line="60" />
+        <state relative-caret-position="160">
+          <caret line="183" column="40" selection-start-line="183" selection-start-column="40" selection-end-line="183" selection-end-column="40" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/NB/Stats.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-12">
-          <caret line="142" column="74" selection-start-line="142" selection-start-column="74" selection-end-line="142" selection-end-column="74" />
+        <state relative-caret-position="354">
+          <caret line="789" selection-start-line="789" selection-end-line="789" />
           <folding>
-            <element signature="e#0#18#0" expanded="true" />
+            <element signature="e#462#3260#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTElementaryOps.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="198">
-          <caret line="214" selection-start-line="214" selection-end-line="214" />
+        <state relative-caret-position="-1236">
+          <caret line="18" selection-start-line="18" selection-end-line="18" />
           <folding>
-            <element signature="e#0#20#0" expanded="true" />
+            <element signature="e#0#30#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-20:29:36-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:40:05-Config.txt">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:06:13-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb2-2019-07-03-22:06:13-Config.txt">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" column="24" lean-forward="true" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
+        <state relative-caret-position="270">
+          <caret line="33" column="54" lean-forward="true" selection-start-line="32" selection-start-column="11" selection-end-line="33" selection-end-column="54" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTpacking.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-536">
-          <caret line="9" column="69" lean-forward="true" selection-start-line="9" selection-start-column="69" selection-end-line="9" selection-end-column="69" />
+        <state relative-caret-position="174">
+          <caret line="97" column="49" lean-forward="true" selection-start-line="97" selection-start-column="49" selection-end-line="97" selection-end-column="49" />
+          <folding>
+            <element signature="e#0#24#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc5cf2ad07a614f69a43ab0c60fa305e94f42aa6..fedf17e9cbf4d22919d2de7e1ca7675d95a17a8f 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,7 @@ file(GLOB Common_sources "${CMAKE_CURRENT_SOURCE_DIR}/*/*.cpp" "${CMAKE_CURRENT_
         )
 
 
-ADD_EXECUTABLE(DAPPLE ${Common_sources} ML/LR/LR.cpp ML/LR/LR.h)
+ADD_EXECUTABLE(DAPPLE ${Common_sources} ML/LR/LR.cpp ML/LR/LR.h CRYPTO/DTPKC.cpp CRYPTO/DTPKC.h)
 
 
 
diff --git a/CONFIG/DAPPLE.config b/CONFIG/DAPPLE.config
index 83e65522b98e45c8698d835fadd08216680f6009..4d8ad6c430a9b79fa740e10479fd70e981582129 100755
--- a/CONFIG/DAPPLE.config
+++ b/CONFIG/DAPPLE.config
@@ -1,17 +1,17 @@
 # Experiments parameters
  perf{
-      testBuildingBlocks="false";
+      testBuildingBlocks="true";
       PrivacyPreservation= "true";
       MLAlgorithm="nb";
       runs_number ="1";
-      thread_number="1";
+      thread_number="14";
       remoteClient="false";
       Incremental="true";
       OutputPath="/home/rania/CLionProjects/DAPPLE-2.0/EXP/DebugNb/";
-      scenarioName="Bank-Cipher-nb-final";
+      scenarioName="Bank-Cipher-debug-time";
       debug="true";
-      maxTrainSize="100";
-      maxTestSize="400";
+      maxTrainSize="20";
+      maxTestSize="10";
  }
 
  # The dataset configuration parameters
@@ -22,7 +22,7 @@
      chunk_prefix="DO";
      class_number="2";
      dimension="17";
-     chunk_number="16";
+     chunk_number="2";
  }
 
  # The vfdt algorithm parameters
@@ -44,7 +44,7 @@
      ComputationalPrecision="1000";
      useORE="false";
      sendParaClient="true";
-     blindingSize="100";
+     blindingSize="20";
      encryptData="true";
  }
 
diff --git a/CRYPTO/DTPKC.cpp b/CRYPTO/DTPKC.cpp
index 4adee6a5d24da2ca8b47899a10f415f1d84bcb11..c2f44ea5c662cd50c793b24507818efab4b86317 100755
--- a/CRYPTO/DTPKC.cpp
+++ b/CRYPTO/DTPKC.cpp
@@ -715,4 +715,78 @@ DTPKC::EvalEq_U2_step2(std::vector<Cipher> res1)
     // return the equality test result
     return  x == y ;
 
-}
\ No newline at end of file
+}
+
+
+
+
+
+
+Cipher DTPKC::packEnc(std::vector<std::string> plaintext, int slot, int sep, mpz_class pkey) {
+    std::string space = "";
+
+    for (int j=0; j < sep ; j++ )
+        space+="0";
+
+    std::string plain = "";
+
+    for( std::string  i : plaintext ) {
+
+        std::string tmp="";
+
+        int size = i.length();
+
+        for (int j=0; j < slot-size ; j++ )
+            tmp+="0";
+
+        tmp +=i;
+
+        plain = space + tmp + plain;
+
+    }
+
+    //cout << plain << "*" << endl;
+    //plain = space + plain;
+
+
+    mpz_class plain_z;
+    plain_z.set_str(plain,10);
+
+    Cipher  res = DTPKC::enc(plain_z, pkey);
+    res. slot = slot;
+    res.sep = sep;
+
+    return res;
+}
+
+std::vector<mpz_class> DTPKC::unpack(mpz_class c, int slot, int sep) {
+
+    string c_s = c.get_str(10);
+    vector<mpz_class> res;
+    int i=c_s.length();
+
+    while (i>0){
+
+        string tmp;
+        mpz_class tmp_z;
+        if (i > slot + sep)
+            tmp=c_s.substr(i - slot - sep  ,slot + sep);
+        else
+            tmp=c_s.substr(0,i);
+
+        i= i - slot - sep;
+        tmp_z.set_str(tmp,10);
+        res.push_back(tmp_z);
+
+
+    }
+
+    return res;
+}
+
+std::vector<mpz_class> DTPKC::Unpackdec(Cipher c, int slot, int sep) {
+
+    mpz_class tmp = DTPKC::Sdec(c);
+
+    return unpack(tmp, slot, sep);
+}
diff --git a/CRYPTO/DTPKC.h b/CRYPTO/DTPKC.h
index fbc82a77b7912eda7ee799c2f32b4c9fb6cb308f..db181b54570e248cc5cfb7376b7209ea85d6769c 100755
--- a/CRYPTO/DTPKC.h
+++ b/CRYPTO/DTPKC.h
@@ -43,6 +43,9 @@ public :
 
         mpz_class T1, T2, Pub;
         int sign = 1;
+        int slot = 0;
+        int sep =0;
+
 
         /**
          * overload the comparison operators for ciphers.
@@ -173,6 +176,18 @@ public :
 
     public :
     void sendPara(int sockfd, sockaddr_in cliaddr);
+
+public :
+    static Cipher packEnc(std::vector<std::string> plaintext, int slot, int sep, mpz_class pkey);
+
+public :
+    static std::vector<mpz_class> Unpackdec(Cipher c, int slot, int sep);
+
+public :
+    static std::vector<mpz_class> unpack(mpz_class c, int slot, int sep);
+
+
+
 };
 
 typedef struct DTPKC::Cipher Cipher;
diff --git a/PPML/PPNB/PPNB_Classifier.cpp b/PPML/PPNB/PPNB_Classifier.cpp
index 383c0eb1f4bbdf0731495a7b7fff9e26347e3129..bf6bc1ede2aa3b7febe25127164bfe7ba5cd2b94 100755
--- a/PPML/PPNB/PPNB_Classifier.cpp
+++ b/PPML/PPNB/PPNB_Classifier.cpp
@@ -1,15 +1,19 @@
 #include <chrono>
 #include "PPNB_Classifier.h"
+#define MAX_DATE 120
 
 
-#define MAX_DATE 120
 using namespace std;
 
-
+/**
+ * Naive Bayes classifier over encrypted data
+ *
+ * */
 
 PPRecord * PPNB_Classifier::recvPPRecord(int sockfd, sockaddr_in cliaddr, int dim, DTPKC dtpkc, int  id)
 {
 
+    // Recieving data records from clients
     if (debug) cout << "recieving record " << id << endl;
     socklen_t addrlen = sizeof(cliaddr);
 
@@ -39,8 +43,8 @@ PPRecord * PPNB_Classifier::recvPPRecord(int sockfd, sockaddr_in cliaddr, int di
 
     }
 
-    //if (debug) cout << "I have recieved this message : " << recievedRec << endl;
-    //if (debug) cout << "The message size is : " << recievedRec.size() << endl;
+    if (debug) cout << "I have recieved this message : " << recievedRec << endl;
+    if (debug) cout << "The message size is : " << recievedRec.size() << endl;
 
     std::vector<Cipher> values;
     PPRecord * r;
@@ -81,6 +85,7 @@ PPRecord * PPNB_Classifier::recvPPRecord(int sockfd, sockaddr_in cliaddr, int di
 
 }
 
+// Sending out the classification result
 void PPNB_Classifier::sendResponse(int sockfd, sockaddr_in cliaddr, Cipher res)
 {
     char buffer[4001];
@@ -90,6 +95,8 @@ void PPNB_Classifier::sendResponse(int sockfd, sockaddr_in cliaddr, Cipher res)
     if (debug) cout << "sent response " << endl;
 }
 
+// Sending a message to the client
+
 int
 PPNB_Classifier::sendMsg(string msg, int sockfd, sockaddr_in cliaddr)
 {
@@ -114,6 +121,7 @@ PPNB_Classifier:: recvMsg(int sockfd,  sockaddr_in cliaddr)
     return res;
 }
 
+// Constructor of the classifier
 
 PPNB_Classifier::PPNB_Classifier(PPDatasetReader *datasetReader, PPStats *stats, int laplaceConstant, string log, int sockfd, sockaddr_in cliaddr, bool debug) {
 
@@ -125,7 +133,6 @@ PPNB_Classifier::PPNB_Classifier(PPDatasetReader *datasetReader, PPStats *stats,
     this->laplaceConstant =  dtpkc.enc(laplaceConstant, dtpkc.pkw);
     this->sockfd=sockfd;
     this->cliaddr=cliaddr;
-
     this->trainTime=0;
     this->extTrainBd=0;
     this->testTime=0;
@@ -135,7 +142,7 @@ PPNB_Classifier::PPNB_Classifier(PPDatasetReader *datasetReader, PPStats *stats,
 }
 
 
-
+// Prediction function
 void PPNB_Classifier::Test() {
 
     int counter =0;
@@ -184,7 +191,7 @@ void PPNB_Classifier::Test() {
     std::chrono::duration<double, std::milli> duration = end  - begin ;
     this->testTime = duration.count();
     inter.close();
-    currentModel->print();
+    //currentModel->print();
 
     std::ifstream *In;
     string line, res="";
@@ -265,7 +272,7 @@ void PPNB_Classifier::train() {
 
     }
 
-        currentModel->InitStats();
+    currentModel->InitStats();
 
 
     auto end = chrono::high_resolution_clock::now();
diff --git a/PPML/PPNB/PPStats.cpp b/PPML/PPNB/PPStats.cpp
index c8cdde70dc6a70103341c20448ec8903c9a207d3..c3884ab3ef62b3f0779a2dcb417b112742f95ed2 100755
--- a/PPML/PPNB/PPStats.cpp
+++ b/PPML/PPNB/PPStats.cpp
@@ -2,7 +2,16 @@
 #include <map>
 #include "math.h"
 
+void PPStats::h()
+{
+
+    /*Cipher res;
+    res.T1= one.T1 * one.T1;
+    res.T2= one.T2 * one.T2;
 
+    res.T1= one.T1 * one.T1;
+    res.T2= one.T2 * one.T2;*/
+}
 
 DTPKC PPStats::dtpkc;
 Cipher PPStats::one;
@@ -39,10 +48,12 @@ PPStats::updateDataAVC(PPRecord *r, int i) {
 
             }else{
 
+                h();
                 innerInnerMap.insert(std::make_pair(r->values[classAtt],one));
             }
         }else{
 
+            h();
             map<Cipher,Cipher> newClassOcc;
             newClassOcc.insert(std::make_pair(r->values[classAtt],one));
             innerMap.insert(std::make_pair(r->values[i],newClassOcc));
@@ -50,6 +61,7 @@ PPStats::updateDataAVC(PPRecord *r, int i) {
 
     } else {
 
+        h();
         map<Cipher,Cipher> newClassOcc;
         newClassOcc.insert(std::make_pair(r->values[classAtt],one));
         PPStats::st newAttMap;
@@ -71,6 +83,7 @@ PPStats::incrementClassOccurence(PPRecord *r) {
     }
     else
     {
+        h();
         this->classOccurrence.insert(std::make_pair(r->values[classAtt],one));
     }
 
@@ -215,10 +228,12 @@ Cipher PPStats::Classify(PPRecord *r) {
 
 
                     } else {
+                        h();
                         finalProbaCi2 = zero;
                         //break;
                     }
                 } else {
+                    h();
                     finalProbaCi2 = zero;
                     //break;
                 }
@@ -229,12 +244,12 @@ Cipher PPStats::Classify(PPRecord *r) {
         }
     }
 
-    Cipher maxProba =one;
+    Cipher maxProba =zero;
     Cipher maxClass = zero;
 
     for (auto & i : proba )
     {
-        cout  << "i " << i.first <<  " proba"  << i.second << endl;
+        //cout  << "i " << i.first <<  " proba"  << i.second << endl;
         if (i.second > maxProba )
         {
             maxProba = i.second;
diff --git a/PPML/PPNB/PPStats.h b/PPML/PPNB/PPStats.h
index 919920f745abdb4d509fc22264e56268416cd3d3..2e7ee955571578b60a8016917a03f75727c13245 100755
--- a/PPML/PPNB/PPStats.h
+++ b/PPML/PPNB/PPStats.h
@@ -69,6 +69,8 @@ public :
     void updateDataAVC (PPRecord * r, int i );
 public :
     void print();
+public :
+    void h();
 };
 
 #endif //DAPPLE_PPSTATS_H
diff --git a/SER/dtpkc.ser b/SER/dtpkc.ser
index cdccda46f2dd2a4e07620d8d02810876861bb69b..9954707ba907c4b1f264cb209206f3ad215b666c 100644
--- a/SER/dtpkc.ser
+++ b/SER/dtpkc.ser
@@ -1,11 +1,11 @@
-92796056095032748405569834290802378922100005496082784511043225264640856161619523946716450466973182686572426537940451887187200889863567856562410243769648732549960162856691257566483496783981939397611631668784510273520118678575459430627711985152618578184364171688928710445454331878383036026685541638584783332837
--8054160028436408622831060343750179082236400294865323810103572462090399296773059813221169106989216753070783481391835651107990316605624106135980253483201972183402915614159163790562905422571336462452961614524358321043869761004134772623632629070299675947680458023431563869559348147958177701118549095968077439638802082629472628206171412633267773258109422964586542724358574740277234518039979018257045719631076200197055583629225906324599283438958141938181831284025193727751070419820480872417580023010351389562094580031638726730313765077604046690005030342190779017509968051570009409627396189442758537677064719759173049825822
-8611108026792464494785561379036371560382876369707395787509519902952402187106327429960324433383664755208019088025279067370113717892303716969481315607682842764626397150877964626305657100724155830224503020926880925439978439881596298878001181551847136496581712020551827007272629387312434198326180789580718653438482166876848959052764736079981676521355045048470056107791745112394225179405463357058086892755861072672999859583286447725197408190744487414152764449280277995805719848651303980556774370256616611429003967252749519233349432961788478449450136761306351350193355930197157478863921237767349263602323880375949522468569
-2361904412586693471930623690476585089902258968431087660189363394909803144051647710416896922314490118594362447459341386289174506981055648477310848271811067827516337521971785779448167772756349581397800914281236676783721706908625769452272637097189262563037937241366933996877358256544853253245162414246559986603646419265925432085171846713819119510586192382346600189392421559063470899612784954545524169178458671437437424272332523523240698161314969640151176271242067274983896228448997811066025791338950226815049454026696936647220506998218847122126256851044887201138371814085969982132030398700641217199335541293121820919675470686626935993884899645531443623602483301010596526487049997799584716799088716602564051091183730140711578040943581644131789573815884555033499628184721997067202462228338950283459874358890554771032582821637444506154344296345168392316337366673374796955708923295116802692479313408242010069030683351296567809095297334541832537781348000476032051187806331950446591126232628457058267890278959618545434193618417463885164589976720379383609042826835729803359846212714933622555775275950426418607658231290477215384221051498584136023158925032715277046216554540231467751075983678537313658484419595222986499819171426709964273311601709982070742665319586451930916593944572000696717426404366767352388246623462489982025403150696670181923556768112738968065181284230725532512025879757488581327901497182954154533324364664468300102092408105671672512858699901225188066676106060648295210987552047274537654039866875267328360390684297853240838273711921553689564934944533193719786233072772221491490752433863077834097472443402168313156261530882412020869858391099065707410275416985294780322585644191749472433767355445865071422913689525992308559838069197113983666525370198519690469785315831159322502313874878408261362368588572896692564318567103178974275922179352
+155794160235086638170714595467322538260366576393463030396634213893417420838931771802391513629956177608679846919677341643595501715078327934815694805317518611733101457537161402151813505685981385216698245112580645199209126963130732901833621957189891470376029080149909115655407542101838765639311482343573370198357
+-3456938222130241943904857381226649277755695669121173860750571403629163596046886843999330422837649192614619403621324214428308418767294153120096739220219678322399532432935154104947531408803016655831360545659985193950629044380553720851044372402952202796785622327123768015585105846658310397556846658936438100452749594810315179488168890398587965127343629997045748525919948049008785511829648546228506273667440589542972138285517917990198712975815594686726205181391268043136741502865331231137420625443993737496625245283635245019492472694433765891467234664297957742101391166059243851002086661974147246856729829441805429301291
+24271820363355850697326561447551129235712605990674279732586290395248667350075537388863534689293266844852207821711414571646019135269188316357173669777189030126532806693382757352983702708257134356487371926145261383773157996545561832400442955246997842910291190609394558357720394170235659536823880097034565781439379133444600841268291783397481620712692317711274418507268737508271910994543112544122880516216655768836941834021713220237325573999768300016720901072621984794503802090036099638772643086449425701669088695258129057901691812265914237748707470455422447203148788420397797929234489102088890745155979605265945525499449
+2880061676896352894567230921101994213391735640616702726110616288363300767063663107592035627398514617368950584921594030481608628127960140845526835906295737498249715453466163308390855139635807480613918655479923568146887313914880270742050726198467505056323571196732389354139474790711076926153379798187166762709951244140823322832919817966981333797793471498836683159485629180633745051534810713556238259066892406792847686355311003567552376551258339218562225974636833204526654367368546117190147289035287861364209905298713481072231706910766499396599500622144805091024513848296785376320368927536646945754454221357150690722305738058137500821751840856107359317947658265219072551591957108648296927358866627783404798404125141897854856566463815147893621993047055906266334831725516141713255904384620128123232604572119319072420263434815039928526104440635223174036926348851911525646166552708495279452885159214327208899529317616311756530727783379268816960008486627716223912122353758307111747495171979632194391374783732964057887124089817154452049275609174137745781416446115156877239950706610781553419824597999689584751589070522352568654006274943236108356356421341697319913440429147502291185478955775798072435097226134085289510992036453790218663379226581626168150395118571275254555431962028481852911286469558279283534435220740832154212186029092100315900713150476699409501431367711951232225465300696600306290034680022681300670943073482478286618604160150333151692807897140055661376971574536416046214520843348216336095766000489226967005968540997108430522235094847504886294144288604297097425455356592090330557293422532348721870071185726812094819636445841176086323568655054838557585603734921234419180482692241940454597208596140307852682122645173937889830599902867608450581680407030461577701864466609744971277324385659808467351715973445154899196414995594261189859966173452543
 1024
-12401006924782740911427270841132709232546854046218078783842725546615787263296437690348985666482369289928857793047574958335634128895583062785494544990303953
-7482945268709176716671271910534393458207325118559515061862808628393426347404625722927543072340720506947189037722094351537806342104884012157629751261129429
-153267285688806161926714711666249291278917161908623027433090347673899205159927990838977506624130545602095613394455064448921814639046024368744790618387458172618050568250880365877631289177689898690129188581331012408633840848413292683709748559011220611852366683967616783688556158860120731711543842768796827769111
-11599507011879093550696229286350297365262500687010348063880403158080107020202440493339556308371647835821553317242556485898400111232945982070301280471206089083250996170596703683492593139609906080429058361398833070998242958670231091195537338577984969386820911955262242597018057304739004444951324814286066487432
-83192168411445372530127922665287358595336505343065025848435146887776293031701520217393439090376987878061384638863063514387502451925211131991148470790134181087826808891245673473881685288761050248302682862906570741102499139653436656560782647877191103979288415573236840458276229094046292737402307736588459092218
-14870815388675771840074721905289658235324057537559996306592373196168314382866555739988576851019742362461350210558930568103000669738628042433562179962757580163258133977352728701459509020163197683204482417962350440754758049784126291927418402332064588051730339340181218446622240570171438812391547623115397833492273210062323246639022811963851596828446650537925573261160844637024207494574420796579060655481907929937701182279021633944473903716845241899624529124604911970007923716381632094111689662391494031258984309519147904460984032137260728915251949115193379728753328874642756759802754792699696913597811520319876749230931701643465879437693539062685489572792824435114379920339024410226586435185315281519368993883765419242667663008702043579279617549851822441587371095176994984433172742414320600594037873546218225232381067674710217212519309231974082380089714322915624109241204579928968449690609525522119049743956566123578951855622
+13088524977683346054205914607724846901467599527141209630650682994424339758619565846516307730853456246622416563459373881314772678890649018931488279124262053
+11903110587382782859631160122081367777131013547350016588497234573611090773338456492662219872177169546866629524609496782288157306408558043133312359796873969
+172724780200971612232333669589317373972881029679451354442848815197406177979195881265496211712476447467140122429585332712516535711627038689997481915761574378069192795223413449602847726322489928539048294636034582282214210609432881997775610097805170813108423036029321052056083869274947436698663011508306143681749
+19474270029385829771339324433415317282545822049182878799579276736677177604866471475298939203744522201084980864959667705449437714384790991851961850664689823342683236558879061039342346984970838327260646327669303256411444865962525117976410347332786054968779448887977630848092992396481683304031177192866806132792
+22612825422073212512983245706602919864158995416603690386860739441756666985268593057355529965533190474242538586309054922058688324471800943660563083279477087627706680850515061986540774447005230811103328060209637942340352846874451310278196997417751394186189262093670239364617628280989920148547074663849719950347
+337217151478171321311586756126629169371569554070064490130485665639988053805862461468908941343212829449367395291388002453784339269529763669453775529774417726147069520661213966197143089804999449938531459686098588530976815854497543762168194087362439602486266852557303333708244858985764758626383545630963344026550562285573642925544649312552121304621690643215770784034786158734643289606288113847275139842438095377741804246226905052267317715164496133144013703867069359278998948050172464826169017093652083269910289602326062910492610960052518410644366690212939849128833267478839628428704658033372489962561328731750407838641547400549370620103984865157037624702581718080186687781736709993528861658883483284822440697644809478933604188189146941500644104785744711804569676419454800557416825417274626906288627497020185800603026668220678038259098315599190915358443254430058515520919129154959786008893737722172044877439051081051384096156789
diff --git a/TEST/TESTElementaryOps.cpp b/TEST/TESTElementaryOps.cpp
new file mode 100755
index 0000000000000000000000000000000000000000..6da5de9f3d82b1fd45a639efb26ecf0e92a11605
--- /dev/null
+++ b/TEST/TESTElementaryOps.cpp
@@ -0,0 +1,124 @@
+#include "TESTElementaryOps.h"
+#include "../ML/VFDT/VFDT_Classifier.h"
+#include "../CRYPTO/EvalThreashold.h"
+#include "../CRYPTO/EvalLrUpdate.h"
+#include "../CRYPTO/EvalLog.h"
+#include <chrono>
+using namespace std;
+
+
+void TESTElementaryOps::run (bool deserialize, int keysize, int prec, int error, string filename) {
+
+    DTPKC dtpkc;
+    mpz_class pkey, skey, newPkey, newSkey, r, C2;
+    mpz_class A, B, C_2;
+    DTPKC::Cipher C_A, C_B, C, C_1, S;
+    gmp_randstate_t randstate;
+    int N = 10;
+    double init, encrypt, decrypt, dec1, dec2, expo, mult;
+
+    /***
+     * Initialisation
+     */
+    auto begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++)
+    {
+        gmp_randinit_default(randstate);
+        gmp_randseed_ui(randstate,time(NULL));
+        dtpkc.keygen(prec,randstate,keysize, error);
+
+        // Generate public key
+        dtpkc.getKey(pkey,skey);
+        dtpkc.updatePkw(pkey);
+        //cout << "Generated dtpkc parameters " << endl;
+    }
+    auto end = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = end  - begin ;
+    init = duration.count()/N;
+
+    dtpkc.getKey(newPkey,newSkey);
+    dtpkc.updatePkw(newPkey);
+
+    r=mpz_class_get_z_bits(200);
+
+    //Encryption
+
+
+    A = mpz_class_get_z_bits(15);
+    gmp_randinit_default(randstate);
+    gmp_randseed_ui(randstate,time(NULL));
+    B = mpz_class_get_z_bits(15);
+
+    //cout << "A= " << A << "B= " << B << endl;
+
+    // Encrypt operands
+    begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++) {
+        C_A = dtpkc.enc(A, pkey);
+    }
+    end = chrono::high_resolution_clock::now();
+    duration = end  - begin ;
+    encrypt = duration.count()/N;
+
+    C_B = dtpkc.enc(B,pkey);
+
+    //cout << "CA= " << C_A << "CB= " << C_B << endl;
+    // Decryption
+    begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++) {
+        A = dtpkc.dec(C_A, pkey);
+    }
+    end = chrono::high_resolution_clock::now();
+    duration = end  - begin ;
+    decrypt = duration.count()/N;
+
+
+    // Partial decryption part 1
+    begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++) {
+        C_1 = dtpkc.PSdec0(C_A);
+    }
+    end = chrono::high_resolution_clock::now();
+    duration = end  - begin ;
+    dec1 = duration.count()/N;
+
+    // Partial decryption part 2
+    begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++) {
+        C_2 = dtpkc.PSdec1(C_A, C_1);
+    }
+    end = chrono::high_resolution_clock::now();
+    duration = end  - begin ;
+    dec2 = duration.count()/N;
+
+    // Expo
+
+    begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++) {
+        S.T1 = mpz_class_powm(C_A.T1, r, dtpkc.n2);
+        S.T2 = mpz_class_powm(C_A.T2, r, dtpkc.n2);
+    }
+    end = chrono::high_resolution_clock::now();
+    duration = end  - begin ;
+    expo = duration.count()/N;
+
+    // Mult
+    begin = chrono::high_resolution_clock::now();
+    for(int i=0; i <N ; i++) {
+        C.T1 = C_A.T1 * C_B.T1;
+        C.T2 = C_A.T2 * C_B.T2;
+    }
+    end = chrono::high_resolution_clock::now();
+    duration = end  - begin ;
+    mult = duration.count()/N;
+
+
+    cout << "init = " <<  init << endl;
+    cout << "enc = " <<  encrypt << endl;
+    cout << "dec = " <<  decrypt << endl;
+    cout << "dec1 = " <<  dec1 << endl;
+    cout << "dec2 = " <<  dec2 << endl;
+    cout << "expo = " <<  expo << endl;
+    cout << "mult = " <<  mult << endl;
+}
+
diff --git a/TEST/TESTElementaryOps.h b/TEST/TESTElementaryOps.h
new file mode 100755
index 0000000000000000000000000000000000000000..a713a05e9d70a3cd80fef27c6cc1dc55de3b5ec7
--- /dev/null
+++ b/TEST/TESTElementaryOps.h
@@ -0,0 +1,29 @@
+#include<iostream>
+#include "../CRYPTO/DTPKC.h"
+#include "../CRYPTO/EvalAdd.h"
+#include "../CRYPTO/EvalSub.h"
+#include "../CRYPTO/EvalDiv.h"
+#include "../CRYPTO/EvalDiv100.h"
+#include "../CRYPTO/EvalEntropy.h"
+#include "../CRYPTO/EvalProba.h"
+#include "../CRYPTO/EvalHBound.h"
+#include "../CRYPTO/SkeySwitch.h"
+#include "../CRYPTO/EvalCmp.h"
+#include "../CRYPTO/EvalMult.h"
+#include "../CRYPTO/EvalAddPow2.h"
+#include "../CRYPTO/EvalStandardDiv.h"
+#include "../CRYPTO/EvalSigmoid.h"
+#include "../CRYPTO/EvalDotProd.h"
+#include "../UTIL/mpz_class.hh"
+#include "../UTIL/num_th_alg.hh"
+
+
+#ifndef DAPPLE_TESTELEMENTARYOPS_H
+#define DAPPLE_TESTELEMENTARYOPS_H
+
+class TESTElementaryOps{
+
+public : void run(bool deserialize, int keysize, int prec, int error, string filename);
+
+};
+#endif //DAPPLE_TESTBUILDINGBLOCKS_H
diff --git a/TEST/TESTpacking.cpp b/TEST/TESTpacking.cpp
new file mode 100755
index 0000000000000000000000000000000000000000..cdd1487bb3f6cde11a1d3f148a12b4813bb9becf
--- /dev/null
+++ b/TEST/TESTpacking.cpp
@@ -0,0 +1,111 @@
+#include "TESTpacking.h"
+#include "TESTBuildingBlocks.h"
+#include "../ML/VFDT/VFDT_Classifier.h"
+#include "../CRYPTO/EvalThreashold.h"
+#include "../CRYPTO/EvalLrUpdate.h"
+#include "../CRYPTO/EvalLog.h"
+using namespace std;
+
+void TESTpacking::run(bool deserialize, int keysize, int prec, int error, string filename) {
+
+
+    DTPKC dtpkc;
+    int cpt=0;
+    mpz_class pkey, skey, newPkey, newSkey;
+    mpz_class A, B,C, T;
+    DTPKC::Cipher C_A, C_B, C_C;
+    gmp_randstate_t randstate;
+
+    gmp_randclass rr(gmp_randinit_default);
+    rr.seed(time(NULL));
+
+
+    int cptF = 0;
+
+    if (deserialize)
+    {
+        dtpkc.deserializeDtpkc(filename);
+        dtpkc.blindVal = prec;
+        pkey = dtpkc.pkw;
+        //cout << "Deserialized dtpkc " << endl;
+
+    }else
+    {
+
+        gmp_randinit_default(randstate);
+        gmp_randseed_ui(randstate,time(NULL));
+        dtpkc.keygen(prec,randstate,keysize, error);
+
+        // Generate public key
+        dtpkc.getKey(pkey,skey);
+        dtpkc.updatePkw(pkey);
+        cout << "Generated dtpkc parameters " << endl;
+    }
+
+    dtpkc.getKey(newPkey,newSkey);
+    dtpkc.updatePkw(newPkey);
+
+    // Read operands
+
+    A = rr.get_z_bits(10);
+    B = rr.get_z_bits(8);
+    C = rr.get_z_bits(9);
+
+
+    cout<<"A= " << A << endl;
+    cout<<"B= " << B << endl;
+    cout<<"C= " << C << endl;
+
+    vector<string> vect;
+
+    vect.push_back(A.get_str(10));
+
+    vect.push_back(B.get_str(10));
+
+    vect.push_back(C.get_str(10));
+
+
+    vector<string> ones;
+
+    ones.push_back("1");
+
+    ones.push_back("1");
+
+    ones.push_back("1");
+
+
+    Cipher res = dtpkc.packEnc(vect,5,5, pkey);
+
+    Cipher C_ones = dtpkc.packEnc(ones,5,5, pkey);
+
+    C =  dtpkc.Sdec(res);
+
+    cout<<"Res= " << res << endl;
+
+    cout<<"ones= " << C_ones << endl;
+
+    res.T1 = res.T1 * C_ones.T1;
+
+    res.T2 = res.T2 * C_ones.T2;
+
+
+    cout<<"Res add =  " << res << endl;
+
+    mpz_class r = mpz_class_get_z_bits(10);
+
+    Cipher C_R = dtpkc.enc(r,pkey);
+
+    res.T1 = mpz_class_powm(res.T1, r, dtpkc.n2);
+    res.T2 = mpz_class_powm(res.T2, r, dtpkc.n2);
+
+
+    std::vector<mpz_class> C_z = dtpkc.Unpackdec(res,5,5);
+
+    for (mpz_class i : C_z)
+        cout << i/r << endl;
+
+
+
+    if(!deserialize) gmp_randclear(randstate);
+
+}
diff --git a/TEST/TESTpacking.h b/TEST/TESTpacking.h
new file mode 100755
index 0000000000000000000000000000000000000000..5301777a0e0e2d55edb891de78ff3421de79c0d2
--- /dev/null
+++ b/TEST/TESTpacking.h
@@ -0,0 +1,30 @@
+#ifndef DAPPLE_TESTPACKING_H
+#define DAPPLE_TESTPACKING_H
+
+#include<iostream>
+#include "../CRYPTO/DTPKC.h"
+#include "../CRYPTO/EvalAdd.h"
+#include "../CRYPTO/EvalSub.h"
+#include "../CRYPTO/EvalDiv.h"
+#include "../CRYPTO/EvalDiv100.h"
+#include "../CRYPTO/EvalEntropy.h"
+#include "../CRYPTO/EvalProba.h"
+#include "../CRYPTO/EvalHBound.h"
+#include "../CRYPTO/SkeySwitch.h"
+#include "../CRYPTO/EvalCmp.h"
+#include "../CRYPTO/EvalMult.h"
+#include "../CRYPTO/EvalAddPow2.h"
+#include "../CRYPTO/EvalStandardDiv.h"
+#include "../CRYPTO/EvalSigmoid.h"
+#include "../CRYPTO/EvalDotProd.h"
+#include "../UTIL/mpz_class.hh"
+#include "../UTIL/num_th_alg.hh"
+
+class TESTpacking {
+
+public : void run(bool deserialize, int keysize, int prec, int error, string filename);
+
+};
+
+
+#endif
diff --git a/TEST/main.cpp b/TEST/main.cpp
index 90d059eb9bbae8abe6a37ba475f283a118502bf7..23b8ce655ddb50abf06d31ccfffb7feee2bea48f 100755
--- a/TEST/main.cpp
+++ b/TEST/main.cpp
@@ -11,6 +11,8 @@
 #include "../ML/VFDT/VFDT_Classifier.h"
 #include "../LIB/config4cpp/include/config4cpp/Configuration.h"
 #include "TESTBuildingBlocks.h"
+#include "TESTElementaryOps.h"
+#include "TESTpacking.h"
 #include "../ML/LR/LR.h"
 #include <stdio.h>
 #include <stdlib.h>
@@ -525,7 +527,8 @@ int main (int argc, char **argv) {
                                      std::to_string(classifier->clientTestTime) + "," +
                                      classifier->extTestBd.get_str() + "," + std::to_string(P) + "," +
                                      std::to_string(R) + "," + std::to_string(F1) << endl;
-
+                            classifier->trainTime = 0;
+                            classifier->testTime = 0 ;
                             datasetReader->reloadTest();
                         }
                     } else {
@@ -545,16 +548,19 @@ int main (int argc, char **argv) {
                             if (debug) cout << " Testing done " << endl;
                         }
 
-                    }
 
-                    evaluateAccuracy(clearPath, mainPath, OutputPath, classOutput, datasetReader->test_size, P,
-                                     R, F1);
 
-                    stats << std::to_string(classifier->trainTime) + "," + classifier->extTrainBd.get_str() +
-                             "," + std::to_string(classifier->testTime) + "," +
-                             std::to_string(classifier->clientTestTime) + "," +
-                             classifier->extTestBd.get_str() + "," + std::to_string(P) + "," +
-                             std::to_string(R) + "," + std::to_string(F1) << endl;
+                        evaluateAccuracy(clearPath, mainPath, OutputPath, classOutput, datasetReader->test_size, P,
+                                         R, F1);
+
+                        stats << std::to_string(classifier->trainTime) + "," + classifier->extTrainBd.get_str() +
+                                 "," + std::to_string(classifier->testTime) + "," +
+                                 std::to_string(classifier->clientTestTime) + "," +
+                                 classifier->extTestBd.get_str() + "," + std::to_string(P) + "," +
+                                 std::to_string(R) + "," + std::to_string(F1) << endl;
+
+                    }
+
 
 
                     datasetReader->closeTraining();
@@ -1080,8 +1086,16 @@ else {
 
         for (int i = 0; i < runs_number ; i++) {
 
-            TESTBuildingBlocks testBuildingBlocks;
-            testBuildingBlocks.run(deserialize, keySize, blindVal, DTPKC_Err, pathSer);
+            /*TESTBuildingBlocks testBuildingBlocks;
+            testBuildingBlocks.run(deserialize, keySize, blindVal, DTPKC_Err, pathSer);*/
+
+            TESTpacking tesTpacking;
+            tesTpacking.run(deserialize, keySize, blindVal, DTPKC_Err, pathSer);
+
+
+            /*TESTElementaryOps testOps;
+            testOps.run(deserialize, keySize, blindVal, DTPKC_Err, pathSer);*/
+
         }
 
 
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache b/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
index d1adf225c82fc658b879c8a7730b417b3b1d03bb..cbe2ab0d1f9633718d8c3c9b1d7fd39efa69cd5a 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
@@ -36,16 +36,56 @@ netinet/in.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 ../UTIL/math_util.hh
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
@@ -62,56 +102,206 @@ EvalDiv100.h
 ../UTIL/math_util.hh
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 vector
 -
-iostream
--
-../../CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
 
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPStats.cpp
-PPStats.h
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPStats.h
-map
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+fstream
 -
-math.h
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/math.h
+stdio.h
+-
+string.h
+-
+vector
+-
+cstring
+-
+Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+time.h
+-
+string
+-
+omp.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/omp.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+vector
+-
+iostream
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+NodeStats.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+NodeTest.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
 
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPStats.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
 iostream
 -
 map
 -
 iterator
 -
-../IO/PPRecord.h
-/home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPRecord.h
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
 gmpxx.h
 -
 gmp.h
 -
-omp.h
--
 ../../UTIL/util_gmp_rand.h
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
 ../../UTIL/num_th_alg.hh
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
 ../../UTIL/mpz_class.hh
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
-../../CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+map
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+netinet/in.h
+-
+../IO/DatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+Node.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+../../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+math.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/math.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+iostream
+-
+../CRYPTO/DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
-../../CRYPTO/EvalAdd.h
+../CRYPTO/EvalAdd.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
-../../CRYPTO/EvalMult.h
-/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
-../../CRYPTO/EvalDiv100.h
+../CRYPTO/EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+../CRYPTO/EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+../CRYPTO/EvalDiv100.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
-../../CRYPTO/EvalProba.h
+../CRYPTO/EvalEntropy.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+../CRYPTO/EvalProba.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
-../../CRYPTO/EvalLog.h
+../CRYPTO/EvalHBound.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+../CRYPTO/SkeySwitch.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+../CRYPTO/EvalCmp.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+../CRYPTO/EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+../CRYPTO/EvalAddPow2.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+../CRYPTO/EvalStandardDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+../CRYPTO/EvalSigmoid.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+../CRYPTO/EvalDotProd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp
+TESTpacking.h
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.h
+TESTBuildingBlocks.h
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+../ML/VFDT/VFDT_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+../CRYPTO/EvalThreashold.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+../CRYPTO/EvalLrUpdate.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
+../CRYPTO/EvalLog.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
 
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.h
+iostream
+-
+../CRYPTO/DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../CRYPTO/EvalAdd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+../CRYPTO/EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+../CRYPTO/EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+../CRYPTO/EvalDiv100.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+../CRYPTO/EvalEntropy.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+../CRYPTO/EvalProba.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+../CRYPTO/EvalHBound.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+../CRYPTO/SkeySwitch.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+../CRYPTO/EvalCmp.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+../CRYPTO/EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+../CRYPTO/EvalAddPow2.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+../CRYPTO/EvalStandardDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+../CRYPTO/EvalSigmoid.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+../CRYPTO/EvalDotProd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 vector
 -
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake b/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake
index 1ca8408f46fc1b9d5882103866b7ae583368f120..67cc1ddfa574e67b7bb1a114bac9a409f819b288 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake
@@ -43,8 +43,10 @@ set(CMAKE_DEPENDS_CHECK_CXX
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTCryptoDatasetReader.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDTPKC.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDatasetReader.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o"
+  "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppNB.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppVFDT.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o"
+  "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppNB.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppVFDT.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/TEST/TestOpenMp.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o"
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make
index 685961d062ec283e109d17ab58f0211fbce5d6f6..5b65d2df710a428c211e3fa6205fd194de971b66 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make
@@ -551,9 +551,22 @@ CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.s: cmake_force
 	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.s"
 	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDatasetReader.cpp -o CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.s
 
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../TEST/TESTElementaryOps.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_39) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o"
+	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp
+
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.i"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp > CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.i
+
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.s"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp -o CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.s
+
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: ../TEST/TESTNppNB.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_39) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_40) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppNB.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.i: cmake_force
@@ -566,7 +579,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: ../TEST/TESTNppVFDT.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_40) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_41) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppVFDT.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.i: cmake_force
@@ -577,9 +590,22 @@ CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.s: cmake_force
 	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.s"
 	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppVFDT.cpp -o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.s
 
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../TEST/TESTpacking.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_42) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o"
+	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp
+
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.i"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp > CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.i
+
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.s"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp -o CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.s
+
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: ../TEST/TESTppNB.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_41) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_43) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppNB.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.i: cmake_force
@@ -592,7 +618,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o: ../TEST/TESTppVFDT.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_42) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_44) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppVFDT.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.i: cmake_force
@@ -605,7 +631,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o: ../TEST/TestOpenMp.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_43) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_45) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TestOpenMp.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.i: cmake_force
@@ -618,7 +644,7 @@ CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../TEST/main.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_44) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/main.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_46) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/main.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/main.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/main.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.i: cmake_force
@@ -631,7 +657,7 @@ CMakeFiles/DAPPLE.dir/TEST/main.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o: ../UTIL/math_util.cc
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_45) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_47) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o -c /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.cc
 
 CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.i: cmake_force
@@ -644,7 +670,7 @@ CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o: ../UTIL/num_th_alg.cc
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_46) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_48) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o -c /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.cc
 
 CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.i: cmake_force
@@ -657,7 +683,7 @@ CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o: ../UTIL/prime_seq.cc
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_47) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_49) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o -c /home/rania/CLionProjects/DAPPLE-2.0/UTIL/prime_seq.cc
 
 CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.i: cmake_force
@@ -670,7 +696,7 @@ CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o: ../ML/LR/LR.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_48) "Building CXX object CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_50) "Building CXX object CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/LR/LR.cpp
 
 CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.i: cmake_force
@@ -721,8 +747,10 @@ DAPPLE_OBJECTS = \
 "CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o" \
+"CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o" \
+"CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o" \
 "CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o" \
@@ -773,8 +801,10 @@ DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o
+DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o
+DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o
@@ -787,7 +817,7 @@ DAPPLE: CMakeFiles/DAPPLE.dir/build.make
 DAPPLE: /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.so
 DAPPLE: /usr/lib/x86_64-linux-gnu/libpthread.so
 DAPPLE: CMakeFiles/DAPPLE.dir/link.txt
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_49) "Linking CXX executable DAPPLE"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_51) "Linking CXX executable DAPPLE"
 	$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/DAPPLE.dir/link.txt --verbose=$(VERBOSE)
 
 # Rule to build all files generated by this target.
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake b/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake
index 491cc67ec9ec0a9625f83644efd8f198664485c1..cccab93eccbadad07ddda2c65982ddfdcbeba68b 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake
@@ -37,8 +37,10 @@ file(REMOVE_RECURSE
   "CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o"
+  "CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o"
+  "CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o"
   "CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o"
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
index 1b227ee9129ed1e0f1d5769454a58a3b4ef8affb..0db3182b562c9909497862e7699a99f4a3811ca2 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
@@ -402,6 +402,37 @@ CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDatasetReader.cpp
  /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDatasetReader.h
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.h
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/Configuration.h
  /home/rania/CLionProjects/DAPPLE-2.0/LIB/config4cpp/include/config4cpp/ConfigurationException.h
@@ -436,6 +467,38 @@ CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+ /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.h
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
@@ -537,6 +600,8 @@ CMakeFiles/DAPPLE.dir/TEST/main.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeTest.h
  /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPVFDT_Classifier.h
  /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.h
+ /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.h
  /home/rania/CLionProjects/DAPPLE-2.0/TEST/main.cpp
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
index 40d76263654085f74f77e0f90098d0a7d6705d0f..535b8e828e2aac9a1f96914aa553aeb31c552b15 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
@@ -402,6 +402,37 @@ CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o: ../TEST/TESTDatasetReader.cp
 CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o: ../TEST/TESTDatasetReader.h
 CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o: ../UTIL/mpz_class.hh
 
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/DTPKC.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalAdd.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalAddPow2.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalCmp.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalDiv.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalDiv100.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalDotProd.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalEntropy.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalHBound.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalLog.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalLrUpdate.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalMult.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalProba.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalSigmoid.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalStandardDiv.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalSub.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/EvalThreashold.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../CRYPTO/SkeySwitch.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../ML/IO/DatasetReader.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../ML/IO/Record.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../ML/VFDT/Node.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../ML/VFDT/NodeStats.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../ML/VFDT/NodeTest.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../ML/VFDT/VFDT_Classifier.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../TEST/TESTElementaryOps.cpp
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../TEST/TESTElementaryOps.h
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../UTIL/math_util.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../UTIL/mpz_class.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../UTIL/num_th_alg.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../UTIL/util_gmp_rand.h
+
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: ../LIB/config4cpp/include/config4cpp/Configuration.h
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: ../LIB/config4cpp/include/config4cpp/ConfigurationException.h
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: ../LIB/config4cpp/include/config4cpp/StringBuffer.h
@@ -436,6 +467,38 @@ CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: ../UTIL/mpz_class.hh
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: ../UTIL/num_th_alg.hh
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: ../UTIL/util_gmp_rand.h
 
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/DTPKC.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalAdd.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalAddPow2.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalCmp.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalDiv.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalDiv100.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalDotProd.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalEntropy.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalHBound.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalLog.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalLrUpdate.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalMult.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalProba.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalSigmoid.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalStandardDiv.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalSub.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/EvalThreashold.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../CRYPTO/SkeySwitch.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../ML/IO/DatasetReader.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../ML/IO/Record.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../ML/VFDT/Node.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../ML/VFDT/NodeStats.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../ML/VFDT/NodeTest.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../ML/VFDT/VFDT_Classifier.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../TEST/TESTBuildingBlocks.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../TEST/TESTpacking.cpp
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../TEST/TESTpacking.h
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../UTIL/math_util.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../UTIL/mpz_class.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../UTIL/num_th_alg.hh
+CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../UTIL/util_gmp_rand.h
+
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: ../CRYPTO/DTPKC.h
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: ../CRYPTO/EvalAdd.h
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: ../CRYPTO/EvalDiv100.h
@@ -536,6 +599,8 @@ CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../PPML/PPVFDT/PPNodeStats.h
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../PPML/PPVFDT/PPNodeTest.h
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../PPML/PPVFDT/PPVFDT_Classifier.h
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../TEST/TESTBuildingBlocks.h
+CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../TEST/TESTElementaryOps.h
+CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../TEST/TESTpacking.h
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../TEST/main.cpp
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../UTIL/math_util.hh
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../UTIL/mpz_class.hh
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt b/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt
index 90029d3ce06d0d5e94b031459545af22adad42c3..72628ee120ed10b5f47320f814bb49588b96c7fb 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt
@@ -1 +1 @@
-/usr/bin/c++   -fopenmp -g    CMakeFiles/DAPPLE.dir/CRYPTO/DTPKC.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAdd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAddPow2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o CMakeFiles/DAPPLE.dir/TEST/main.cpp.o CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o  -o DAPPLE -lgmp -lgmpxx -lntl -lm -lconfig4cpp -lmpfr -lssl -lcrypto /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.so -lpthread 
+/usr/bin/c++   -fopenmp -g    CMakeFiles/DAPPLE.dir/CRYPTO/DTPKC.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAdd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAddPow2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o CMakeFiles/DAPPLE.dir/TEST/main.cpp.o CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o  -o DAPPLE -lgmp -lgmpxx -lntl -lm -lconfig4cpp -lmpfr -lssl -lcrypto /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.so -lpthread 
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make
index 0d76397741aa2c7fc6e22734953d0ad7b7d68638..7bde808c118dad3cbc366db56fe8b3cd7b9c27c9 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make
@@ -47,4 +47,6 @@ CMAKE_PROGRESS_46 = 46
 CMAKE_PROGRESS_47 = 47
 CMAKE_PROGRESS_48 = 48
 CMAKE_PROGRESS_49 = 49
+CMAKE_PROGRESS_50 = 50
+CMAKE_PROGRESS_51 = 51
 
diff --git a/cmake-build-debug/CMakeFiles/Makefile2 b/cmake-build-debug/CMakeFiles/Makefile2
index b6a817d262718cb43c29874ffda564a5ccfbac9d..74f9a8ef21da4a72004bcb78ccad06dec3559971 100644
--- a/cmake-build-debug/CMakeFiles/Makefile2
+++ b/cmake-build-debug/CMakeFiles/Makefile2
@@ -71,7 +71,7 @@ CMAKE_BINARY_DIR = /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug
 CMakeFiles/DAPPLE.dir/all:
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/depend
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49 "Built target DAPPLE"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51 "Built target DAPPLE"
 .PHONY : CMakeFiles/DAPPLE.dir/all
 
 # Include target in all.
@@ -81,7 +81,7 @@ all: CMakeFiles/DAPPLE.dir/all
 
 # Build rule for subdir invocation for target.
 CMakeFiles/DAPPLE.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles 49
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles 51
 	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/DAPPLE.dir/all
 	$(CMAKE_COMMAND) -E cmake_progress_start /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles 0
 .PHONY : CMakeFiles/DAPPLE.dir/rule
diff --git a/cmake-build-debug/CMakeFiles/progress.marks b/cmake-build-debug/CMakeFiles/progress.marks
index 95f9650f0151d7c0d3aecf40355d88effbd5b7a7..82cced27d7be32719d009707139bd949ad6263c9 100644
--- a/cmake-build-debug/CMakeFiles/progress.marks
+++ b/cmake-build-debug/CMakeFiles/progress.marks
@@ -1 +1 @@
-49
+51
diff --git a/cmake-build-debug/DAPPLE.cbp b/cmake-build-debug/DAPPLE.cbp
index 409e1870b324e764a4aabe733feaa077da36df4f..5792eec06c5d10d888e5f942dacca280bfc805a6 100644
--- a/cmake-build-debug/DAPPLE.cbp
+++ b/cmake-build-debug/DAPPLE.cbp
@@ -321,6 +321,12 @@
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDatasetReader.h">
 			<Option target="DAPPLE"/>
 		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp">
+			<Option target="DAPPLE"/>
+		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.h">
+			<Option target="DAPPLE"/>
+		</Unit>
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppNB.cpp">
 			<Option target="DAPPLE"/>
 		</Unit>
@@ -333,6 +339,12 @@
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppVFDT.h">
 			<Option target="DAPPLE"/>
 		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp">
+			<Option target="DAPPLE"/>
+		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.h">
+			<Option target="DAPPLE"/>
+		</Unit>
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppNB.cpp">
 			<Option target="DAPPLE"/>
 		</Unit>
diff --git a/cmake-build-debug/Makefile b/cmake-build-debug/Makefile
index 3adba62727c401f11a88b71e98b682206adb41f5..1e4cd693669c5eb7c89bc7a944c056a2162b5c95 100644
--- a/cmake-build-debug/Makefile
+++ b/cmake-build-debug/Makefile
@@ -1176,6 +1176,33 @@ TEST/TESTDatasetReader.cpp.s:
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.s
 .PHONY : TEST/TESTDatasetReader.cpp.s
 
+TEST/TESTElementaryOps.o: TEST/TESTElementaryOps.cpp.o
+
+.PHONY : TEST/TESTElementaryOps.o
+
+# target to build an object file
+TEST/TESTElementaryOps.cpp.o:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o
+.PHONY : TEST/TESTElementaryOps.cpp.o
+
+TEST/TESTElementaryOps.i: TEST/TESTElementaryOps.cpp.i
+
+.PHONY : TEST/TESTElementaryOps.i
+
+# target to preprocess a source file
+TEST/TESTElementaryOps.cpp.i:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.i
+.PHONY : TEST/TESTElementaryOps.cpp.i
+
+TEST/TESTElementaryOps.s: TEST/TESTElementaryOps.cpp.s
+
+.PHONY : TEST/TESTElementaryOps.s
+
+# target to generate assembly for a file
+TEST/TESTElementaryOps.cpp.s:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.s
+.PHONY : TEST/TESTElementaryOps.cpp.s
+
 TEST/TESTNppNB.o: TEST/TESTNppNB.cpp.o
 
 .PHONY : TEST/TESTNppNB.o
@@ -1230,6 +1257,33 @@ TEST/TESTNppVFDT.cpp.s:
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.s
 .PHONY : TEST/TESTNppVFDT.cpp.s
 
+TEST/TESTpacking.o: TEST/TESTpacking.cpp.o
+
+.PHONY : TEST/TESTpacking.o
+
+# target to build an object file
+TEST/TESTpacking.cpp.o:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o
+.PHONY : TEST/TESTpacking.cpp.o
+
+TEST/TESTpacking.i: TEST/TESTpacking.cpp.i
+
+.PHONY : TEST/TESTpacking.i
+
+# target to preprocess a source file
+TEST/TESTpacking.cpp.i:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.i
+.PHONY : TEST/TESTpacking.cpp.i
+
+TEST/TESTpacking.s: TEST/TESTpacking.cpp.s
+
+.PHONY : TEST/TESTpacking.s
+
+# target to generate assembly for a file
+TEST/TESTpacking.cpp.s:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.s
+.PHONY : TEST/TESTpacking.cpp.s
+
 TEST/TESTppNB.o: TEST/TESTppNB.cpp.o
 
 .PHONY : TEST/TESTppNB.o
@@ -1545,12 +1599,18 @@ help:
 	@echo "... TEST/TESTDatasetReader.o"
 	@echo "... TEST/TESTDatasetReader.i"
 	@echo "... TEST/TESTDatasetReader.s"
+	@echo "... TEST/TESTElementaryOps.o"
+	@echo "... TEST/TESTElementaryOps.i"
+	@echo "... TEST/TESTElementaryOps.s"
 	@echo "... TEST/TESTNppNB.o"
 	@echo "... TEST/TESTNppNB.i"
 	@echo "... TEST/TESTNppNB.s"
 	@echo "... TEST/TESTNppVFDT.o"
 	@echo "... TEST/TESTNppVFDT.i"
 	@echo "... TEST/TESTNppVFDT.s"
+	@echo "... TEST/TESTpacking.o"
+	@echo "... TEST/TESTpacking.i"
+	@echo "... TEST/TESTpacking.s"
 	@echo "... TEST/TESTppNB.o"
 	@echo "... TEST/TESTppNB.i"
 	@echo "... TEST/TESTppNB.s"