diff --git a/header/vectors.h b/header/vectors.h
index 029c4b3ce78d8f365bb9917fc3a16c46928ea071..3f2f8749bc4305a8647b22f3823f7e4aa497dc12 100644
--- a/header/vectors.h
+++ b/header/vectors.h
@@ -27,5 +27,6 @@ void vector_set(vector vec, int index, type element);
 type vector_get(vector vec, int index);
 type vector_remove(vector vec, int index);
 void vector_insert(vector vec, type element, int index);
+void vector_empty(vector vec);
 
 #endif
\ No newline at end of file
diff --git a/src/test_vectors.c b/src/test_vectors.c
index 50676d2813dd78c9ab326aa20899816ff176cd1d..038ee1f7a46d08652a676ca29a46796a6e80dc85 100644
--- a/src/test_vectors.c
+++ b/src/test_vectors.c
@@ -46,7 +46,9 @@ int main()
 	printf("New Value at index 3 and 4: %d, %d \n", vector_get(test, 3), vector_get(test, 4));
 
 	//Test Vector Empty
-	
+	vector_empty(test);
+	printf("Empty Vector lenght : %d \n", vector_length(test));
 
+	
 	return 0;
 }
\ No newline at end of file
diff --git a/src/vectors.c b/src/vectors.c
index 403f49e0cbc6bca2041e93b56dd8b80b291421ee..f786ea7f2977eef6b8e8f32ca7e442b41c591b96 100644
--- a/src/vectors.c
+++ b/src/vectors.c
@@ -95,7 +95,6 @@ type vector_remove(vector vec, int index)
 	return tmp;
 }
 
-
 void vector_insert(vector vec, type element, int index)
 {
 	assert(index < vec->length);
@@ -108,4 +107,18 @@ void vector_insert(vector vec, type element, int index)
 	}
 
 	vec->content[index] = element;
+}
+
+void vector_empty(vector vec)
+{
+	for (int i = 0; i < vec->length; i++)
+	{
+		vec->content[i] = 0;
+	}
+
+	vec->capacity = VECTOR_INIT_CAPACITY;
+	vec->length = 0;
+
+	vec->content = realloc(vec->content, sizeof(type) * vec->capacity);
+	assert(vec->content != NULL);
 }
\ No newline at end of file