diff --git a/Src/Adaptive/new/FAdaptiveStarPU.hpp b/Src/Adaptive/new/FAdaptiveStarPU.hpp
index c95a204de3fdcf2b4c4f6b7429170b739101ebbc..91af5eeb6cec8762fab8a635db81467f1cc91117 100644
--- a/Src/Adaptive/new/FAdaptiveStarPU.hpp
+++ b/Src/Adaptive/new/FAdaptiveStarPU.hpp
@@ -31,9 +31,9 @@ public:
     using node_t = typename tree_t::node_t;
 
 private:
-    using symb_data_t = typename tree_t::node_t::symbolic_data_t;
+    using symbolic_data_t = typename tree_t::node_t::symbolic_data_t;
     using multipole_t = typename tree_t::node_t::data_t::multipole_t;
-    using local_exp_t = typename tree_t::node_t::data_t::local_expansion_t;
+    using local_expansion_t = typename tree_t::node_t::data_t::local_expansion_t;
     using container_t = typename tree_t::node_t::particle_container_t;
 
     tree_t&   _tree;
@@ -389,8 +389,8 @@ private:
         multipole_t* leaf_multipole =
             (multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
 
-        symb_data_t* leaf_symb_data =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
+        symbolic_data_t* leaf_symb_data =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
         container_t* particle_container =
             (container_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
@@ -457,13 +457,13 @@ private:
         const starpu_task* const current_task =  starpu_task_get_current();
         std::size_t buffer_count = current_task->nbuffers;
 
-        const symb_data_t* node_symbolic =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
+        const symbolic_data_t* node_symbolic =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
         multipole_t* node_multipole =
             (multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
         multipole_t* child_multipoles[node_t::child_count] = {};
-        symb_data_t* child_symbolics[node_t::child_count] = {};
+        symbolic_data_t* child_symbolics[node_t::child_count] = {};
 
         // Children buffer indices start at 2
         for(std::size_t i = 0, j = 2, k = 3;
@@ -471,7 +471,7 @@ private:
             ++i, j += 2, k += 2)
         {
             child_symbolics[i] =
-                (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
+                (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
             child_multipoles[i] =
                 (multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[k]);
         }
@@ -545,14 +545,14 @@ private:
         const starpu_task* const current_task =  starpu_task_get_current();
         std::size_t buffer_count = current_task->nbuffers;
 
-        const symb_data_t* node_symbolic =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
-        local_exp_t* node_local_exp =
-            (local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
+        const symbolic_data_t* node_symbolic =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
+        local_expansion_t* node_local_exp =
+            (local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
 
         std::vector<const multipole_t*> multipoles;
-        std::vector<const symb_data_t*> symbolics;
+        std::vector<const symbolic_data_t*> symbolics;
         std::vector<int> offset_indices;
         // two buffers per V item, first is for the local exp
         const std::size_t vec_init_size = (buffer_count-2) / 2;
@@ -561,7 +561,7 @@ private:
         offset_indices.reserve(vec_init_size);
 
         for(std::size_t i = 2; i < buffer_count; i += 2) {
-            const symb_data_t* v_item_symb = (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
+            const symbolic_data_t* v_item_symb = (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
             symbolics.emplace_back(v_item_symb);
             multipoles.emplace_back((multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[i+1]));
             offset_indices.emplace_back(compute_box_offset_index(*node_symbolic, *v_item_symb, 3));
@@ -619,14 +619,14 @@ private:
     }
 
     static void P2L_cpu(void** buffers, void* cl_arg) {
-        symb_data_t* node_symb_data =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
+        symbolic_data_t* node_symb_data =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
 
-        local_exp_t* node_local_exp =
-            (local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
+        local_expansion_t* node_local_exp =
+            (local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
-        symb_data_t* leaf_symb_data =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
+        symbolic_data_t* leaf_symb_data =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
 
         container_t* leaf_particles =
             (container_t*) STARPU_VARIABLE_GET_PTR(buffers[3]);
@@ -695,13 +695,13 @@ private:
         const starpu_task* const current_task =  starpu_task_get_current();
         std::size_t buffer_count = current_task->nbuffers;
 
-        const symb_data_t* parent_symbolic =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
-        local_exp_t* parent_local_exp =
-            (local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
+        const symbolic_data_t* parent_symbolic =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
+        local_expansion_t* parent_local_exp =
+            (local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
-        const symb_data_t* child_symbolics[node_t::child_count] = {};
-        local_exp_t* child_local_exps[node_t::child_count] = {};
+        const symbolic_data_t* child_symbolics[node_t::child_count] = {};
+        local_expansion_t* child_local_exps[node_t::child_count] = {};
 
         // Children buffer indices start at 2
         for(std::size_t i = 0, j = 2, k = 3;
@@ -709,9 +709,9 @@ private:
             ++i, j += 2, k += 2)
         {
             child_symbolics[i] =
-                (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
+                (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
             child_local_exps[i] =
-                (local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[k]);
+                (local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[k]);
         }
 
         auto algo = (FAdaptiveStarPU<tree_t, kernel_t>*) cl_arg;
@@ -759,14 +759,14 @@ private:
     }
 
     static void M2P_cpu(void** buffers, void* cl_arg) {
-        symb_data_t* node_symb_data =
-            (symb_data_t*)STARPU_VARIABLE_GET_PTR(buffers[0]);
+        symbolic_data_t* node_symb_data =
+            (symbolic_data_t*)STARPU_VARIABLE_GET_PTR(buffers[0]);
 
         multipole_t* node_multipole =
             (multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
-        symb_data_t* leaf_symb_data =
-            (symb_data_t*)STARPU_VARIABLE_GET_PTR(buffers[2]);
+        symbolic_data_t* leaf_symb_data =
+            (symbolic_data_t*)STARPU_VARIABLE_GET_PTR(buffers[2]);
 
         container_t* leaf_particles =
             (container_t*) STARPU_VARIABLE_GET_PTR(buffers[3]);
@@ -811,11 +811,11 @@ private:
     }
 
     static void L2P_cpu(void** buffers, void* cl_arg) {
-        local_exp_t* leaf_local_exp =
-            (local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
+        local_expansion_t* leaf_local_exp =
+            (local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
 
-        symb_data_t* leaf_symb_data =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
+        symbolic_data_t* leaf_symb_data =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
 
         container_t* particle_container =
             (container_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
@@ -924,8 +924,8 @@ private:
         const starpu_task* const current_task =  starpu_task_get_current();
         std::size_t buffer_count = current_task->nbuffers;
 
-        const symb_data_t* node_symbolic =
-            (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
+        const symbolic_data_t* node_symbolic =
+            (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
         container_t* node_target_particles =
             (container_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
         container_t* node_source_particles =
@@ -938,7 +938,7 @@ private:
         offset_indices.reserve((buffer_count-3) / 2);
 
         for(std::size_t i = 3; i < buffer_count; i += 2) {
-            const symb_data_t* u_item_symb = (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
+            const symbolic_data_t* u_item_symb = (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
             offset_indices.emplace_back(compute_box_offset_index(*node_symbolic, *u_item_symb, 1));
             u_source_particles.emplace_back((container_t*) STARPU_VARIABLE_GET_PTR(buffers[i+1]));
         }
diff --git a/Src/BalanceTree/FFmmAlgorithmThreadBalanced.hpp b/Src/BalanceTree/FFmmAlgorithmThreadBalanced.hpp
index 8d9c71d60b49cc554f76cbdc3062661a64be25e9..afb2baa87d191a2c31674c232bd1e8ef007f4ea4 100644
--- a/Src/BalanceTree/FFmmAlgorithmThreadBalanced.hpp
+++ b/Src/BalanceTree/FFmmAlgorithmThreadBalanced.hpp
@@ -80,8 +80,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmThreadBalanced : public FAbstractAlgorithm, public FAlgorithmTimers{
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     /// Shortened tree iterator class.
     using TreeIterator   = typename OctreeClass::Iterator;
@@ -279,7 +279,7 @@ protected:
                     // child is an array (of 8 child) that may be null
                     multipole_t* const parent_multipole
                         = &(zoneIterator.getCurrentCell()->getMultipoleData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = zoneIterator.getCurrentCell();
 
                     CellClass** children = zoneIterator.getCurrentChildren();
@@ -289,7 +289,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {
                                        return c;
@@ -360,9 +360,9 @@ protected:
                             zoneIterator.getCurrentGlobalCoordinate(),
                             level);
                     if(counter) {
-                        local_exp_t* const target_local_exp
+                        local_expansion_t* const target_local_exp
                             = &(zoneIterator.getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* const target_symbolic
+                        const symbolic_data_t* const target_symbolic
                             = zoneIterator.getCurrentCell();
 
                         std::array<const multipole_t*, 342> neighbor_multipoles;
@@ -372,7 +372,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 342> neighbor_symbolics;
+                        std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                         std::transform(neighbors, neighbors+counter,
                                        neighbor_symbolics.begin(),
                                        [](const CellClass* c) {return c;});
@@ -436,19 +436,19 @@ protected:
                 // Call L2L kernel on cells
                 while( zoneCellCount-- > 0 ) {
 
-                    local_exp_t* const parent_local_exp
+                    local_expansion_t* const parent_local_exp
                         = &(zoneIterator.getCurrentCell()->getLocalExpansionData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = zoneIterator.getCurrentCell();
 
-                    std::array<local_exp_t*, 8> child_expansions;
+                    std::array<local_expansion_t*, 8> child_expansions;
                     CellClass** children = zoneIterator.getCurrentChildren();
                     std::transform(children, children+8, child_expansions.begin(),
                                    [](CellClass* c) {
                                        return (c == nullptr ? nullptr
                                                : &(c->getLocalExpansionData()));
                                    });
-                    std::array<symb_data_t*, 8> child_symbolics;
+                    std::array<symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
 
diff --git a/Src/Components/FTestCell.hpp b/Src/Components/FTestCell.hpp
index 0be70f6c36b6eea547d6ba2cc48cd6e203b6f1ad..9b657e9b21dc11cf913659610156e111b5fda269 100644
--- a/Src/Components/FTestCell.hpp
+++ b/Src/Components/FTestCell.hpp
@@ -73,7 +73,7 @@ namespace FTestCell_impl {
     };
 
     using multipole_t = scalfmm::detail::FTestCell_impl::exp_impl<class MultipoleTag>;
-    using local_exp_t = scalfmm::detail::FTestCell_impl::exp_impl<class LocalExpansionTag>;
+    using local_expansion_t = scalfmm::detail::FTestCell_impl::exp_impl<class LocalExpansionTag>;
 
 }
 }
@@ -82,7 +82,7 @@ namespace FTestCell_impl {
 
 using FTestCell = FGenericData<
     scalfmm::detail::FTestCell_impl::multipole_t,
-    scalfmm::detail::FTestCell_impl::local_exp_t
+    scalfmm::detail::FTestCell_impl::local_expansion_t
     >;
 
 #endif //FTESTCELL_HPP
diff --git a/Src/Core/FFmmAlgorithm.hpp b/Src/Core/FFmmAlgorithm.hpp
index 6a92979d90aac5e87823a081f3cda596c96f0bbf..0b6a7016e749cee47aced3e6bc0eff16df138809 100644
--- a/Src/Core/FFmmAlgorithm.hpp
+++ b/Src/Core/FFmmAlgorithm.hpp
@@ -45,8 +45,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithm :  public FAbstractAlgorithm, public FAlgorithmTimers {
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;       ///< The octree to work on.
     KernelClass* const kernels;    ///< The kernels.
@@ -134,7 +134,7 @@ protected:
             // and the list of particles
             multipole_t* const leaf_multipole
                 = &(octreeIterator.getCurrentCell()->getMultipoleData());
-            const symb_data_t* const leaf_symbolic
+            const symbolic_data_t* const leaf_symbolic
                 = octreeIterator.getCurrentCell();
             FLOG(computationCounter.tic());
             kernels->P2M(leaf_multipole,
@@ -178,7 +178,7 @@ protected:
                 // child is an array (of 8 child) that may be null
                 multipole_t* const parent_multipole
                     = &(octreeIterator.getCurrentCell()->getMultipoleData());
-                const symb_data_t* const parent_symbolic
+                const symbolic_data_t* const parent_symbolic
                     = octreeIterator.getCurrentCell();
 
                 CellClass** children = octreeIterator.getCurrentChildren();
@@ -188,7 +188,7 @@ protected:
                                    return (c == nullptr ? nullptr
                                            : &(c->getMultipoleData()));
                                });
-                std::array<const symb_data_t*, 8> child_symbolics;
+                std::array<const symbolic_data_t*, 8> child_symbolics;
                 std::transform(children, children+8, child_symbolics.begin(),
                                [](CellClass* c) {return c;});
                 FLOG(computationCounter.tic());
@@ -246,12 +246,12 @@ protected:
                     continue;
                 }
 
-                local_exp_t* const target_local_exp
+                local_expansion_t* const target_local_exp
                     = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                const symb_data_t* const target_symbolic
+                const symbolic_data_t* const target_symbolic
                     = octreeIterator.getCurrentCell();
                 std::array<const multipole_t*, 342> neighbor_multipoles;
-                std::array<const symb_data_t*, 342> neighbor_symbolics;
+                std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                 std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
                                [](const CellClass* c) {
                                    return (c == nullptr ? nullptr
@@ -311,17 +311,17 @@ protected:
 
             // for each cells
             do{
-                local_exp_t* const parent_local_exp
+                local_expansion_t* const parent_local_exp
                     = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                const symb_data_t* const parent_symbolic
+                const symbolic_data_t* const parent_symbolic
                     = octreeIterator.getCurrentCell();
                 CellClass** children = octreeIterator.getCurrentChildren();
-                std::array<local_exp_t*, 8> child_local_expansions;
+                std::array<local_expansion_t*, 8> child_local_expansions;
                 std::transform(children, children+8, child_local_expansions.begin(),
                                [](CellClass* c) {return (c == nullptr ? nullptr
                                                          : &(c->getLocalExpansionData()));
                                });
-                std::array<symb_data_t*, 8> child_symbolics;
+                std::array<symbolic_data_t*, 8> child_symbolics;
                 std::transform(children, children+8, child_symbolics.begin(),
                                [](CellClass* c) {return c;});
                 FLOG(computationCounter.tic());
diff --git a/Src/Core/FFmmAlgorithmOmp4.hpp b/Src/Core/FFmmAlgorithmOmp4.hpp
index d12a50f5f8c5d0c0210497b6fc643ae915935456..c614a561f40d1421f14cbefdc5a7b1c2e3ee205e 100644
--- a/Src/Core/FFmmAlgorithmOmp4.hpp
+++ b/Src/Core/FFmmAlgorithmOmp4.hpp
@@ -65,8 +65,8 @@ class FFmmAlgorithmOmp4 : public FAbstractAlgorithm, public FAlgorithmTimers {
     static_assert(sizeof(CellClass) > 1, "CellClass should be greater than one byte to ensure dependency coherency");
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     template <int BlockSize = 256>
     class NoDeps{
@@ -317,7 +317,7 @@ protected:
                 auto apply_M2M = [](KernelClass** kernels_, CellClass* task_cell, CellClass** task_child){
                     multipole_t* const parent_multipole
                         = &(task_cell->getMultipoleData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = task_cell;
 
                     CellClass** children = task_child;
@@ -327,7 +327,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {
                                        return c;
@@ -455,9 +455,9 @@ protected:
                     #pragma omp task firstprivate(taskCell,taskCellLocal, taskNeigh, neighborPositions, idxLevel, counter) depend(commute_if_supported:taskCellLocal[0]) depend(in:taskNeigh[0][0] , taskNeigh[1][0] , taskNeigh[2][0] , taskNeigh[3][0] , taskNeigh[4][0] , taskNeigh[5][0] , taskNeigh[6][0] , taskNeigh[7][0] , taskNeigh[8][0] , taskNeigh[9][0] , taskNeigh[10][0] , taskNeigh[11][0] , taskNeigh[12][0] , taskNeigh[13][0] , taskNeigh[14][0] , taskNeigh[15][0] , taskNeigh[16][0] , taskNeigh[17][0] , taskNeigh[18][0] , taskNeigh[19][0] , taskNeigh[20][0] , taskNeigh[21][0] , taskNeigh[22][0] , taskNeigh[23][0] , taskNeigh[24][0] , taskNeigh[25][0] , taskNeigh[26][0] , taskNeigh[27][0] , taskNeigh[28][0] , taskNeigh[29][0] , taskNeigh[30][0] , taskNeigh[31][0] , taskNeigh[32][0] , taskNeigh[33][0] , taskNeigh[34][0] , taskNeigh[35][0] , taskNeigh[36][0] , taskNeigh[37][0] , taskNeigh[38][0] , taskNeigh[39][0] , taskNeigh[40][0] , taskNeigh[41][0] , taskNeigh[42][0] , taskNeigh[43][0] , taskNeigh[44][0] , taskNeigh[45][0] , taskNeigh[46][0] , taskNeigh[47][0] , taskNeigh[48][0] , taskNeigh[49][0] , taskNeigh[50][0] , taskNeigh[51][0] , taskNeigh[52][0] , taskNeigh[53][0] , taskNeigh[54][0] , taskNeigh[55][0] , taskNeigh[56][0] , taskNeigh[57][0] , taskNeigh[58][0] , taskNeigh[59][0] , taskNeigh[60][0] , taskNeigh[61][0] , taskNeigh[62][0] , taskNeigh[63][0] , taskNeigh[64][0] , taskNeigh[65][0] , taskNeigh[66][0] , taskNeigh[67][0] , taskNeigh[68][0] , taskNeigh[69][0] , taskNeigh[70][0] , taskNeigh[71][0] , taskNeigh[72][0] , taskNeigh[73][0] , taskNeigh[74][0] , taskNeigh[75][0] , taskNeigh[76][0] , taskNeigh[77][0] , taskNeigh[78][0] , taskNeigh[79][0] , taskNeigh[80][0] , taskNeigh[81][0] , taskNeigh[82][0] , taskNeigh[83][0] , taskNeigh[84][0] , taskNeigh[85][0] , taskNeigh[86][0] , taskNeigh[87][0] , taskNeigh[88][0] , taskNeigh[89][0] , taskNeigh[90][0] , taskNeigh[91][0] , taskNeigh[92][0] , taskNeigh[93][0] , taskNeigh[94][0] , taskNeigh[95][0] , taskNeigh[96][0] , taskNeigh[97][0] , taskNeigh[98][0] , taskNeigh[99][0] , taskNeigh[100][0] , taskNeigh[101][0] , taskNeigh[102][0] , taskNeigh[103][0] , taskNeigh[104][0] , taskNeigh[105][0] , taskNeigh[106][0] , taskNeigh[107][0] , taskNeigh[108][0] , taskNeigh[109][0] , taskNeigh[110][0] , taskNeigh[111][0] , taskNeigh[112][0] , taskNeigh[113][0] , taskNeigh[114][0] , taskNeigh[115][0] , taskNeigh[116][0] , taskNeigh[117][0] , taskNeigh[118][0] , taskNeigh[119][0] , taskNeigh[120][0] , taskNeigh[121][0] , taskNeigh[122][0] , taskNeigh[123][0] , taskNeigh[124][0] , taskNeigh[125][0] , taskNeigh[126][0] , taskNeigh[127][0] , taskNeigh[128][0] , taskNeigh[129][0] , taskNeigh[130][0] , taskNeigh[131][0] , taskNeigh[132][0] , taskNeigh[133][0] , taskNeigh[134][0] , taskNeigh[135][0] , taskNeigh[136][0] , taskNeigh[137][0] , taskNeigh[138][0] , taskNeigh[139][0] , taskNeigh[140][0] , taskNeigh[141][0] , taskNeigh[142][0] , taskNeigh[143][0] , taskNeigh[144][0] , taskNeigh[145][0] , taskNeigh[146][0] , taskNeigh[147][0] , taskNeigh[148][0] , taskNeigh[149][0] , taskNeigh[150][0] , taskNeigh[151][0] , taskNeigh[152][0] , taskNeigh[153][0] , taskNeigh[154][0] , taskNeigh[155][0] , taskNeigh[156][0] , taskNeigh[157][0] , taskNeigh[158][0] , taskNeigh[159][0] , taskNeigh[160][0] , taskNeigh[161][0] , taskNeigh[162][0] , taskNeigh[163][0] , taskNeigh[164][0] , taskNeigh[165][0] , taskNeigh[166][0] , taskNeigh[167][0] , taskNeigh[168][0] , taskNeigh[169][0] , taskNeigh[170][0] , taskNeigh[171][0] , taskNeigh[172][0] , taskNeigh[173][0] , taskNeigh[174][0] , taskNeigh[175][0] , taskNeigh[176][0] , taskNeigh[177][0] , taskNeigh[178][0] , taskNeigh[179][0] , taskNeigh[180][0] , taskNeigh[181][0] , taskNeigh[182][0] , taskNeigh[183][0] , taskNeigh[184][0] , taskNeigh[185][0] , taskNeigh[186][0] , taskNeigh[187][0] , taskNeigh[188][0] , taskNeigh[189][0] , taskNeigh[190][0] , taskNeigh[191][0] , taskNeigh[192][0] , taskNeigh[193][0] , taskNeigh[194][0] , taskNeigh[195][0] , taskNeigh[196][0] , taskNeigh[197][0] , taskNeigh[198][0] , taskNeigh[199][0] , taskNeigh[200][0] , taskNeigh[201][0] , taskNeigh[202][0] , taskNeigh[203][0] , taskNeigh[204][0] , taskNeigh[205][0] , taskNeigh[206][0] , taskNeigh[207][0] , taskNeigh[208][0] , taskNeigh[209][0] , taskNeigh[210][0] , taskNeigh[211][0] , taskNeigh[212][0] , taskNeigh[213][0] , taskNeigh[214][0] , taskNeigh[215][0] , taskNeigh[216][0] , taskNeigh[217][0] , taskNeigh[218][0] , taskNeigh[219][0] , taskNeigh[220][0] , taskNeigh[221][0] , taskNeigh[222][0] , taskNeigh[223][0] , taskNeigh[224][0] , taskNeigh[225][0] , taskNeigh[226][0] , taskNeigh[227][0] , taskNeigh[228][0] , taskNeigh[229][0] , taskNeigh[230][0] , taskNeigh[231][0] , taskNeigh[232][0] , taskNeigh[233][0] , taskNeigh[234][0] , taskNeigh[235][0] , taskNeigh[236][0] , taskNeigh[237][0] , taskNeigh[238][0] , taskNeigh[239][0] , taskNeigh[240][0] , taskNeigh[241][0] , taskNeigh[242][0] , taskNeigh[243][0] , taskNeigh[244][0] , taskNeigh[245][0] , taskNeigh[246][0] , taskNeigh[247][0] , taskNeigh[248][0] , taskNeigh[249][0] , taskNeigh[250][0] , taskNeigh[251][0] , taskNeigh[252][0] , taskNeigh[253][0] , taskNeigh[254][0] , taskNeigh[255][0] , taskNeigh[256][0] , taskNeigh[257][0] , taskNeigh[258][0] , taskNeigh[259][0] , taskNeigh[260][0] , taskNeigh[261][0] , taskNeigh[262][0] , taskNeigh[263][0] , taskNeigh[264][0] , taskNeigh[265][0] , taskNeigh[266][0] , taskNeigh[267][0] , taskNeigh[268][0] , taskNeigh[269][0] , taskNeigh[270][0] , taskNeigh[271][0] , taskNeigh[272][0] , taskNeigh[273][0] , taskNeigh[274][0] , taskNeigh[275][0] , taskNeigh[276][0] , taskNeigh[277][0] , taskNeigh[278][0] , taskNeigh[279][0] , taskNeigh[280][0] , taskNeigh[281][0] , taskNeigh[282][0] , taskNeigh[283][0] , taskNeigh[284][0] , taskNeigh[285][0] , taskNeigh[286][0] , taskNeigh[287][0] , taskNeigh[288][0] , taskNeigh[289][0] , taskNeigh[290][0] , taskNeigh[291][0] , taskNeigh[292][0] , taskNeigh[293][0] , taskNeigh[294][0] , taskNeigh[295][0] , taskNeigh[296][0] , taskNeigh[297][0] , taskNeigh[298][0] , taskNeigh[299][0] , taskNeigh[300][0] , taskNeigh[301][0] , taskNeigh[302][0] , taskNeigh[303][0] , taskNeigh[304][0] , taskNeigh[305][0] , taskNeigh[306][0] , taskNeigh[307][0] , taskNeigh[308][0] , taskNeigh[309][0] , taskNeigh[310][0] , taskNeigh[311][0] , taskNeigh[312][0] , taskNeigh[313][0] , taskNeigh[314][0] , taskNeigh[315][0] , taskNeigh[316][0] , taskNeigh[317][0] , taskNeigh[318][0] , taskNeigh[319][0] , taskNeigh[320][0] , taskNeigh[321][0] , taskNeigh[322][0] , taskNeigh[323][0] , taskNeigh[324][0] , taskNeigh[325][0] , taskNeigh[326][0] , taskNeigh[327][0] , taskNeigh[328][0] , taskNeigh[329][0] , taskNeigh[330][0] , taskNeigh[331][0] , taskNeigh[332][0] , taskNeigh[333][0] , taskNeigh[334][0] , taskNeigh[335][0] , taskNeigh[336][0] , taskNeigh[337][0] , taskNeigh[338][0] , taskNeigh[339][0] , taskNeigh[340][0] , taskNeigh[341][0] ) priority_if_supported(idxLevel==FAbstractAlgorithm::lowerWorkingLevel-1?FFmmAlgorithmOmp4_Prio_M2L:FFmmAlgorithmOmp4_Prio_M2L_High)
                     {
 
-                        local_exp_t* const target_local_exp
+                        local_expansion_t* const target_local_exp
                             = &(taskCell->getLocalExpansionData());
-                        const symb_data_t* const target_symbolic
+                        const symbolic_data_t* const target_symbolic
                             = taskCell;
 
                         std::array<const multipole_t*, 342> neighbor_multipoles;
@@ -467,7 +467,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 342> neighbor_symbolics;
+                        std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                         std::transform(taskNeigh, taskNeigh+counter,
                                        neighbor_symbolics.begin(),
                                        [](const CellClass* c) {return c;});
@@ -534,19 +534,19 @@ protected:
                 }
 
                 auto apply_L2L = [](KernelClass** kernels_, CellClass* task_cell, CellClass** task_child){
-                    local_exp_t* const parent_local_exp
+                    local_expansion_t* const parent_local_exp
                         = &(task_cell->getLocalExpansionData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = task_cell;
 
                     CellClass** children = task_child;
-                    std::array<local_exp_t*, 8> child_local_exps;
+                    std::array<local_expansion_t*, 8> child_local_exps;
                     std::transform(children, children+8, child_local_exps.begin(),
                                    [](CellClass* c) {
                                        return (c == nullptr ? nullptr
                                                : &(c->getLocalExpansionData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {
                                        return c;
diff --git a/Src/Core/FFmmAlgorithmPeriodic.hpp b/Src/Core/FFmmAlgorithmPeriodic.hpp
index 683fc9947322d11197a472b6e82dafac17bf6025..e02b2dda2dc4ee0f70eb6a3a52036f4648e91ed1 100644
--- a/Src/Core/FFmmAlgorithmPeriodic.hpp
+++ b/Src/Core/FFmmAlgorithmPeriodic.hpp
@@ -48,8 +48,8 @@ template<class FReal, class OctreeClass, class CellClass, class ContainerClass,
 class FFmmAlgorithmPeriodic : public FAbstractAlgorithm, public FAlgorithmTimers {
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;        //< The octree to work on
     KernelClass* kernels;           //< The kernels
@@ -250,7 +250,7 @@ protected:
             // and the list of particles
             multipole_t* const leaf_multipole
                 = &(octreeIterator.getCurrentCell()->getMultipoleData());
-            const symb_data_t* const leaf_symbolic
+            const symbolic_data_t* const leaf_symbolic
                 = octreeIterator.getCurrentCell();
             FLOG(computationCounter.tic());
             kernels->P2M(leaf_multipole,
@@ -290,7 +290,7 @@ protected:
                 // child is an array (of 8 child) that may be null
                 multipole_t* const parent_multipole
                     = &(octreeIterator.getCurrentCell()->getMultipoleData());
-                const symb_data_t* const parent_symbolic
+                const symbolic_data_t* const parent_symbolic
                     = octreeIterator.getCurrentCell();
 
                 CellClass** children = octreeIterator.getCurrentChildren();
@@ -300,7 +300,7 @@ protected:
                                    return (c == nullptr ? nullptr
                                            : &(c->getMultipoleData()));
                                });
-                std::array<const symb_data_t*, 8> child_symbolics;
+                std::array<const symbolic_data_t*, 8> child_symbolics;
                 std::transform(children, children+8, child_symbolics.begin(),
                                [](CellClass* c) {return c;});
                 FLOG(computationCounter.tic());
@@ -350,12 +350,12 @@ protected:
                     continue;
                 }
 
-                local_exp_t* const target_local_exp
+                local_expansion_t* const target_local_exp
                     = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                const symb_data_t* const target_symbolic
+                const symbolic_data_t* const target_symbolic
                     = octreeIterator.getCurrentCell();
                 std::array<const multipole_t*, 342> neighbor_multipoles;
-                std::array<const symb_data_t*, 342> neighbor_symbolics;
+                std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                 std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
                                [](const CellClass* c) {
                                    return (c == nullptr ? nullptr
@@ -408,17 +408,17 @@ protected:
 
             // for each cells
             do{
-                local_exp_t* const parent_local_exp
+                local_expansion_t* const parent_local_exp
                     = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                const symb_data_t* const parent_symbolic
+                const symbolic_data_t* const parent_symbolic
                     = octreeIterator.getCurrentCell();
                 CellClass** children = octreeIterator.getCurrentChildren();
-                std::array<local_exp_t*, 8> child_local_expansions;
+                std::array<local_expansion_t*, 8> child_local_expansions;
                 std::transform(children, children+8, child_local_expansions.begin(),
                                [](CellClass* c) {return (c == nullptr ? nullptr
                                                          : &(c->getLocalExpansionData()));
                                });
-                std::array<symb_data_t*, 8> child_symbolics;
+                std::array<symbolic_data_t*, 8> child_symbolics;
                 std::transform(children, children+8, child_symbolics.begin(),
                                [](CellClass* c) {return c;});
                 FLOG(computationCounter.tic());
@@ -584,7 +584,7 @@ protected:
 
                 multipole_t* const real_tree_root_multipole
                     = &((&upperCells[offsetRealTree-1])->getMultipoleData());
-                const symb_data_t* const real_tree_root_symbolic
+                const symbolic_data_t* const real_tree_root_symbolic
                     = &(upperCells[offsetRealTree-1]);
 
                 CellClass** children = octreeIterator.getCurrentBox();
@@ -595,7 +595,7 @@ protected:
                                    return (c == nullptr ? nullptr
                                            : &(c->getMultipoleData()));
                                });
-                std::array<const symb_data_t*, 8> level_1_symbolics;
+                std::array<const symbolic_data_t*, 8> level_1_symbolics;
                 std::transform(children, children+8, level_1_symbolics.begin(),
                                [](CellClass* c) {return c;});
                 // TODO check that parent symbolic has the right level
@@ -614,13 +614,13 @@ protected:
 
                     multipole_t* const virtual_parent_multipole
                         = &((&upperCells[idxLevel-1])->getMultipoleData());
-                    const symb_data_t* const virtual_parent_symbolic
+                    const symbolic_data_t* const virtual_parent_symbolic
                         = &(upperCells[idxLevel-1]);
 
                     std::array<const multipole_t*, 8> virtual_child_multipoles;
                     std::transform(children, children+8, virtual_child_multipoles.begin(),
                                    [](CellClass* c) {return &(c->getMultipoleData());});
-                    std::array<const symb_data_t*, 8> virtual_child_symbolics;
+                    std::array<const symbolic_data_t*, 8> virtual_child_symbolics;
                     std::transform(children, children+8, virtual_child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
 
@@ -659,12 +659,12 @@ protected:
                     }
                 }
 
-                local_exp_t* const target_local_exp
+                local_expansion_t* const target_local_exp
                     = &(downerCells[idxUpperLevel-1].getLocalExpansionData());
-                const symb_data_t* const target_symbolic
+                const symbolic_data_t* const target_symbolic
                     = &downerCells[idxUpperLevel-1];
                 std::array<const multipole_t*, 342> neighbor_multipoles;
-                std::array<const symb_data_t*, 342> neighbor_symbolics;
+                std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                 std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
                                [](const CellClass* c) {return &(c->getMultipoleData());});
                 std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
@@ -697,12 +697,12 @@ protected:
                     }
                 }
 
-                local_exp_t* const target_local_exp
+                local_expansion_t* const target_local_exp
                     = &(downerCells[idxUpperLevel-1].getLocalExpansionData());
-                const symb_data_t* const target_symbolic
+                const symbolic_data_t* const target_symbolic
                     = &downerCells[idxUpperLevel-1];
                 std::array<const multipole_t*, 342> neighbor_multipoles;
-                std::array<const symb_data_t*, 342> neighbor_symbolics;
+                std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                 std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
                                [](const CellClass* c) {
                                    return (c == nullptr ? nullptr
@@ -724,12 +724,12 @@ protected:
 
             // Run the L2L for all but the lowest virtual levels
             {
-                std::array<local_exp_t*, 8> virtual_child_local_exps = {};
-                std::array<symb_data_t*, 8> virtual_child_symbolics = {};
+                std::array<local_expansion_t*, 8> virtual_child_local_exps = {};
+                std::array<symbolic_data_t*, 8> virtual_child_symbolics = {};
                 for(int idxLevel = 2 ; idxLevel < offsetRealTree-1  ; ++idxLevel){
-                    local_exp_t* const virtual_parent_local_exp
+                    local_expansion_t* const virtual_parent_local_exp
                         = &(downerCells[idxLevel-1].getLocalExpansionData());
-                    const symb_data_t* const virtual_parent_symbolic
+                    const symbolic_data_t* const virtual_parent_symbolic
                         = &downerCells[idxLevel-1];
 
                     virtual_child_local_exps[0]
@@ -747,12 +747,12 @@ protected:
             }
             // Run the L2L for the lowest virtual level
             {
-                std::array<local_exp_t*, 8> virtual_child_local_exps = {};
-                std::array<symb_data_t*, 8> virtual_child_symbolics = {};
+                std::array<local_expansion_t*, 8> virtual_child_local_exps = {};
+                std::array<symbolic_data_t*, 8> virtual_child_symbolics = {};
                 const int idxLevel = offsetRealTree-1;
-                local_exp_t* const virtual_parent_local_exp
+                local_expansion_t* const virtual_parent_local_exp
                     = &(downerCells[idxLevel-1].getLocalExpansionData());
-                const symb_data_t* const virtual_parent_symbolic
+                const symbolic_data_t* const virtual_parent_symbolic
                     = &downerCells[idxLevel-1];
                 virtual_child_local_exps[7] = &(downerCells[idxLevel].getLocalExpansionData());
                 virtual_child_symbolics[7] = &downerCells[idxLevel];
@@ -769,18 +769,18 @@ protected:
                 typename OctreeClass::Iterator octreeIterator(tree);
                 octreeIterator.gotoLeft();
 
-                local_exp_t* const virtual_parent_local_exp
+                local_expansion_t* const virtual_parent_local_exp
                     = &(downerCells[offsetRealTree-1].getLocalExpansionData());
-                const symb_data_t* const virtual_parent_symbolic
+                const symbolic_data_t* const virtual_parent_symbolic
                     = &downerCells[offsetRealTree-1];
 
                 CellClass** children = octreeIterator.getCurrentBox();
-                std::array<local_exp_t*, 8> child_local_expansions;
+                std::array<local_expansion_t*, 8> child_local_expansions;
                 std::transform(children, children+8, child_local_expansions.begin(),
                                [](CellClass* c) {return (c == nullptr ? nullptr
                                                          : &(c->getLocalExpansionData()));
                                });
-                std::array<symb_data_t*, 8> child_symbolics;
+                std::array<symbolic_data_t*, 8> child_symbolics;
                 std::transform(children, children+8, child_symbolics.begin(),
                                [](CellClass* c) {return c;});
 
diff --git a/Src/Core/FFmmAlgorithmSectionTask.hpp b/Src/Core/FFmmAlgorithmSectionTask.hpp
index 3dfa1c1b25f697c6b84361ed1cef4378a01eae49..5b34f187dbee43f1412a221b7ad1f6917aa291fb 100644
--- a/Src/Core/FFmmAlgorithmSectionTask.hpp
+++ b/Src/Core/FFmmAlgorithmSectionTask.hpp
@@ -56,8 +56,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmSectionTask : public FAbstractAlgorithm, public FAlgorithmTimers {
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;  ///< The octree to work on
     KernelClass** kernels;    ///< The kernels
@@ -223,7 +223,7 @@ protected:
                 {
                     multipole_t* const parent_multipole
                         = &(octreeIterator.getCurrentCell()->getMultipoleData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = octreeIterator.getCurrentCell();
 
                     CellClass** children = octreeIterator.getCurrentChildren();
@@ -233,7 +233,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
                     kernels[omp_get_thread_num()]->M2M(parent_multipole,
@@ -301,9 +301,9 @@ protected:
                 if(counter){
                     #pragma omp task firstprivate(octreeIterator, neighbors, neighborPositions, counter,idxLevel)
                     {
-                        local_exp_t* const target_local_exp
+                        local_expansion_t* const target_local_exp
                             = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* const target_symbolic
+                        const symbolic_data_t* const target_symbolic
                             = octreeIterator.getCurrentCell();
                         std::array<const multipole_t*, 342> neighbor_multipoles;
                         std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
@@ -311,7 +311,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 342> neighbor_symbolics;
+                        std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                         std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
                                        [](const CellClass* c) {return c;});
 
@@ -372,9 +372,9 @@ protected:
                 if(counter){
                     #pragma omp task firstprivate(octreeIterator, neighbors, neighborPositions, counter,idxLevel)
                     {
-                        local_exp_t* const target_local_exp
+                        local_expansion_t* const target_local_exp
                             = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* const target_symbolic
+                        const symbolic_data_t* const target_symbolic
                             = octreeIterator.getCurrentCell();
                         std::array<const multipole_t*, 342> neighbor_multipoles;
                         std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
@@ -382,7 +382,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 342> neighbor_symbolics;
+                        std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                         std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
                                        [](const CellClass* c) {return c;});
 
@@ -433,17 +433,17 @@ protected:
             do{
                 #pragma omp task firstprivate(octreeIterator,idxLevel)
                 {
-                    local_exp_t* const parent_local_exp
+                    local_expansion_t* const parent_local_exp
                         = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = octreeIterator.getCurrentCell();
                     CellClass** children = octreeIterator.getCurrentChildren();
-                    std::array<local_exp_t*, 8> child_local_expansions;
+                    std::array<local_expansion_t*, 8> child_local_expansions;
                     std::transform(children, children+8, child_local_expansions.begin(),
                                    [](CellClass* c) {return (c == nullptr ? nullptr
                                                              : &(c->getLocalExpansionData()));
                                    });
-                    std::array<symb_data_t*, 8> child_symbolics;
+                    std::array<symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
                     kernels[omp_get_thread_num()]->L2L(
diff --git a/Src/Core/FFmmAlgorithmTask.hpp b/Src/Core/FFmmAlgorithmTask.hpp
index a79b15dc8597dc8d1debc5c604157dc7537e5cda..07dfb0d1155719a6d73f298df0d25f47a8cce3d0 100644
--- a/Src/Core/FFmmAlgorithmTask.hpp
+++ b/Src/Core/FFmmAlgorithmTask.hpp
@@ -50,8 +50,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmTask : public FAbstractAlgorithm, public FAlgorithmTimers {
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;       //< The octree to work on
     KernelClass** kernels;    //< The kernels
@@ -218,7 +218,7 @@ protected:
                         {
                             multipole_t* const parent_multipole
                                 = &(octreeIterator.getCurrentCell()->getMultipoleData());
-                            const symb_data_t* const parent_symbolic
+                            const symbolic_data_t* const parent_symbolic
                                 = octreeIterator.getCurrentCell();
 
                             CellClass** children = octreeIterator.getCurrentChildren();
@@ -228,7 +228,7 @@ protected:
                                                return (c == nullptr ? nullptr
                                                        : &(c->getMultipoleData()));
                                            });
-                            std::array<const symb_data_t*, 8> child_symbolics;
+                            std::array<const symbolic_data_t*, 8> child_symbolics;
                             std::transform(children, children+8, child_symbolics.begin(),
                                            [](CellClass* c) {return c;});
                             kernels[omp_get_thread_num()]->M2M(parent_multipole,
@@ -305,9 +305,9 @@ protected:
                                 idxLevel, separationCriteria);
 
                             if(counter) {
-                                local_exp_t* const target_local_exp
+                                local_expansion_t* const target_local_exp
                                     = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                                const symb_data_t* const target_symbolic
+                                const symbolic_data_t* const target_symbolic
                                     = octreeIterator.getCurrentCell();
                                 std::array<const multipole_t*, 342> neighbor_multipoles;
                                 std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
@@ -315,7 +315,7 @@ protected:
                                                    return (c == nullptr ? nullptr
                                                            : &(c->getMultipoleData()));
                                                });
-                                std::array<const symb_data_t*, 342> neighbor_symbolics;
+                                std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                                 std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
                                                [](const CellClass* c) {return c;});
 
@@ -379,9 +379,9 @@ protected:
 
                             if(counter) {
 
-                                local_exp_t* const target_local_exp
+                                local_expansion_t* const target_local_exp
                                     = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                                const symb_data_t* const target_symbolic
+                                const symbolic_data_t* const target_symbolic
                                     = octreeIterator.getCurrentCell();
                                 std::array<const multipole_t*, 342> neighbor_multipoles;
                                 std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
@@ -389,7 +389,7 @@ protected:
                                                    return (c == nullptr ? nullptr
                                                            : &(c->getMultipoleData()));
                                                });
-                                std::array<const symb_data_t*, 342> neighbor_symbolics;
+                                std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                                 std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
                                                [](const CellClass* c) {return c;});
 
@@ -453,17 +453,17 @@ protected:
                     do{
                         #pragma omp task firstprivate(octreeIterator,idxLevel)
                         {
-                            local_exp_t* const parent_local_exp
+                            local_expansion_t* const parent_local_exp
                                 = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                            const symb_data_t* const parent_symbolic
+                            const symbolic_data_t* const parent_symbolic
                                 = octreeIterator.getCurrentCell();
                             CellClass** children = octreeIterator.getCurrentChildren();
-                            std::array<local_exp_t*, 8> child_local_expansions;
+                            std::array<local_expansion_t*, 8> child_local_expansions;
                             std::transform(children, children+8, child_local_expansions.begin(),
                                            [](CellClass* c) {return (c == nullptr ? nullptr
                                                                      : &(c->getLocalExpansionData()));
                                            });
-                            std::array<symb_data_t*, 8> child_symbolics;
+                            std::array<symbolic_data_t*, 8> child_symbolics;
                             std::transform(children, children+8, child_symbolics.begin(),
                                            [](CellClass* c) {return c;});
                             kernels[omp_get_thread_num()]->L2L(
diff --git a/Src/Core/FFmmAlgorithmThread.hpp b/Src/Core/FFmmAlgorithmThread.hpp
index 8dae8baaed3b226dce1d79a28ec81ba05cdb52e7..8f6aad85836a830583e4eb2307215480e366e559 100644
--- a/Src/Core/FFmmAlgorithmThread.hpp
+++ b/Src/Core/FFmmAlgorithmThread.hpp
@@ -53,8 +53,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmThread : public FAbstractAlgorithm, public FAlgorithmTimers{
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;                  ///< The octree to work on.
     KernelClass** kernels;                    ///< The kernels.
@@ -282,7 +282,7 @@ protected:
 
                     multipole_t* const parent_multipole
                         = &(iterArray[idxCell].getCurrentCell()->getMultipoleData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = iterArray[idxCell].getCurrentCell();
 
                     CellClass** children = iterArray[idxCell].getCurrentChildren();
@@ -292,7 +292,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {
                                        return c;
@@ -375,9 +375,9 @@ protected:
                     const int counter = tree->getInteractionNeighbors(neighbors, neighborPositions, iterArray[idxCell].getCurrentGlobalCoordinate(), idxLevel, separationCriteria);
                     if(counter) {
 
-                        local_exp_t* const target_local_exp
+                        local_expansion_t* const target_local_exp
                             = &(iterArray[idxCell].getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* const target_symbolic
+                        const symbolic_data_t* const target_symbolic
                             = iterArray[idxCell].getCurrentCell();
 
                         std::array<const multipole_t*, 342> neighbor_multipoles;
@@ -387,7 +387,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 342> neighbor_symbolics;
+                        std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                         std::transform(neighbors, neighbors+counter,
                                        neighbor_symbolics.begin(),
                                        [](const CellClass* c) {return c;});
@@ -455,19 +455,19 @@ protected:
                 #pragma omp for nowait schedule(dynamic, chunkSize)
                 for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
 
-                    local_exp_t* const parent_local_exp
+                    local_expansion_t* const parent_local_exp
                         = &(iterArray[idxCell].getCurrentCell()->getLocalExpansionData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = iterArray[idxCell].getCurrentCell();
 
-                    std::array<local_exp_t*, 8> child_expansions;
+                    std::array<local_expansion_t*, 8> child_expansions;
                     CellClass** children = iterArray[idxCell].getCurrentChildren();
                     std::transform(children, children+8, child_expansions.begin(),
                                    [](CellClass* c) {
                                        return (c == nullptr ? nullptr
                                                : &(c->getLocalExpansionData()));
                                    });
-                    std::array<symb_data_t*, 8> child_symbolics;
+                    std::array<symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
 
diff --git a/Src/Core/FFmmAlgorithmThreadBalance.hpp b/Src/Core/FFmmAlgorithmThreadBalance.hpp
index c7e81e3e9ab447bbd9a259780d4173ef13d7417d..3efbafbef6aa1a4b8b73ccf3ab7560cc8282cf66 100644
--- a/Src/Core/FFmmAlgorithmThreadBalance.hpp
+++ b/Src/Core/FFmmAlgorithmThreadBalance.hpp
@@ -38,8 +38,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmThreadBalance : public FAbstractAlgorithm, public FAlgorithmTimers{
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;                  ///< The octree to work on.
     KernelClass** kernels;                    ///< The kernels.
@@ -515,7 +515,7 @@ protected:
                     // child is an array (of 8 child) that may be null
                     multipole_t* const parent_multipole
                         = &(octreeIterator.getCurrentCell()->getMultipoleData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = octreeIterator.getCurrentCell();
 
                     CellClass** children = octreeIterator.getCurrentChildren();
@@ -525,7 +525,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
                     myThreadkernels->M2M(parent_multipole,
@@ -594,9 +594,9 @@ protected:
                         idxLevel, separationCriteria);
 
                     if(counter) {
-                        local_exp_t* const target_local_exp
+                        local_expansion_t* const target_local_exp
                             = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* const target_symbolic
+                        const symbolic_data_t* const target_symbolic
                             = octreeIterator.getCurrentCell();
                         std::array<const multipole_t*, 342> neighbor_multipoles;
                         std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
@@ -604,7 +604,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 342> neighbor_symbolics;
+                        std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                         std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
                                        [](const CellClass* c) {return c;});
 
@@ -660,17 +660,17 @@ protected:
                 typename OctreeClass::Iterator octreeIterator( workloadL2L[idxLevel][omp_get_thread_num()].iterator);
 
                 for(int idxCell = 0 ; idxCell < nbCellsToCompute ; ++idxCell){
-                    local_exp_t* const parent_local_exp
+                    local_expansion_t* const parent_local_exp
                         = &(octreeIterator.getCurrentCell()->getLocalExpansionData());
-                    const symb_data_t* const parent_symbolic
+                    const symbolic_data_t* const parent_symbolic
                         = octreeIterator.getCurrentCell();
                     CellClass** children = octreeIterator.getCurrentChildren();
-                    std::array<local_exp_t*, 8> child_local_expansions;
+                    std::array<local_expansion_t*, 8> child_local_expansions;
                     std::transform(children, children+8, child_local_expansions.begin(),
                                    [](CellClass* c) {return (c == nullptr ? nullptr
                                                              : &(c->getLocalExpansionData()));
                                    });
-                    std::array<symb_data_t*, 8> child_symbolics;
+                    std::array<symbolic_data_t*, 8> child_symbolics;
                     std::transform(children, children+8, child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
                     myThreadkernels->L2L(
diff --git a/Src/Core/FFmmAlgorithmThreadProc.hpp b/Src/Core/FFmmAlgorithmThreadProc.hpp
index f52ba477edebf22bde32b36e67fc93695f9a0fe3..c3945d2aa8deb3c8827924e0bf28f8fa0047f859 100644
--- a/Src/Core/FFmmAlgorithmThreadProc.hpp
+++ b/Src/Core/FFmmAlgorithmThreadProc.hpp
@@ -70,8 +70,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmThreadProc : public FAbstractAlgorithm, public FAlgorithmTimers {
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
 private:
     OctreeClass* const tree;     ///< The octree to work on
@@ -393,7 +393,7 @@ protected:
             for(int idxLeafs = 0 ; idxLeafs < leafs ; ++idxLeafs){
 
                 multipole_t* leaf_multipole = &(iterArray[idxLeafs].getCurrentCell()->getMultipoleData());
-                symb_data_t* leaf_symbolic  = iterArray[idxLeafs].getCurrentCell();
+                symbolic_data_t* leaf_symbolic  = iterArray[idxLeafs].getCurrentCell();
 
                 auto particles = iterArray[idxLeafs].getCurrentListSrc();
 
@@ -627,7 +627,7 @@ protected:
 
                         multipole_t* parent_multipole
                             = & iterArray[totalNbCellsAtLevel-1].getCurrentCell()->getMultipoleData();
-                        const symb_data_t* parent_symbolic
+                        const symbolic_data_t* parent_symbolic
                             = iterArray[totalNbCellsAtLevel-1].getCurrentCell();
 
                         std::array<const multipole_t*, 8> child_multipoles {};
@@ -635,7 +635,7 @@ protected:
                                        [](CellClass* c) {
                                            return c != nullptr ? &(c->getMultipoleData()) : nullptr;
                                        });
-                        std::array<const symb_data_t*, 8> child_symbolics  {};
+                        std::array<const symbolic_data_t*, 8> child_symbolics  {};
                         std::copy(currentChild, currentChild+8, std::begin(child_symbolics));
 
                         myThreadkernels->M2M(
@@ -657,7 +657,7 @@ protected:
 
                     multipole_t* parent_multipole
                         = &(iterArray[idxCell].getCurrentCell()->getMultipoleData());
-                    const symb_data_t* parent_symbolic
+                    const symbolic_data_t* parent_symbolic
                         = iterArray[idxCell].getCurrentCell();
 
                     const auto* children = iterArray[idxCell].getCurrentChild();
@@ -667,7 +667,7 @@ protected:
                                    [](CellClass* c) {
                                        return c != nullptr ? &(c->getMultipoleData()) : nullptr;
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics  {};
+                    std::array<const symbolic_data_t*, 8> child_symbolics  {};
                     std::copy(children, children+8, std::begin(child_symbolics));
 
                     myThreadkernels->M2M(
@@ -944,9 +944,9 @@ protected:
                                         separationCriteria
                                         );
                                     if(counter) {
-                                        local_exp_t* target_local_expansion
+                                        local_expansion_t* target_local_expansion
                                             = &(iterArray[idxCellToCompute].getCurrentCell()->getLocalExpansionData());
-                                        const symb_data_t* target_symbolic
+                                        const symbolic_data_t* target_symbolic
                                             = iterArray[idxCellToCompute].getCurrentCell();
 
                                         std::array<const multipole_t*, 342> source_multipoles {};
@@ -958,7 +958,7 @@ protected:
                                                                    : nullptr);
                                                        });
 
-                                        std::array<const symb_data_t*, 342> source_symbolics {};
+                                        std::array<const symbolic_data_t*, 342> source_symbolics {};
                                         std::copy(std::begin(neighbors), std::end(neighbors),
                                                   std::begin(source_symbolics));
 
@@ -1091,9 +1091,9 @@ protected:
                         }
                         // need to compute
                         if(counter){
-                            local_exp_t* target_local_expansion
+                            local_expansion_t* target_local_expansion
                                 = &(iterArray[idxCell].getCurrentCell()->getLocalExpansionData());
-                            const symb_data_t* target_symbolic
+                            const symbolic_data_t* target_symbolic
                                 = iterArray[idxCell].getCurrentCell();
 
                             std::array<const multipole_t*, 342> source_multipoles {};
@@ -1105,7 +1105,7 @@ protected:
                                                        : nullptr);
                                            });
 
-                            std::array<const symb_data_t*, 342> source_symbolics {};
+                            std::array<const symbolic_data_t*, 342> source_symbolics {};
                             std::copy(std::begin(neighbors), std::end(neighbors),
                                       std::begin(source_symbolics));
 
@@ -1296,14 +1296,14 @@ protected:
                         // exclude from our working interval nbCellsToSkip-1
                         iterArray[nbCellsToSkip-1].getCurrentCell()->deserializeDown(recvBuffer);
 
-                        const local_exp_t* parent_local_expansion
+                        const local_expansion_t* parent_local_expansion
                             = &(iterArray[nbCellsToSkip-1].getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* parent_symbolic
+                        const symbolic_data_t* parent_symbolic
                             = iterArray[nbCellsToSkip-1].getCurrentCell();
 
                         CellClass** children = iterArray[nbCellsToSkip-1].getCurrentChild();
 
-                        std::array<local_exp_t*, 8> child_local_expansions {};
+                        std::array<local_expansion_t*, 8> child_local_expansions {};
                         std::transform(children, children+8,
                                        std::begin(child_local_expansions),
                                        [](CellClass* c){
@@ -1311,7 +1311,7 @@ protected:
                                                    ? &c->getLocalExpansionData()
                                                    : nullptr);
                                        });
-                        std::array<const symb_data_t*, 8> child_symbolics {};
+                        std::array<const symbolic_data_t*, 8> child_symbolics {};
                         std::copy(children, children+8,
                                   std::begin(child_symbolics));
 
@@ -1333,14 +1333,14 @@ protected:
 #pragma omp for nowait  schedule(dynamic, userChunkSize)
                 for(int idxCell = nbCellsToSkip ; idxCell < totalNbCellsAtLevel ; ++idxCell){
 
-                    const local_exp_t* parent_local_expansion
+                    const local_expansion_t* parent_local_expansion
                         = &(iterArray[idxCell].getCurrentCell()->getLocalExpansionData());
-                    const symb_data_t* parent_symbolic
+                    const symbolic_data_t* parent_symbolic
                         = iterArray[idxCell].getCurrentCell();
 
                     CellClass** children = iterArray[idxCell].getCurrentChild();
 
-                    std::array<local_exp_t*, 8> child_local_expansions {};
+                    std::array<local_expansion_t*, 8> child_local_expansions {};
                     std::transform(children, children+8,
                                    std::begin(child_local_expansions),
                                    [](CellClass* c){
@@ -1348,7 +1348,7 @@ protected:
                                                ? &c->getLocalExpansionData()
                                                : nullptr);
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics {};
+                    std::array<const symbolic_data_t*, 8> child_symbolics {};
                     std::copy(children, children+8,
                               std::begin(child_symbolics));
 
@@ -1658,9 +1658,9 @@ protected:
                                     LeafData& currentIter = leafsDataArray[idxTaskLeaf];
                                     if(l2pEnabled){
 
-                                        const local_exp_t* leaf_local_expansion
+                                        const local_expansion_t* leaf_local_expansion
                                             = &(currentIter.cell->getLocalExpansionData());
-                                        const symb_data_t* leaf_symbolic
+                                        const symbolic_data_t* leaf_symbolic
                                             = currentIter.cell;
 
                                         myThreadkernels->L2P(
diff --git a/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp b/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
index e82f244f1612771f3249380a10b116031e518b59..9777d8fbd216934c29114ebf189435bf00c7f4c1 100644
--- a/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
+++ b/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
@@ -93,8 +93,8 @@ class FFmmAlgorithmThreadProcPeriodic : public FAbstractAlgorithm {
 public:
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     struct Interval{
         MortonIndex leftIndex;
@@ -382,7 +382,7 @@ protected:
             for(int idxLeafs = 0 ; idxLeafs < leafs ; ++idxLeafs) {
                 multipole_t* leaf_multipole
                     = &(iterArray[idxLeafs].getCurrentCell()->getMultipoleData());
-                const symb_data_t* leaf_symbolic
+                const symbolic_data_t* leaf_symbolic
                     = iterArray[idxLeafs].getCurrentCell();
                 myThreadkernels->P2M(
                     leaf_multipole,
@@ -609,7 +609,7 @@ protected:
 
                         multipole_t* parent_multipole
                             = &(iterArray[totalNbCellsAtLevel - 1].getCurrentCell()->getMultipoleData());
-                        const symb_data_t* parent_symbolic
+                        const symbolic_data_t* parent_symbolic
                             = iterArray[totalNbCellsAtLevel - 1].getCurrentCell();
 
                         std::array<const multipole_t*, 8> child_multipoles {};
@@ -618,7 +618,7 @@ protected:
                                            return (c == nullptr ? nullptr
                                                    : &(c->getMultipoleData()));
                                        });
-                        std::array<const symb_data_t*, 8> child_symbolics {};
+                        std::array<const symbolic_data_t*, 8> child_symbolics {};
                         std::copy(children, children+8,
                                   std::begin(child_symbolics));
 
@@ -643,7 +643,7 @@ protected:
 
                     multipole_t* parent_multipole
                         = &(iterArray[idxCell].getCurrentCell()->getMultipoleData());
-                    const symb_data_t* parent_symbolic
+                    const symbolic_data_t* parent_symbolic
                         = iterArray[idxCell].getCurrentCell();
 
                     std::array<const multipole_t*, 8> child_multipoles {};
@@ -652,7 +652,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics {};
+                    std::array<const symbolic_data_t*, 8> child_symbolics {};
                     std::copy(children, children+8,
                               std::begin(child_symbolics));
 
@@ -743,7 +743,7 @@ protected:
 
             multipole_t* parent_multipole
                 = &(rootCellFromProc.getMultipoleData());
-            const symb_data_t* parent_symbolic
+            const symbolic_data_t* parent_symbolic
                 = &(rootCellFromProc);
 
             std::array<const multipole_t*, 8> child_multipoles {};
@@ -754,7 +754,7 @@ protected:
                                    ? nullptr
                                    : &(c->getMultipoleData());
                            });
-            std::array<const symb_data_t*, 8> child_symbolics {};
+            std::array<const symbolic_data_t*, 8> child_symbolics {};
 
 
 
@@ -1043,10 +1043,10 @@ protected:
                                                                             idxLevel, AllDirs, separationCriteria);
 
                                     if(counter) {
-                                        local_exp_t* target_local_expansion
+                                        local_expansion_t* target_local_expansion
                                             = &(iterArray[idxCellToCompute].getCurrentCell()
                                                 ->getLocalExpansionData());
-                                        const symb_data_t* target_symbolic
+                                        const symbolic_data_t* target_symbolic
                                             = iterArray[idxCellToCompute].getCurrentCell();
 
                                         std::array<const multipole_t*, 342> source_multipoles {};
@@ -1057,7 +1057,7 @@ protected:
                                                                ? nullptr
                                                                : &(c->getMultipoleData());
                                                        });
-                                        std::array<const symb_data_t*, 342> source_symbolics  {};
+                                        std::array<const symbolic_data_t*, 342> source_symbolics  {};
                                         std::copy(neighbors, neighbors + counter,
                                                   std::begin(source_symbolics));
 
@@ -1188,9 +1188,9 @@ protected:
                         }
                         // need to compute
                         if(counter) {
-                            local_exp_t* target_local_expansion
+                            local_expansion_t* target_local_expansion
                                 = &(iterArray[idxCell].getCurrentCell()->getLocalExpansionData());
-                            const symb_data_t* target_symbolic
+                            const symbolic_data_t* target_symbolic
                                 = iterArray[idxCell].getCurrentCell();
 
                             std::array<const multipole_t*, 342> source_multipoles {};
@@ -1201,7 +1201,7 @@ protected:
                                                    ? nullptr
                                                    : &(c->getMultipoleData());
                                            });
-                            std::array<const symb_data_t*, 342> source_symbolics  {};
+                            std::array<const symbolic_data_t*, 342> source_symbolics  {};
                             std::copy(neighbors, neighbors + counter,
                                       std::begin(source_symbolics));
 
@@ -1293,13 +1293,13 @@ protected:
         }
 
         {
-            const local_exp_t* parent_local_expansion
+            const local_expansion_t* parent_local_expansion
                 = &(rootCellFromProc.getLocalExpansionData());
-            const symb_data_t* parent_symbolic
+            const symbolic_data_t* parent_symbolic
                 = &(rootCellFromProc);
 
             CellClass ** children = octreeIterator.getCurrentBox();
-            std::array<local_exp_t*, 8> child_local_expansions {};
+            std::array<local_expansion_t*, 8> child_local_expansions {};
             std::transform(children, children + 8,
                            std::begin(child_local_expansions),
                            [](CellClass* c) {
@@ -1307,7 +1307,7 @@ protected:
                                    ? nullptr
                                    : &(c->getLocalExpansionData());
                            });
-            std::array<const symb_data_t*, 8> child_symbolics {};
+            std::array<const symbolic_data_t*, 8> child_symbolics {};
             std::copy(children, children + 8, std::begin(child_symbolics));
 
 
@@ -1434,13 +1434,13 @@ protected:
                         // exclude from our working interval nbCellsToSkip-1
                         iterArray[nbCellsToSkip-1].getCurrentCell()->deserializeDown(recvBuffer);
 
-                        const local_exp_t* parent_local_expansion
+                        const local_expansion_t* parent_local_expansion
                             = &(iterArray[nbCellsToSkip-1].getCurrentCell()->getLocalExpansionData());
-                        const symb_data_t* parent_symbolic
+                        const symbolic_data_t* parent_symbolic
                             = iterArray[nbCellsToSkip-1].getCurrentCell();
 
                         CellClass ** children = iterArray[nbCellsToSkip-1].getCurrentChild();
-                        std::array<local_exp_t*, 8> child_local_expansions {};
+                        std::array<local_expansion_t*, 8> child_local_expansions {};
                         std::transform(children, children + 8,
                                        std::begin(child_local_expansions),
                                        [](CellClass* c) {
@@ -1448,7 +1448,7 @@ protected:
                                                ? nullptr
                                                : &(c->getLocalExpansionData());
                                        });
-                        std::array<const symb_data_t*, 8> child_symbolics {};
+                        std::array<const symbolic_data_t*, 8> child_symbolics {};
                         std::copy(children, children + 8, std::begin(child_symbolics));
 
                         myThreadkernels->L2L(
@@ -1469,13 +1469,13 @@ protected:
                 #pragma omp for nowait
                 for(int idxCell = nbCellsToSkip ; idxCell < totalNbCellsAtLevel ; ++idxCell){
 
-                    const local_exp_t* parent_local_expansion
+                    const local_expansion_t* parent_local_expansion
                         = &(iterArray[idxCell].getCurrentCell()->getLocalExpansionData());
-                    const symb_data_t* parent_symbolic
+                    const symbolic_data_t* parent_symbolic
                         = iterArray[idxCell].getCurrentCell();
 
                     CellClass ** children = iterArray[idxCell].getCurrentChild();
-                    std::array<local_exp_t*, 8> child_local_expansions {};
+                    std::array<local_expansion_t*, 8> child_local_expansions {};
                     std::transform(children, children + 8,
                                    std::begin(child_local_expansions),
                                    [](CellClass* c) {
@@ -1483,7 +1483,7 @@ protected:
                                            ? nullptr
                                            : &(c->getLocalExpansionData());
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics {};
+                    std::array<const symbolic_data_t*, 8> child_symbolics {};
                     std::copy(children, children + 8, std::begin(child_symbolics));
 
                     myThreadkernels->L2L(
@@ -1789,9 +1789,9 @@ protected:
                                 for(int idxTaskLeaf = idxLeafs ; idxTaskLeaf < (idxLeafs + nbLeavesInTask) ; ++idxTaskLeaf){
                                     LeafData& currentIter = leafsDataArray[idxTaskLeaf];
                                     if(l2pEnabled){
-                                        const local_exp_t* leaf_local_expansion
+                                        const local_expansion_t* leaf_local_expansion
                                             = &(currentIter.cell->getLocalExpansionData());
-                                        const symb_data_t* leaf_symbolic
+                                        const symbolic_data_t* leaf_symbolic
                                             = currentIter.cell;
                                         myThreadkernels->L2P(
                                             leaf_local_expansion,
@@ -2153,10 +2153,10 @@ protected:
 
             std::unique_ptr<multipole_t[]> virtual_multipoles
                 (new multipole_t[offsetRealTree] {});
-            std::unique_ptr<local_exp_t[]> virtual_local_expansions
-                (new local_exp_t[offsetRealTree] {});
-            std::unique_ptr<symb_data_t[]> virtual_symbolics
-                (new symb_data_t[offsetRealTree] {});
+            std::unique_ptr<local_expansion_t[]> virtual_local_expansions
+                (new local_expansion_t[offsetRealTree] {});
+            std::unique_ptr<symbolic_data_t[]> virtual_symbolics
+                (new symbolic_data_t[offsetRealTree] {});
 
             for(int i = 0; i < offsetRealTree; ++i) {
                 virtual_symbolics[i].setLevel(i+1);
@@ -2167,13 +2167,13 @@ protected:
                 const int idxLevel = offsetRealTree-1;
                 multipole_t* parent_multipole
                     = &(virtual_multipoles[idxLevel-1]);
-                symb_data_t* parent_symbolic
+                symbolic_data_t* parent_symbolic
                     = &(virtual_symbolics[idxLevel-1]);
 
                 std::array<const multipole_t*, 8> child_multipoles {};
                 std::fill(std::begin(child_multipoles), std::end(child_multipoles),
                           &(rootCellFromProc.getMultipoleData()));
-                std::array<const symb_data_t*, 8> child_symbolics {};
+                std::array<const symbolic_data_t*, 8> child_symbolics {};
                 std::fill(std::begin(child_symbolics), std::end(child_symbolics),
                           &(rootCellFromProc));
 
@@ -2186,11 +2186,11 @@ protected:
             }
             {
                 std::array<const multipole_t*, 8> child_multipoles {};
-                std::array<const symb_data_t*, 8> child_symbolics {};
+                std::array<const symbolic_data_t*, 8> child_symbolics {};
                 for(int idxLevel = offsetRealTree-1-1 ; idxLevel > 1  ; --idxLevel){
                     multipole_t* parent_multipole
                         = &(virtual_multipoles[idxLevel-1]);
-                    symb_data_t* parent_symbolic
+                    symbolic_data_t* parent_symbolic
                         = &(virtual_symbolics[idxLevel-1]);
                     std::fill(std::begin(child_multipoles), std::end(child_multipoles),
                               &(virtual_multipoles[idxLevel]));
@@ -2208,13 +2208,13 @@ protected:
             {
                 const int idxUpperLevel = 2;
 
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(virtual_local_expansions[idxUpperLevel-1]);
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(virtual_symbolics[idxUpperLevel-1]);
 
                 std::array<const multipole_t*, 342> source_multipoles {};
-                std::array<const symb_data_t*, 342> source_symbolics  {};
+                std::array<const symbolic_data_t*, 342> source_symbolics  {};
 
                 int neighborPositions[342];
                 int counter = 0;
@@ -2242,13 +2242,13 @@ protected:
             }
 
             for(int idxUpperLevel = 3 ; idxUpperLevel <= offsetRealTree-1 ; ++idxUpperLevel) {
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(virtual_local_expansions[idxUpperLevel-1]);
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(virtual_symbolics[idxUpperLevel-1]);
 
                 std::array<const multipole_t*, 342> source_multipoles {};
-                std::array<const symb_data_t*, 342> source_symbolics  {};
+                std::array<const symbolic_data_t*, 342> source_symbolics  {};
 
                 int neighborPositions[342];
                 int counter = 0;
@@ -2275,13 +2275,13 @@ protected:
                     );
             }
             {
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(rootCellFromProc.getLocalExpansionData());
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(rootCellFromProc);
 
                 std::array<const multipole_t*, 342> source_multipoles {};
-                std::array<const symb_data_t*, 342> source_symbolics  {};
+                std::array<const symbolic_data_t*, 342> source_symbolics  {};
 
                 int neighborPositions[342];
                 int counter = 0;
@@ -2311,12 +2311,12 @@ protected:
             }
 
             {
-                std::array<local_exp_t*, 8> child_local_expansions {};
-                std::array<const symb_data_t*, 8> child_symbolics {};
+                std::array<local_expansion_t*, 8> child_local_expansions {};
+                std::array<const symbolic_data_t*, 8> child_symbolics {};
                 for(int idxLevel = 2 ; idxLevel <= offsetRealTree-1-1  ; ++idxLevel){
-                    const local_exp_t* parent_local_expansion
+                    const local_expansion_t* parent_local_expansion
                         = &(virtual_local_expansions[idxLevel-1]);
-                    const symb_data_t* parent_symbolic
+                    const symbolic_data_t* parent_symbolic
                         = &(virtual_symbolics[idxLevel-1]);
 
                     child_local_expansions[0] = &(virtual_local_expansions[idxLevel]);
@@ -2332,14 +2332,14 @@ protected:
             {
                 const int idxLevel = offsetRealTree-1;
 
-                const local_exp_t* parent_local_expansion
+                const local_expansion_t* parent_local_expansion
                     = &(virtual_local_expansions[idxLevel-1]);
-                const symb_data_t* parent_symbolic
+                const symbolic_data_t* parent_symbolic
                     = &(virtual_symbolics[idxLevel-1]);
 
-                std::array<local_exp_t*, 8> child_local_expansions
+                std::array<local_expansion_t*, 8> child_local_expansions
                 { &(rootCellFromProc.getLocalExpansionData()) };
-                std::array<const symb_data_t*, 8> child_symbolics
+                std::array<const symbolic_data_t*, 8> child_symbolics
                 { &(rootCellFromProc) };
 
                     kernels[0]->L2L(
diff --git a/Src/Core/FFmmAlgorithmThreadTsm.hpp b/Src/Core/FFmmAlgorithmThreadTsm.hpp
index b5d1534ff872e6ec7968ef2dfba64c7d31393f06..4e2485aed16a96619c76e58ad3118c317f2c0e65 100644
--- a/Src/Core/FFmmAlgorithmThreadTsm.hpp
+++ b/Src/Core/FFmmAlgorithmThreadTsm.hpp
@@ -51,8 +51,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmThreadTsm : public FAbstractAlgorithm, public FAlgorithmTimers{
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;                  //< The octree to work on
     KernelClass** kernels;                    //< The kernels
@@ -233,7 +233,7 @@ protected:
 
                     multipole_t* const parent_multipole
                         = &(current_cell->getMultipoleData());
-                    const symb_data_t* const parent_symbolic = current_cell;
+                    const symbolic_data_t* const parent_symbolic = current_cell;
 
                     std::array<const multipole_t*, 8> child_multipoles;
                     std::transform(source_children, source_children+8,
@@ -242,7 +242,7 @@ protected:
                                        return (c == nullptr ? nullptr
                                                : &(c->getMultipoleData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(source_children, source_children+8,
                                    child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
@@ -322,9 +322,9 @@ protected:
                                     }
                                 }
                                 if(counterWithSrc){
-                                    local_exp_t* const target_local_exp
+                                    local_expansion_t* const target_local_exp
                                         = &(current_cell->getLocalExpansionData());
-                                    const symb_data_t* const target_symbolic
+                                    const symbolic_data_t* const target_symbolic
                                         = current_cell;
                                     std::array<const multipole_t*, 342> neighbor_multipoles;
                                     std::transform(neighbors, neighbors+counterWithSrc,
@@ -333,7 +333,7 @@ protected:
                                                        return (c == nullptr ? nullptr
                                                                : &(c->getMultipoleData()));
                                                    });
-                                    std::array<const symb_data_t*, 342> neighbor_symbolics;
+                                    std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                                     std::transform(neighbors, neighbors+counterWithSrc,
                                                    neighbor_symbolics.begin(),
                                                    [](const CellClass* c) {return c;});
@@ -408,18 +408,18 @@ protected:
                             }
 
 
-                            local_exp_t* const parent_expansion
+                            local_expansion_t* const parent_expansion
                                 = &(current_cell->getLocalExpansionData());
-                            const symb_data_t* const parent_symbolic = current_cell;
+                            const symbolic_data_t* const parent_symbolic = current_cell;
 
-                            std::array<local_exp_t*, 8> child_expansions;
+                            std::array<local_expansion_t*, 8> child_expansions;
                             std::transform(target_children, target_children+8,
                                            child_expansions.begin(),
                                            [](CellClass* c) {
                                                return (c == nullptr ? nullptr
                                                        : &(c->getLocalExpansionData()));
                                            });
-                            std::array<const symb_data_t*, 8> child_symbolics;
+                            std::array<const symbolic_data_t*, 8> child_symbolics;
                             std::transform(target_children, target_children+8,
                                            child_symbolics.begin(),
                                            [](CellClass* c) {return c;});
diff --git a/Src/Core/FFmmAlgorithmTsm.hpp b/Src/Core/FFmmAlgorithmTsm.hpp
index 2d13a5483d7005554aba42af88c2e419ea74e3c2..1bc4fd491fbc2e64741bba25a6d9f13e37a65c79 100644
--- a/Src/Core/FFmmAlgorithmTsm.hpp
+++ b/Src/Core/FFmmAlgorithmTsm.hpp
@@ -44,8 +44,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
 class FFmmAlgorithmTsm : public FAbstractAlgorithm{
 
     using multipole_t = typename CellClass::multipole_t;
-    using local_exp_t = typename CellClass::local_expansion_t;
-    using symb_data_t = CellClass;
+    using local_expansion_t = typename CellClass::local_expansion_t;
+    using symbolic_data_t = CellClass;
 
     OctreeClass* const tree;                                                     //< The octree to work on
     KernelClass* const kernels;    //< The kernels
@@ -173,7 +173,7 @@ protected:
 
                 multipole_t* const parent_multipole
                     = &(current_cell->getMultipoleData());
-                const symb_data_t* const parent_symbolic = current_cell;
+                const symbolic_data_t* const parent_symbolic = current_cell;
 
                 std::array<const multipole_t*, 8> child_multipoles;
                 std::transform(source_children, source_children+8,
@@ -182,7 +182,7 @@ protected:
                                    return (c == nullptr ? nullptr
                                            : &(c->getMultipoleData()));
                                });
-                std::array<const symb_data_t*, 8> child_symbolics;
+                std::array<const symbolic_data_t*, 8> child_symbolics;
                 std::transform(source_children, source_children+8,
                                child_symbolics.begin(),
                                [](CellClass* c) {return c;});
@@ -245,9 +245,9 @@ protected:
                             }
                         }
                         if(counterWithSrc){
-                            local_exp_t* const target_local_exp
+                            local_expansion_t* const target_local_exp
                                 = &(current_cell->getLocalExpansionData());
-                            const symb_data_t* const target_symbolic
+                            const symbolic_data_t* const target_symbolic
                                 = current_cell;
                             std::array<const multipole_t*, 342> neighbor_multipoles;
                             std::transform(neighbors, neighbors+counterWithSrc,
@@ -256,7 +256,7 @@ protected:
                                                return (c == nullptr ? nullptr
                                                        : &(c->getMultipoleData()));
                                            });
-                            std::array<const symb_data_t*, 342> neighbor_symbolics;
+                            std::array<const symbolic_data_t*, 342> neighbor_symbolics;
                             std::transform(neighbors, neighbors+counterWithSrc,
                                            neighbor_symbolics.begin(),
                                            [](const CellClass* c) {return c;});
@@ -320,18 +320,18 @@ protected:
                             target_children[idxChild] = realChild[idxChild];
                         }
                     }
-                    local_exp_t* const parent_expansion
+                    local_expansion_t* const parent_expansion
                         = &(current_cell->getLocalExpansionData());
-                    const symb_data_t* const parent_symbolic = current_cell;
+                    const symbolic_data_t* const parent_symbolic = current_cell;
 
-                    std::array<local_exp_t*, 8> child_expansions;
+                    std::array<local_expansion_t*, 8> child_expansions;
                     std::transform(target_children, target_children+8,
                                    child_expansions.begin(),
                                    [](CellClass* c) {
                                        return (c == nullptr ? nullptr
                                                : &(c->getLocalExpansionData()));
                                    });
-                    std::array<const symb_data_t*, 8> child_symbolics;
+                    std::array<const symbolic_data_t*, 8> child_symbolics;
                     std::transform(target_children, target_children+8,
                                    child_symbolics.begin(),
                                    [](CellClass* c) {return c;});
diff --git a/Src/GroupTree/Core/FGroupSeqAlgorithm.hpp b/Src/GroupTree/Core/FGroupSeqAlgorithm.hpp
index 6ffaa73290721d56cb296b3dbfa90ca5d784aa06..05fbe7f5459d970975aae838e9bf90fea7c64ceb 100644
--- a/Src/GroupTree/Core/FGroupSeqAlgorithm.hpp
+++ b/Src/GroupTree/Core/FGroupSeqAlgorithm.hpp
@@ -24,8 +24,8 @@ protected:
 
 public:
     using multipole_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::multipole_t;
-    using local_exp_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::local_exp_t;
-    using symb_data_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::symb_data_t;
+    using local_expansion_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::local_expansion_t;
+    using symbolic_data_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::symbolic_data_t;
 
     FGroupSeqAlgorithm(OctreeClass*const inTree, KernelClass* inKernels) : MaxThreads(1), tree(inTree), kernels(inKernels){
         FAssertLF(tree, "tree cannot be null");
@@ -73,7 +73,7 @@ protected:
 
                 for(int leafIdx = 0 ; leafIdx < (*iterCells)->getNumberOfCellsInBlock() ; ++leafIdx){
                     multipole_t* leaf_multipole = &(*iterCells)->getMultipole(leafIdx);
-                    symb_data_t* leaf_symbolic = &(*iterCells)->getSymbolic(leafIdx);
+                    symbolic_data_t* leaf_symbolic = &(*iterCells)->getSymbolic(leafIdx);
 
                     ParticleContainerClass particles = (*iterParticles)->template getLeaf<ParticleContainerClass>(leafIdx);
                     FAssertLF((*iterCells)->getCellMortonIndex(leafIdx) == (*iterParticles)->getLeafMortonIndex(leafIdx));
@@ -105,10 +105,10 @@ protected:
 
                     for(int cellIdx = 0 ; cellIdx < (*iterCells)->getNumberOfCellsInBlock() ; ++cellIdx){
                         multipole_t* parent_multipole = &(*iterCells)->getMultipole(cellIdx);
-                        symb_data_t* parent_symbolic  = &(*iterCells)->getSymbolic(cellIdx);
+                        symbolic_data_t* parent_symbolic  = &(*iterCells)->getSymbolic(cellIdx);
 
                         std::array<const multipole_t*,8> child_multipoles {};
-                        std::array<const symb_data_t*,8> child_symbolics {};
+                        std::array<const symbolic_data_t*,8> child_symbolics {};
 
                         FAssertLF(iterChildCells != endChildCells);
 
@@ -163,14 +163,14 @@ protected:
 
                 { // Can be a task(inout:iterCells, out:outsideInteractions)
                     std::array<const multipole_t*, 189> neighbour_multipoles {};
-                    std::array<const symb_data_t*, 189> neighbour_symbolics {};
+                    std::array<const symbolic_data_t*, 189> neighbour_symbolics {};
 
                     const MortonIndex blockStartIdx = (*iterCells)->getStartingIndex();
                     const MortonIndex blockEndIdx = (*iterCells)->getEndingIndex();
 
                     for(int cellIdx  = 0 ; cellIdx < (*iterCells)->getNumberOfCellsInBlock() ; ++cellIdx){
-                        local_exp_t* target_local_exp = &(*iterCells)->getLocalExpansion(cellIdx);
-                        symb_data_t* target_symbolic  = &(*iterCells)->getSymbolic(cellIdx);
+                        local_expansion_t* target_local_exp = &(*iterCells)->getLocalExpansion(cellIdx);
+                        symbolic_data_t* target_symbolic  = &(*iterCells)->getSymbolic(cellIdx);
 
                         const MortonIndex mindex = (*iterCells)->getCellMortonIndex(cellIdx);
                         FAssertLF(target_symbolic->getMortonIndex() == mindex);
@@ -188,7 +188,7 @@ protected:
                                 if(cellPos != -1){
                                     const multipole_t* neighbour_multipole
                                         = &(*iterCells)->getMultipole(cellPos);
-                                    const symb_data_t* neighbour_symbolic
+                                    const symbolic_data_t* neighbour_symbolic
                                         = &(*iterCells)->getSymbolic(cellPos);
                                     FAssertLF(neighbour_symbolic->getMortonIndex()
                                               == interactionsIndexes[idxInter]);
@@ -244,20 +244,20 @@ protected:
                         for(int outInterIdx = currentOutInteraction ; outInterIdx < lastOutInteraction ; ++outInterIdx){
                             const int cellPos = (*iterLeftCells)->getCellIndex(outsideInteractions[outInterIdx].outIndex);
                             if(cellPos != -1){
-                                const symb_data_t* inter_symbolic
+                                const symbolic_data_t* inter_symbolic
                                     = &(*iterLeftCells)->getSymbolic(cellPos);
                                 const multipole_t* inter_multipole
                                     = &(*iterLeftCells)->getMultipole(cellPos);
-                                local_exp_t* inter_local_exp
+                                local_expansion_t* inter_local_exp
                                     = &(*iterLeftCells)->getLocalExpansion(cellPos);
 
                                 FAssertLF(inter_symbolic->getMortonIndex()
                                           == outsideInteractions[outInterIdx].outIndex);
-                                const symb_data_t* cell_symbolic
+                                const symbolic_data_t* cell_symbolic
                                     = &(*iterCells)->getSymbolic(outsideInteractions[outInterIdx].insideIdxInBlock);
                                 const multipole_t* cell_multipole
                                     = &(*iterCells)->getMultipole(outsideInteractions[outInterIdx].insideIdxInBlock);
-                                local_exp_t* cell_local_exp
+                                local_expansion_t* cell_local_exp
                                     = &(*iterCells)->getLocalExpansion(outsideInteractions[outInterIdx].insideIdxInBlock);
 
                                 FAssertLF(cell_symbolic->getMortonIndex()
@@ -308,12 +308,12 @@ protected:
                 { // Can be a task(in:iterParticles, inout:iterChildCells ...)
 
                     for(int cellIdx = 0 ; cellIdx < (*iterCells)->getNumberOfCellsInBlock() ; ++cellIdx){
-                        const local_exp_t* parent_local_exp = &(*iterCells)->getLocalExpansion(cellIdx);
-                        const symb_data_t* parent_symbolic  = &(*iterCells)->getSymbolic(cellIdx);
+                        const local_expansion_t* parent_local_exp = &(*iterCells)->getLocalExpansion(cellIdx);
+                        const symbolic_data_t* parent_symbolic  = &(*iterCells)->getSymbolic(cellIdx);
                         FAssertLF(parent_symbolic->getMortonIndex()
                                   == (*iterCells)->getCellMortonIndex(cellIdx));
-                        std::array<local_exp_t*, 8> child_local_expansions {};
-                        std::array<const symb_data_t*, 8> child_symbolics {};
+                        std::array<local_expansion_t*, 8> child_local_expansions {};
+                        std::array<const symbolic_data_t*, 8> child_symbolics {};
 
                         FAssertLF(iterChildCells != endChildCells);
 
@@ -369,8 +369,8 @@ protected:
             while(iterParticles != endParticles && iterCells != endCells){
                 { // Can be a task(in:iterCells, inout:iterParticles)
                     for(int leafIdx = 0 ; leafIdx < (*iterCells)->getNumberOfCellsInBlock() ; ++leafIdx){
-                        const local_exp_t* leaf_local_exp = &(*iterCells)->getLocalExpansion(leafIdx);
-                        const symb_data_t* leaf_symbolic  = &(*iterCells)->getSymbolic(leafIdx);
+                        const local_expansion_t* leaf_local_exp = &(*iterCells)->getLocalExpansion(leafIdx);
+                        const symbolic_data_t* leaf_symbolic  = &(*iterCells)->getSymbolic(leafIdx);
 
                         ParticleContainerClass particles = (*iterParticles)->template getLeaf<ParticleContainerClass>(leafIdx);
                         FAssertLF((*iterCells)->getCellMortonIndex(leafIdx) == (*iterParticles)->getLeafMortonIndex(leafIdx));
diff --git a/Src/GroupTree/Core/FGroupTaskAlgorithm.hpp b/Src/GroupTree/Core/FGroupTaskAlgorithm.hpp
index 5e68d42bb1e5535d134a254c58d3487012010e2b..78bb5256075aff63d3e33e4d005b975a37b8bfe4 100644
--- a/Src/GroupTree/Core/FGroupTaskAlgorithm.hpp
+++ b/Src/GroupTree/Core/FGroupTaskAlgorithm.hpp
@@ -35,8 +35,8 @@ protected:
 
 public:
     using multipole_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::multipole_t;
-    using local_exp_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::local_expansion_t;
-    using symb_data_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::symbolic_data_t;
+    using local_expansion_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::local_expansion_t;
+    using symbolic_data_t = typename std::remove_pointer<typename OctreeClass::CellGroupIterator::value_type>::type::symbolic_data_t;
 
     FGroupTaskAlgorithm(OctreeClass*const inTree, KernelClass* inKernels, const int inMaxThreads = -1)
         : MaxThreads(inMaxThreads==-1?omp_get_max_threads():inMaxThreads), tree(inTree), kernels(nullptr){
@@ -327,7 +327,7 @@ protected:
 
                 for(int leafIdx = 0 ; leafIdx < leafCells->getNumberOfCellsInBlock() ; ++leafIdx){
                     multipole_t* leaf_multipole = &leafCells->getMultipole(leafIdx);
-                    symb_data_t* leaf_symbolic = &leafCells->getSymbolic(leafIdx);
+                    symbolic_data_t* leaf_symbolic = &leafCells->getSymbolic(leafIdx);
                     ParticleContainerClass particles
                         = containers->template getLeaf<ParticleContainerClass>(leafIdx);
 
@@ -386,13 +386,13 @@ protected:
 
                     for(int cellIdx = 0 ; cellIdx < currentCells->getNumberOfCellsInBlock() ; ++cellIdx){
                         multipole_t* parent_multipole = &currentCells->getMultipole(cellIdx);
-                        symb_data_t* parent_symbolic  = &currentCells->getSymbolic(cellIdx);
+                        symbolic_data_t* parent_symbolic  = &currentCells->getSymbolic(cellIdx);
 
                         FAssertLF(parent_symbolic->getMortonIndex()
                                   == currentCells->getCellMortonIndex(cellIdx));
 
                         std::array<const multipole_t*,8> child_multipoles {};
-                        std::array<const symb_data_t*,8> child_symbolics {};
+                        std::array<const symbolic_data_t*,8> child_symbolics {};
 
                         FAssertLF(idxSubCellGroup != nbSubCellGroups);
 
@@ -459,11 +459,11 @@ protected:
                         KernelClass*const kernel = kernels[omp_get_thread_num()];
 
                         std::array<const multipole_t*, 189> neighbour_multipoles {};
-                        std::array<const symb_data_t*, 189> neighbour_symbolics {};
+                        std::array<const symbolic_data_t*, 189> neighbour_symbolics {};
 
                         for(int cellIdx = 0; cellIdx < currentCells->getNumberOfCellsInBlock(); ++cellIdx) {
-                            local_exp_t* target_local_exp = &currentCells->getLocalExpansion(cellIdx);
-                            symb_data_t* target_symbolic  = &currentCells->getSymbolic(cellIdx);
+                            local_expansion_t* target_local_exp = &currentCells->getLocalExpansion(cellIdx);
+                            symbolic_data_t* target_symbolic  = &currentCells->getSymbolic(cellIdx);
 
                             FAssertLF(target_symbolic->getMortonIndex()
                                       == currentCells->getCellMortonIndex(cellIdx));
@@ -481,7 +481,7 @@ protected:
                                     if(cellPos != -1){
                                         const multipole_t* neighbour_multipole
                                             = &currentCells->getMultipole(cellPos);
-                                        const symb_data_t* neighbour_symbolic
+                                        const symbolic_data_t* neighbour_symbolic
                                             = &currentCells->getSymbolic(cellPos);
 
                                         FAssertLF(neighbour_symbolic->getMortonIndex()
@@ -533,21 +533,21 @@ protected:
 
                             for(int outInterIdx = 0 ; outInterIdx < int(outsideInteractions->size()) ; ++outInterIdx) {
                                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
-                                const symb_data_t* inter_symbolic
+                                const symbolic_data_t* inter_symbolic
                                     = & cellsOther->getSymbolic(inter_data.outsideIdxInBlock);
                                 const multipole_t* inter_multipole
                                     = & cellsOther->getMultipole(inter_data.outsideIdxInBlock);
-                                local_exp_t* inter_local_exp
+                                local_expansion_t* inter_local_exp
                                     = & cellsOther->getLocalExpansion(inter_data.outsideIdxInBlock);
 
                                 FAssertLF(inter_symbolic->getMortonIndex()
                                           == inter_data.outIndex);
 
-                                const symb_data_t* cell_symbolic
+                                const symbolic_data_t* cell_symbolic
                                     = &currentCells->getSymbolic(inter_data.insideIdxInBlock);
                                 const multipole_t* cell_multipole
                                     = &currentCells->getMultipole(inter_data.insideIdxInBlock);
-                                local_exp_t* cell_local_exp
+                                local_expansion_t* cell_local_exp
                                     = &currentCells->getLocalExpansion(inter_data.insideIdxInBlock);
 
                                 FAssertLF(cell_symbolic->getMortonIndex() == inter_data.insideIndex);
@@ -630,14 +630,14 @@ protected:
                     FAssertLF(idxChildCell != -1);
 
                     for(int cellIdx = 0 ; cellIdx < currentCells->getNumberOfCellsInBlock() ; ++cellIdx){
-                        const local_exp_t* parent_local_exp = &currentCells->getLocalExpansion(cellIdx);
-                        const symb_data_t* parent_symbolic  = &currentCells->getSymbolic(cellIdx);
+                        const local_expansion_t* parent_local_exp = &currentCells->getLocalExpansion(cellIdx);
+                        const symbolic_data_t* parent_symbolic  = &currentCells->getSymbolic(cellIdx);
 
                         FAssertLF(parent_symbolic->getMortonIndex()
                                   == currentCells->getCellMortonIndex(cellIdx));
 
-                        std::array<local_exp_t*, 8> child_local_expansions {};
-                        std::array<symb_data_t*, 8> child_symbolics {};
+                        std::array<local_expansion_t*, 8> child_local_expansions {};
+                        std::array<symbolic_data_t*, 8> child_symbolics {};
 
                         while(idxSubCellGroup != nbSubCellGroups
                               && (subCellGroups[idxSubCellGroup]->getCellMortonIndex(idxChildCell)>>3) == parent_symbolic->getMortonIndex()) {
@@ -794,8 +794,8 @@ protected:
                 KernelClass*const kernel = kernels[omp_get_thread_num()];
 
                 for(int cellIdx = 0 ; cellIdx < leafCells->getNumberOfCellsInBlock() ; ++cellIdx){
-                    const local_exp_t* leaf_local_exp = &leafCells->getLocalExpansion(cellIdx);
-                    const symb_data_t* leaf_symbolic  = &leafCells->getSymbolic(cellIdx);
+                    const local_expansion_t* leaf_local_exp = &leafCells->getLocalExpansion(cellIdx);
+                    const symbolic_data_t* leaf_symbolic  = &leafCells->getSymbolic(cellIdx);
                     ParticleContainerClass particles
                         = containers->template getLeaf<ParticleContainerClass>(cellIdx);
 
diff --git a/Src/GroupTree/Core/FGroupTaskDepAlgorithm.hpp b/Src/GroupTree/Core/FGroupTaskDepAlgorithm.hpp
index a410a828b5f7dd56726e026b47172529876edb28..0f8ef6190537efc6c3f7c9f93fe69f246accb16f 100644
--- a/Src/GroupTree/Core/FGroupTaskDepAlgorithm.hpp
+++ b/Src/GroupTree/Core/FGroupTaskDepAlgorithm.hpp
@@ -72,8 +72,8 @@ protected:
 
 public:
     using multipole_t = PoleCellClass;
-    using local_exp_t = LocalCellClass;
-    using symb_data_t = SymboleCellClass;
+    using local_expansion_t = LocalCellClass;
+    using symbolic_data_t = SymboleCellClass;
 
     FGroupTaskDepAlgorithm(OctreeClass*const inTree, KernelClass* inKernels, const int inMaxThreads = -1)
         : MaxThreads(inMaxThreads==-1?omp_get_max_threads():inMaxThreads), tree(inTree), kernels(nullptr),
@@ -388,7 +388,7 @@ protected:
 
                 for(int leafIdx = 0 ; leafIdx < leafCells->getNumberOfCellsInBlock() ; ++leafIdx){
                     multipole_t* leaf_multipole = &(leafCells->getMultipole(leafIdx));
-                    symb_data_t* leaf_symbolic = &(leafCells->getSymbolic(leafIdx));
+                    symbolic_data_t* leaf_symbolic = &(leafCells->getSymbolic(leafIdx));
                     ParticleContainerClass particles
                         = containers->template getLeaf<ParticleContainerClass>(leafIdx);
 
@@ -447,10 +447,10 @@ protected:
                         while(true){
                             multipole_t* parent_multipole
                                 = &(currentCells->getMultipole(idxParentCell));
-                            const symb_data_t* parent_symbolic
+                            const symbolic_data_t* parent_symbolic
                                 = &(currentCells->getSymbolic(idxParentCell));
                             std::array<const multipole_t*, 8> child_multipoles {};
-                            std::array<const symb_data_t*, 8> child_symbolics  {};
+                            std::array<const symbolic_data_t*, 8> child_symbolics  {};
 
                             FAssertLF(parent_symbolic->getMortonIndex()
                                       == currentCells->getCellMortonIndex(idxParentCell));
@@ -530,11 +530,11 @@ protected:
                         const MortonIndex blockEndIdx   = currentCells->getEndingIndex();
                         KernelClass * const kernel = kernels[omp_get_thread_num()];
                         std::array<const multipole_t*, 189> inter_multipoles {};
-                        std::array<const symb_data_t*, 189> inter_symbolics  {};
+                        std::array<const symbolic_data_t*, 189> inter_symbolics  {};
 
                         for(int cellIdx = 0 ; cellIdx < currentCells->getNumberOfCellsInBlock() ; ++cellIdx) {
-                            local_exp_t* target_local_expansion = &(currentCells->getLocalExpansion(cellIdx));
-                            const symb_data_t* target_symbolic = &(currentCells->getSymbolic(cellIdx));
+                            local_expansion_t* target_local_expansion = &(currentCells->getLocalExpansion(cellIdx));
+                            const symbolic_data_t* target_symbolic = &(currentCells->getSymbolic(cellIdx));
 
                             FAssertLF(target_symbolic->getMortonIndex()
                                       == currentCells->getCellMortonIndex(cellIdx));
@@ -552,7 +552,7 @@ protected:
                                     if(cellPos != -1){
                                         const multipole_t* inter_multipole
                                             = &(currentCells->getMultipole(cellPos));
-                                        const symb_data_t* inter_symbolic
+                                        const symbolic_data_t* inter_symbolic
                                             = &(currentCells->getSymbolic(cellPos));
 
                                         FAssertLF(inter_symbolic->getMortonIndex()
@@ -612,15 +612,15 @@ protected:
                                 const auto inter_block_out_idx = inter_data.outsideIdxInBlock;
                                 const multipole_t* inter_multipole
                                     = &(cellsOther->getMultipole(inter_block_out_idx));
-                                const symb_data_t* inter_symbolic
+                                const symbolic_data_t* inter_symbolic
                                     = &(cellsOther->getSymbolic(inter_block_out_idx));
 
                                 FAssertLF(inter_symbolic->getMortonIndex() == inter_data.outIndex);
 
                                 const auto cell_block_in_idx = inter_data.insideIdxInBlock;
-                                local_exp_t* cell_local_exp =
+                                local_expansion_t* cell_local_exp =
                                     &(currentCells->getLocalExpansion(cell_block_in_idx));
-                                const symb_data_t* cell_symbolic =
+                                const symbolic_data_t* cell_symbolic =
                                     &(currentCells->getSymbolic(cell_block_in_idx));
 
                                 FAssertLF(cell_symbolic->getMortonIndex() == inter_data.insideIndex);
@@ -644,9 +644,9 @@ protected:
                             for(int outInterIdx = 0 ; outInterIdx < int(outsideInteractions->size()) ; ++outInterIdx){
                                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
                                 const auto inter_idx = inter_data.outsideIdxInBlock;
-                                local_exp_t* inter_local_expansion
+                                local_expansion_t* inter_local_expansion
                                     = &(cellsOther->getLocalExpansion(inter_idx));
-                                const symb_data_t* inter_symbolic
+                                const symbolic_data_t* inter_symbolic
                                     = &(cellsOther->getSymbolic(inter_idx));
 
                                 FAssertLF(inter_symbolic->getMortonIndex() == inter_data.outIndex);
@@ -654,7 +654,7 @@ protected:
                                 const auto cell_idx = inter_data.insideIdxInBlock;
                                 const multipole_t* cell_multipole
                                     = &(currentCells->getMultipole(cell_idx));
-                                const symb_data_t* cell_symbolic
+                                const symbolic_data_t* cell_symbolic
                                     = &(currentCells->getSymbolic(cell_idx));
 
                                 FAssertLF(cell_symbolic->getMortonIndex() == inter_data.insideIndex);
@@ -728,16 +728,16 @@ protected:
                             FAssertLF(idxChildCell != -1);
 
                             while(true){
-                                const local_exp_t* parent_local_expansion
+                                const local_expansion_t* parent_local_expansion
                                     = &(currentCells->getLocalExpansion(idxParentCell));
-                                const symb_data_t* parent_symbolic
+                                const symbolic_data_t* parent_symbolic
                                     = &(currentCells->getSymbolic(idxParentCell));
 
                                 FAssertLF(parent_symbolic->getMortonIndex()
                                           == currentCells->getCellMortonIndex(idxParentCell));
 
-                                std::array<local_exp_t*, 8> child_local_expansions {};
-                                std::array<const symb_data_t*, 8> child_symbolics {};
+                                std::array<local_expansion_t*, 8> child_local_expansions {};
+                                std::array<const symbolic_data_t*, 8> child_symbolics {};
 
                                 FAssertLF(parent_symbolic->getMortonIndex() == (subCellGroup->getCellMortonIndex(idxChildCell)>>3));
 
@@ -791,16 +791,16 @@ protected:
                             FAssertLF(idxChildCell != -1);
 
                             while(true){
-                                const local_exp_t* parent_local_expansion
+                                const local_expansion_t* parent_local_expansion
                                     = &(currentCells->getLocalExpansion(idxParentCell));
-                                const symb_data_t* parent_symbolic
+                                const symbolic_data_t* parent_symbolic
                                     = &(currentCells->getSymbolic(idxParentCell));
 
                                 FAssertLF(parent_symbolic->getMortonIndex()
                                           == currentCells->getCellMortonIndex(idxParentCell));
 
-                                std::array<local_exp_t*, 8> child_local_expansions {};
-                                std::array<const symb_data_t*, 8> child_symbolics {};
+                                std::array<local_expansion_t*, 8> child_local_expansions {};
+                                std::array<const symbolic_data_t*, 8> child_symbolics {};
 
                                 FAssertLF(parent_symbolic->getMortonIndex()
                                           == (subCellGroup->getCellMortonIndex(idxChildCell)>>3));
@@ -982,9 +982,9 @@ protected:
                 KernelClass*const kernel = kernels[omp_get_thread_num()];
 
                 for(int cellIdx = 0 ; cellIdx < leafCells->getNumberOfCellsInBlock() ; ++cellIdx){
-                    const local_exp_t* leaf_local_expansion
+                    const local_expansion_t* leaf_local_expansion
                         = &(leafCells->getLocalExpansion(cellIdx));
-                    const symb_data_t* leaf_symbolic
+                    const symbolic_data_t* leaf_symbolic
                         = &(leafCells->getSymbolic(cellIdx));
                     ParticleContainerClass particles
                         = containers->template getLeaf<ParticleContainerClass>(cellIdx);
diff --git a/Src/GroupTree/StarPUUtils/FStarPUCptInteractionsWrapper.hpp b/Src/GroupTree/StarPUUtils/FStarPUCptInteractionsWrapper.hpp
index c5d0b96da11ede6b87d4ca35fd5fc741f7574d33..1bfec09631443899313ae94b2569cdc10575e875 100644
--- a/Src/GroupTree/StarPUUtils/FStarPUCptInteractionsWrapper.hpp
+++ b/Src/GroupTree/StarPUUtils/FStarPUCptInteractionsWrapper.hpp
@@ -88,9 +88,9 @@ protected:
     }
 
 public:
-    using symb_data_t = typename CellContainerClass::symbolic_data_t;
+    using symbolic_data_t = typename CellContainerClass::symbolic_data_t;
     using multipole_t = typename CellContainerClass::multipole_t;
-    using local_exp_t = typename CellContainerClass::local_expansion_t;
+    using local_expansion_t = typename CellContainerClass::local_expansion_t;
 
 #ifdef SCALFMM_TIME_OMPTASKS
     FTaskTimer taskTimeRecorder;
@@ -175,7 +175,7 @@ public:
 
         for(int leafIdx = 0 ; leafIdx < leafCells->getNumberOfCellsInBlock() ; ++leafIdx){
             multipole_t* leaf_multipole = &(leafCells->getMultipole(leafIdx));
-            const symb_data_t* leaf_symbolic = &(leafCells->getSymbolic(leafIdx));
+            const symbolic_data_t* leaf_symbolic = &(leafCells->getSymbolic(leafIdx));
             ParticleContainerClass particles = containers->template getLeaf<ParticleContainerClass>(leafIdx);
 
             FAssertLF(leafCells->getCellMortonIndex(leafIdx) == containers->getLeafMortonIndex(leafIdx));
@@ -238,14 +238,14 @@ public:
         while(true){
             multipole_t* parent_multipole
                 = &(currentCells->getMultipole(idxParentCell));
-            const symb_data_t* parent_symbolic
+            const symbolic_data_t* parent_symbolic
                 = &(currentCells->getSymbolic(idxParentCell));
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == currentCells->getCellMortonIndex(idxParentCell));
 
             std::array<const multipole_t*, 8> child_multipoles {};
-            std::array<const symb_data_t*, 8> child_symbolics  {};
+            std::array<const symbolic_data_t*, 8> child_symbolics  {};
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == (subCellGroup->getCellMortonIndex(idxChildCell)>>3));
@@ -362,13 +362,13 @@ public:
         Stats& currentStat = stats[GetWorkerId()][INTER_M2L];
         FTic timer;
         FSize nbInteractions = 0;
-        std::array<const symb_data_t*, 189> source_symbolics {};
+        std::array<const symbolic_data_t*, 189> source_symbolics {};
         std::array<const multipole_t*, 189> source_multipoles{};
 
         for(int cellIdx = 0 ; cellIdx < currentCells->getNumberOfCellsInBlock() ; ++cellIdx){
-            local_exp_t* target_local_expansion
+            local_expansion_t* target_local_expansion
                 = &(currentCells->getLocalExpansion(cellIdx));
-            const symb_data_t* target_symbolic
+            const symbolic_data_t* target_symbolic
                 = &(currentCells->getSymbolic(cellIdx));
 
             FAssertLF(target_symbolic->getMortonIndex()
@@ -453,15 +453,15 @@ public:
                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
                 const multipole_t* source_multipole
                     = &(cellsOther->getMulipole(inter_data.outsideIdxInBlock));
-                const symb_data_t* source_symbolic
+                const symbolic_data_t* source_symbolic
                     = &(cellsOther->getSymbolic(inter_data.outsideIdxInBlock));
 
                 FAssertLF(source_symbolic->getMortonIndex()
                           == (*outsideInteractions)[outInterIdx].outIndex);
 
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(currentCells->getLocalExpansion(inter_data.insideIdxInBlock));
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(currentCells->getSymbolic(inter_data.insideIdxInBlock));
 
                 FAssertLF(target_symbolic->getMortonIndex() == inter_data.insideIndex);
@@ -484,14 +484,14 @@ public:
                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
                 const multipole_t* source_multipole
                     = &(cellsOther->getMultipole(inter_data.insideIdxInBlock));
-                const symb_data_t* source_symbolic
+                const symbolic_data_t* source_symbolic
                     = &(cellsOther->getSymbolic(inter_data.insideIdxInBlock));
 
                 FAssertLF(source_symbolic->getMortonIndex() == inter_data.insideIndex);
 
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(currentCells->getLocalExpansion(inter_data.outsideIdxInBlock));
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(currentCells->getSymbolic(inter_data.outsideIdxInBlock));
 
                 FAssertLF(target_symbolic->getMortonIndex() == inter_data.outIndex);
@@ -554,16 +554,16 @@ public:
         FAssertLF(idxChildCell != -1);
 
         while(true){
-            const local_exp_t* parent_local_expansion
+            const local_expansion_t* parent_local_expansion
                 = &(currentCells->getLocalExpansion(idxParentCell));
-            const symb_data_t* parent_symbolic
+            const symbolic_data_t* parent_symbolic
                 = &(currentCells->getSymbolic(idxParentCell));
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == currentCells->getCellMortonIndex(idxParentCell));
 
-            std::array<local_exp_t*, 8> child_local_expansions {};
-            std::array<const symb_data_t*, 8> child_symbolics  {};
+            std::array<local_expansion_t*, 8> child_local_expansions {};
+            std::array<const symbolic_data_t*, 8> child_symbolics  {};
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == (subCellGroup->getCellMortonIndex(idxChildCell)>>3));
@@ -780,9 +780,9 @@ public:
         FSize nbInteractions = 0;
 
         for(int cellIdx = 0 ; cellIdx < leafCells->getNumberOfCellsInBlock() ; ++cellIdx){
-            const local_exp_t* leaf_local_expansion
+            const local_expansion_t* leaf_local_expansion
                 = &(leafCells->getLocalExpansion(cellIdx));
-            const symb_data_t* leaf_symbolic
+            const symbolic_data_t* leaf_symbolic
                 = &(leafCells->getSymbolic(cellIdx));
             ParticleContainerClass particles = containers->template getLeaf<ParticleContainerClass>(cellIdx);
 
diff --git a/Src/GroupTree/StarPUUtils/FStarPUCpuWrapper.hpp b/Src/GroupTree/StarPUUtils/FStarPUCpuWrapper.hpp
index ffb8c59d7f3902cb0353d897267e8ef2ca397692..094dba5649d2ec11f025bbcc80311a6d0c8f03cb 100644
--- a/Src/GroupTree/StarPUUtils/FStarPUCpuWrapper.hpp
+++ b/Src/GroupTree/StarPUUtils/FStarPUCpuWrapper.hpp
@@ -53,8 +53,8 @@ protected:
 public:
 
     using multipole_t = typename CellContainerClass::multipole_t;
-    using local_exp_t = typename CellContainerClass::local_expansion_t;
-    using symb_data_t = typename CellContainerClass::symbolic_data_t;
+    using local_expansion_t = typename CellContainerClass::local_expansion_t;
+    using symbolic_data_t = typename CellContainerClass::symbolic_data_t;
 
 #ifdef SCALFMM_TIME_OMPTASKS
     FTaskTimer taskTimeRecorder;
@@ -124,7 +124,7 @@ public:
 
         for(int leafIdx = 0 ; leafIdx < leafCells->getNumberOfCellsInBlock() ; ++leafIdx){
             multipole_t* leaf_multipole = &(leafCells->getMultipole(leafIdx));
-            const symb_data_t* leaf_symbolic  = &(leafCells->getSymbolic(leafIdx));
+            const symbolic_data_t* leaf_symbolic  = &(leafCells->getSymbolic(leafIdx));
             ParticleContainerClass particles = containers->template getLeaf<ParticleContainerClass>(leafIdx);
 
             FAssertLF(leafCells->getCellMortonIndex(leafIdx) == containers->getLeafMortonIndex(leafIdx));
@@ -175,14 +175,14 @@ public:
         while(true){
             multipole_t* parent_multipole
                 = &(currentCells->getMultipole(idxParentCell));
-            const symb_data_t* parent_symbolic
+            const symbolic_data_t* parent_symbolic
                 = &(currentCells->getSymbolic(idxParentCell));
 
             FAssertLF(parent_symbolic-> getMortonIndex()
                       == currentCells->getCellMortonIndex(idxParentCell));
 
             std::array<const multipole_t*, 8> child_multipoles {};
-            std::array<const symb_data_t*, 8> child_symbolics  {};
+            std::array<const symbolic_data_t*, 8> child_symbolics  {};
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == (subCellGroup->getCellMortonIndex(idxChildCell)>>3));
@@ -255,14 +255,14 @@ public:
                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
                 const multipole_t* source_multipole
                     = &(cellsOther->getMultipole(cellPos));
-                const symb_data_t* source_symbolic
+                const symbolic_data_t* source_symbolic
                     = &(cellsOther->getSymbolic(cellPos));
 
                 FAssertLF(source_symbolic->getMortonIndex() == inter_data.outIndex);
 
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(currentCells->getLocalExpansion(inter_data.insideIdxInBlock));
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(currentCells->getSymbolic(inter_data.insideIdxInBlock));
 
                 FAssertLF(target_symbolic->getMortonIndex() == (*outsideInteractions)[outInterIdx].insideIndex);
@@ -303,12 +303,12 @@ public:
         KernelClass*const kernel = kernels[GetWorkerId()];
 
         std::array<const multipole_t*, 189> source_multipoles {};
-        std::array<const symb_data_t*, 189> source_symbolics  {};
+        std::array<const symbolic_data_t*, 189> source_symbolics  {};
 
         for(int cellIdx = 0 ; cellIdx < currentCells->getNumberOfCellsInBlock() ; ++cellIdx){
-            local_exp_t* target_local_exp
+            local_expansion_t* target_local_exp
                 = &(currentCells->getLocalExpansion(cellIdx));
-            const symb_data_t* target_symbolic
+            const symbolic_data_t* target_symbolic
                 = &(currentCells->getSymbolic(cellIdx));
 
             FAssertLF(target_symbolic->getMortonIndex()
@@ -384,14 +384,14 @@ public:
                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
                 const multipole_t* source_multipole
                     = &(cellsOther->getMultipole(inter_data.outsideIdxInBlock));
-                const symb_data_t* source_symbolic
+                const symbolic_data_t* source_symbolic
                     = &(cellsOther->getSymbolic(inter_data.outsideIdxInBlock));
 
                 FAssertLF(source_symbolic->getMortonIndex() == inter_data.outIndex);
 
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(currentCells->getLocalExpansion(inter_data.insideIdxInBlock));
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(currentCells->getSymbolic(inter_data.insideIdxInBlock));
 
                 FAssertLF(target_symbolic->getMortonIndex() == inter_data.insideIndex);
@@ -411,14 +411,14 @@ public:
                 const auto& inter_data = (*outsideInteractions)[outInterIdx];
                 const multipole_t* source_multipole
                     = &(cellsOther->getMultipole(inter_data.insideIdxInBlock));
-                const symb_data_t* source_symbolic
+                const symbolic_data_t* source_symbolic
                     = &(cellsOther->getSymbolic(inter_data.insideIdxInBlock));
 
                 FAssertLF(source_symbolic->getMortonIndex() == inter_data.insideIndex);
 
-                local_exp_t* target_local_expansion
+                local_expansion_t* target_local_expansion
                     = &(currentCells->getLocalExpansion(inter_data.outsideIdxInBlock));
-                const symb_data_t* target_symbolic
+                const symbolic_data_t* target_symbolic
                     = &(currentCells->getSymbolic(inter_data.outsideIdxInBlock));
 
                 FAssertLF(target_symbolic->getMortonIndex() == inter_data.outIndex);
@@ -474,16 +474,16 @@ public:
         FAssertLF(idxChildCell != -1);
 
         while(true){
-            const local_exp_t* parent_local_exp
+            const local_expansion_t* parent_local_exp
                 = &(currentCells->getLocalExpansion(idxParentCell));
-            const symb_data_t* parent_symbolic
+            const symbolic_data_t* parent_symbolic
                 = &(currentCells->getSymbolic(idxParentCell));
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == currentCells->getCellMortonIndex(idxParentCell));
 
-            std::array<local_exp_t*, 8> child_local_expansions {};
-            std::array<const symb_data_t*, 8> child_symbolics {};
+            std::array<local_expansion_t*, 8> child_local_expansions {};
+            std::array<const symbolic_data_t*, 8> child_symbolics {};
 
             FAssertLF(parent_symbolic->getMortonIndex()
                       == (subCellGroup->getCellMortonIndex(idxChildCell)>>3));
@@ -671,9 +671,9 @@ public:
         KernelClass*const kernel = kernels[GetWorkerId()];
 
         for(int cellIdx = 0 ; cellIdx < leafCells->getNumberOfCellsInBlock() ; ++cellIdx){
-            const local_exp_t* leaf_local_expansion
+            const local_expansion_t* leaf_local_expansion
                 = &(leafCells->getLocalExpansion(cellIdx));
-            const symb_data_t* leaf_symbolic
+            const symbolic_data_t* leaf_symbolic
                 = &(leafCells->getSymbolic(cellIdx));
             ParticleContainerClass particles
                 = containers->template getLeaf<ParticleContainerClass>(cellIdx);
diff --git a/Src/Kernels/Spherical/FAbstractSphericalKernel.hpp b/Src/Kernels/Spherical/FAbstractSphericalKernel.hpp
index bf4858f78271da179ac5136d42efb2ac7d2cfc4c..c5a526ddf3a3079196af25acfba08395f9697add 100644
--- a/Src/Kernels/Spherical/FAbstractSphericalKernel.hpp
+++ b/Src/Kernels/Spherical/FAbstractSphericalKernel.hpp
@@ -432,7 +432,7 @@ private:
 
     /** L2L
       *We compute the shift of local_exp_src from *p_center_of_exp_src to
-      *p_center_of_exp_target, and set the result to local_exp_target.
+      *p_center_of_exp_target, and set the result to local_expansion_target.
       *
       *O_n^l (with n=0..P, l=-n..n) being the former local expansion terms
       *(whose center is *p_center_of_exp_src) we have for the new local
@@ -447,7 +447,7 @@ private:
       *
       *Warning: if |l-k| > n-j, we do nothing.
       */
-    void localToLocal(FComplex<FReal>* const FRestrict local_exp_target, const FComplex<FReal>* const FRestrict local_exp_src,
+    void localToLocal(FComplex<FReal>* const FRestrict local_expansion_target, const FComplex<FReal>* const FRestrict local_exp_src,
                       const FComplex<FReal>* const FRestrict L2L_tranfer){
         // L_j^k
         int index_j_k = 0;
@@ -457,7 +457,7 @@ private:
             FReal pow_of_minus_1_for_k = 1.0;
 
             for (int k = 0 ; k <= j ; ++k, ++index_j_k ){
-                FComplex<FReal> L_j_k = local_exp_target[index_j_k];
+                FComplex<FReal> L_j_k = local_expansion_target[index_j_k];
 
                 for (int n=j; n <= devP;++n){
                     // O_n^l : here points on the source multipole expansion term of degree n and order |l|
@@ -510,7 +510,7 @@ private:
                     }
                 }//n
 
-                local_exp_target[index_j_k] = L_j_k;
+                local_expansion_target[index_j_k] = L_j_k;
 
                 pow_of_minus_1_for_k = -pow_of_minus_1_for_k;
             }//k
diff --git a/Src/Kernels/Spherical/FSphericalBlasKernel.hpp b/Src/Kernels/Spherical/FSphericalBlasKernel.hpp
index 5fa03b413c649faf267b9ca6c991d48166d3f8a1..0e71a3af7477d332cdf776a650534a31ed1f8901 100644
--- a/Src/Kernels/Spherical/FSphericalBlasKernel.hpp
+++ b/Src/Kernels/Spherical/FSphericalBlasKernel.hpp
@@ -228,11 +228,11 @@ public:
 
 	/** M2L
 	 *We compute the conversion of multipole_exp_src in *p_center_of_exp_src to
-	 *a local expansion in *p_center_of_exp_target, and add the result to local_exp_target.
+	 *a local expansion in *p_center_of_exp_target, and add the result to local_expansion_target.
 	 *
 	 *O_n^l (with n=0..P, l=-n..n) being the former multipole expansion terms
 	 *(whose center is *p_center_of_multipole_exp_src) we have for the new local
-	 *expansion terms (whose center is *p_center_of_local_exp_target):
+	 *expansion terms (whose center is *p_center_of_local_expansion_target):
 	 *
 	 *L_j^k = sum{n=0..+}
 	 *sum{l=-n..n}
diff --git a/Src/Kernels/Spherical/FSphericalBlockBlasKernel.hpp b/Src/Kernels/Spherical/FSphericalBlockBlasKernel.hpp
index 3a647f98ae5a628a015afdfa5747cd0dd110f72b..ab71b2f9b975813dfa5e6613bee2efd2a0528b50 100644
--- a/Src/Kernels/Spherical/FSphericalBlockBlasKernel.hpp
+++ b/Src/Kernels/Spherical/FSphericalBlockBlasKernel.hpp
@@ -235,11 +235,11 @@ public:
 
     /** M2L
     *We compute the conversion of multipole_exp_src in *p_center_of_exp_src to
-    *a local expansion in *p_center_of_exp_target, and add the result to local_exp_target.
+    *a local expansion in *p_center_of_exp_target, and add the result to local_expansion_target.
     *
     *O_n^l (with n=0..P, l=-n..n) being the former multipole expansion terms
     *(whose center is *p_center_of_multipole_exp_src) we have for the new local
-    *expansion terms (whose center is *p_center_of_local_exp_target):
+    *expansion terms (whose center is *p_center_of_local_expansion_target):
     *
     *L_j^k = sum{n=0..+}
     *sum{l=-n..n}
diff --git a/Src/Kernels/Spherical/FSphericalKernel.hpp b/Src/Kernels/Spherical/FSphericalKernel.hpp
index a8e5843a325b5d900f3ac314cefc476d1ec11933..53a5a59bc5ecd72b3f3c74aba5faf60d5d21f88d 100644
--- a/Src/Kernels/Spherical/FSphericalKernel.hpp
+++ b/Src/Kernels/Spherical/FSphericalKernel.hpp
@@ -115,11 +115,11 @@ public:
 
     /** M2L
     *We compute the conversion of multipole_exp_src in *p_center_of_exp_src to
-    *a local expansion in *p_center_of_exp_target, and add the result to local_exp_target.
+    *a local expansion in *p_center_of_exp_target, and add the result to local_expansion_target.
     *
     *O_n^l (with n=0..P, l=-n..n) being the former multipole expansion terms
     *(whose center is *p_center_of_multipole_exp_src) we have for the new local
-    *expansion terms (whose center is *p_center_of_local_exp_target):
+    *expansion terms (whose center is *p_center_of_local_expansion_target):
     *
     *L_j^k = sum{n=0..+}
     *sum{l=-n..n}
diff --git a/Src/Kernels/Spherical/FSphericalRotationKernel.hpp b/Src/Kernels/Spherical/FSphericalRotationKernel.hpp
index b32f8f718dcd031eccf614330615e0ddccfaaf0a..6662485072d97c0b1de50516efbd5f54fc57102d 100644
--- a/Src/Kernels/Spherical/FSphericalRotationKernel.hpp
+++ b/Src/Kernels/Spherical/FSphericalRotationKernel.hpp
@@ -441,7 +441,7 @@ public:
 
     /** M2L With rotation
       */
-    void multipoleToLocal(FComplex<FReal>*const FRestrict local_exp_target, const FComplex<FReal>* const FRestrict multipole_exp_src,
+    void multipoleToLocal(FComplex<FReal>*const FRestrict local_expansion_target, const FComplex<FReal>* const FRestrict multipole_exp_src,
                           const RotationM2LTransfer& transfer_M2L_rotation){
 
         memset(rotation_Info.p_rot_multipole_exp, 0, RotationInfo::ZAxisExpensionSize(Parent::devP) * sizeof(FComplex<FReal>));
@@ -451,7 +451,7 @@ public:
 
         M2L_z_axis(rotation_Info.p_rot_local_exp, rotation_Info.p_rot_multipole_exp, transfer_M2L_rotation.outer_array);
 
-        rotation_Rotate_local_expansion_terms(rotation_Info.p_rot_local_exp, transfer_M2L_rotation.rcc_inner, local_exp_target);
+        rotation_Rotate_local_expansion_terms(rotation_Info.p_rot_local_exp, transfer_M2L_rotation.rcc_inner, local_expansion_target);
     }
 
     /** Needed when doing the M2L */