diff --git a/ex1/ex1.c b/ex1/ex1.c
index dd8f9ac08f5239d83c5559677f242d2bcd7ce7bc..23e9153537a467cccb374d0b52484d1ae601c310 100644
--- a/ex1/ex1.c
+++ b/ex1/ex1.c
@@ -10,12 +10,20 @@
  */
 
 #include <math.h>
-#include <stdbool.h>
-#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
 
+#define MATRIX_HEIGHT 5
+#define MATRIX_WIDTH 4
+#define OPERATION_REPETITION 10
+
+/**
+ * @brief Initiliases the matrix.
+ *
+ * @param m
+ * @param n
+ * @return double**
+ */
 double **matrix_init(int m, int n) {
     double **matrix = (double **)malloc(sizeof(double *) * m);
 
@@ -30,6 +38,12 @@ double **matrix_init(int m, int n) {
     return matrix;
 }
 
+/**
+ * @brief Frees the memory of the matrix.
+ *
+ * @param matrix
+ * @param m
+ */
 void matrix_destroy(double **matrix, int m) {
     for (int i = 0; i < m; i += 1) {
         free(matrix[i]);
@@ -38,6 +52,13 @@ void matrix_destroy(double **matrix, int m) {
     free(matrix);
 }
 
+/**
+ * @brief Displays the matrix.
+ *
+ * @param matrix
+ * @param m
+ * @param n
+ */
 void matrix_print(double **matrix, int m, int n) {
     for (int i = 0; i < m; i += 1) {
         for (int j = 0; j < n; j += 1) {
@@ -48,7 +69,15 @@ void matrix_print(double **matrix, int m, int n) {
     }
 }
 
-double **matrix_average(double **matrix, int m, int n) {
+/**
+ * @brief Performs the averaging operation.
+ *
+ * @param matrix
+ * @param m
+ * @param n
+ * @return double**
+ */
+double **matrix_averaging(double **matrix, int m, int n) {
     double **output = matrix_init(m, n);
 
     for (int i = 0; i < m; i += 1) {
@@ -61,7 +90,7 @@ double **matrix_average(double **matrix, int m, int n) {
                 value += matrix[i - 1][j];
                 value += matrix[i][j + 1];
                 value += matrix[i][j - 1];
-                value /= 5;                
+                value /= 5;
             } else {
                 value = matrix[i][j];
             }
@@ -74,17 +103,17 @@ double **matrix_average(double **matrix, int m, int n) {
 }
 
 int main() {
-    int m = 5;
-    int n = 4;
-    double **M = matrix_init(m, n);    
-
-    for (int i = 0; i < 10; i += 1) {
-        double **N = matrix_average(M, m, n);
-        matrix_destroy(M, m);
-        M = N;
+    int m = MATRIX_HEIGHT;
+    int n = MATRIX_WIDTH;
+    double **matrix = matrix_init(m, n);
+
+    for (int i = 0; i < OPERATION_REPETITION; i += 1) {
+        double **matrix_2 = matrix_averaging(matrix, m, n);
+        matrix_destroy(matrix, m);
+        matrix = matrix_2;
     }
 
-    matrix_print(M, m, n);
-    matrix_destroy(M, m);
+    matrix_print(matrix, m, n);
+    matrix_destroy(matrix, m);
     return EXIT_SUCCESS;
 }