diff --git a/CMakeLists.txt b/CMakeLists.txt
index 14916b9401bb8f6fc855f3cd8d747485b0aab99a..54be2db4230f2d39ea32df655a13d49881dc11cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,7 +11,7 @@ if (POLICY CMP0074)
   cmake_policy(SET CMP0074 NEW)
 endif()
 
-set(openfpm_VERSION 3.3.0)
+set(openfpm_VERSION 4.0.0)
 
 list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake_modules/)
 
diff --git a/src/Vector/vector_dist.hpp b/src/Vector/vector_dist.hpp
index a659e1efdd15e40af0afb2037c179d6f15bc4872..5f740f5c78e4fb9223c8ca318be602bfb1f38796 100644
--- a/src/Vector/vector_dist.hpp
+++ b/src/Vector/vector_dist.hpp
@@ -2530,6 +2530,22 @@ public:
 		g_m -= keys.size();
 	}
 
+	/*! \brief Remove a set of elements from the distributed vector
+	 *
+	 * \warning keys must be sorted
+	 *
+	 * \param keys vector of elements to eliminate
+	 * \param start from where to eliminate
+	 *
+	 */
+	void remove(openfpm::vector<aggregate<int>> & keys, size_t start = 0)
+	{
+		v_pos.remove(keys, start);
+		v_prp.remove(keys, start);
+
+		g_m -= keys.size();
+	}
+
 	/*! \brief Remove one element from the distributed vector
 	 *
 	 * \param key remove one element from the vector