diff --git a/openfpm_data b/openfpm_data
index a1e9a9ac63b7c339049bdf4fbd44a205141c10b5..cc4fb08b3da8a564b8185b2319c2b14750578592 160000
--- a/openfpm_data
+++ b/openfpm_data
@@ -1 +1 @@
-Subproject commit a1e9a9ac63b7c339049bdf4fbd44a205141c10b5
+Subproject commit cc4fb08b3da8a564b8185b2319c2b14750578592
diff --git a/src/Decomposition/ie_ghost.hpp b/src/Decomposition/ie_ghost.hpp
index 8df26d329e09eedd5dbe9364e47281b8c1744e14..4eac296ec91bfdcf4335a093eac48e096a1b818b 100755
--- a/src/Decomposition/ie_ghost.hpp
+++ b/src/Decomposition/ie_ghost.hpp
@@ -39,7 +39,7 @@ class ie_ghost
 	openfpm::vector<p_box<dim,T> > vb_int;
 
 	//! Cell-list that store the geometrical information of the internal ghost boxes
-	CellList<dim,T,FAST,shift<dim,T>> geo_cell;
+	CellList<dim,T,Mem_fast<dim,T>,shift<dim,T>> geo_cell;
 
 	//! shift vectors
 	openfpm::vector<Point<dim,T>> shifts;
diff --git a/src/Vector/vector_dist.hpp b/src/Vector/vector_dist.hpp
index 58a2f70811d7333ff0e2fddd918a9ca2bf46652e..4140a9f319b41b4bb9aa34def6c1fcdac61aced5 100644
--- a/src/Vector/vector_dist.hpp
+++ b/src/Vector/vector_dist.hpp
@@ -357,7 +357,7 @@ public:
 	 * \return the Cell list
 	 *
 	 */
-	template<typename CellL = CellList_gen<dim, St, Process_keys_lin<dim>, FAST, shift<dim, St> > > CellL getCellList(St r_cut)
+	template<typename CellL = CellList_gen<dim, St, Process_keys_lin<dim>, Mem_fast<dim,St>, shift<dim, St> > > CellL getCellList(St r_cut)
 	{
 		// Get ghost and anlarge by 1%
 		Ghost<dim,St> g = getDecomposition().getGhost();
@@ -375,7 +375,7 @@ public:
 	 * \return the Cell list
 	 *
 	 */
-	template<typename CellL = CellList_gen<dim, St, Process_keys_hilb<dim>, FAST, shift<dim, St> > > CellL getCellList_hilb(St r_cut)
+	template<typename CellL = CellList_gen<dim, St, Process_keys_hilb<dim>, Mem_fast<dim,St>, shift<dim, St> > > CellL getCellList_hilb(St r_cut)
 	{
 		// Get ghost and anlarge by 1%
 		Ghost<dim,St> g = getDecomposition().getGhost();
@@ -391,7 +391,7 @@ public:
 	 * \param cell_list Cell list to update
 	 *
 	 */
-	template<typename CellL = CellList_gen<dim, St, Process_keys_lin<dim>, FAST, shift<dim, St> > > void updateCellList(CellL & cell_list)
+	template<typename CellL = CellList_gen<dim, St, Process_keys_lin<dim>, Mem_fast<dim,St>, shift<dim, St> > > void updateCellList(CellL & cell_list)
 	{
 		// Clear the cell list from the previous particles
 		cell_list.clear();
@@ -427,7 +427,7 @@ public:
 	 * \return the CellList
 	 *
 	 */
-	template<typename CellL = CellList_gen<dim, St, Process_keys_lin<dim>, FAST, shift<dim, St> > > CellL getCellList(St r_cut, const Ghost<dim, St> & enlarge)
+	template<typename CellL = CellList_gen<dim, St, Process_keys_lin<dim>, Mem_fast<dim,St>, shift<dim, St> > > CellL getCellList(St r_cut, const Ghost<dim, St> & enlarge)
 	{
 		CellL cell_list;
 
@@ -462,7 +462,7 @@ public:
 	 * \return The Cell-list
 	 *
 	 */
-	template<typename CellL = CellList_gen<dim, St, Process_keys_hilb<dim>, FAST, shift<dim, St> > > CellL getCellList_hilb(St r_cut, const Ghost<dim, St> & enlarge)
+	template<typename CellL = CellList_gen<dim, St, Process_keys_hilb<dim>, Mem_fast<dim,St>, shift<dim, St> > > CellL getCellList_hilb(St r_cut, const Ghost<dim, St> & enlarge)
 	{
 		CellL cell_list;
 
@@ -590,7 +590,7 @@ public:
 	 *
 	 *
 	 */
-	template<typename CellL=CellList_gen<dim,St,Process_keys_lin<dim>,FAST,shift<dim,St> > > void reorder (int32_t m)
+	template<typename CellL=CellList_gen<dim,St,Process_keys_lin<dim>,Mem_fast<dim,St>,shift<dim,St> > > void reorder (int32_t m)
 	{
 		reorder(m,getDecomposition().getGhost());
 	}
@@ -608,7 +608,7 @@ public:
 	 * \param enlarge In case of padding particles the cell list must be enlarged, like a ghost this parameter say how much must be enlarged
 	 *
 	 */
-	template<typename CellL=CellList_gen<dim,St,Process_keys_lin<dim>,FAST,shift<dim,St> > > void reorder(int32_t m, const Ghost<dim,St> & enlarge)
+	template<typename CellL=CellList_gen<dim,St,Process_keys_lin<dim>,Mem_fast<dim,St>,shift<dim,St> > > void reorder(int32_t m, const Ghost<dim,St> & enlarge)
 	{
 		// reset the ghost part
 		v_pos.resize(g_m);