diff --git a/src/main/java/azgracompress/utilities/MinMaxResult.java b/src/main/java/azgracompress/utilities/MinMaxResult.java
new file mode 100644
index 0000000000000000000000000000000000000000..5a37e757d13c921fe9b301b9e9f8189742bd46f4
--- /dev/null
+++ b/src/main/java/azgracompress/utilities/MinMaxResult.java
@@ -0,0 +1,19 @@
+package azgracompress.utilities;
+
+public class MinMaxResult<T> {
+    private final T min;
+    private final T max;
+
+    MinMaxResult(T min, T max) {
+        this.min = min;
+        this.max = max;
+    }
+
+    public T getMin() {
+        return min;
+    }
+
+    public T getMax() {
+        return max;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/azgracompress/utilities/Utils.java b/src/main/java/azgracompress/utilities/Utils.java
index af619162e4b6903bc1136377492bd21b5993509a..a249eea5893dd0609e88cb4d0395b92677567c69 100644
--- a/src/main/java/azgracompress/utilities/Utils.java
+++ b/src/main/java/azgracompress/utilities/Utils.java
@@ -5,6 +5,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
 
+
 public class Utils {
 
     public static double calculatePsnr(final double mse, final int signalMax) {
@@ -83,6 +84,22 @@ public class Utils {
     }
 
 
+    public static MinMaxResult<Integer> getMinAndMax(final int[] data) {
+        int min = Integer.MAX_VALUE;
+        int max = Integer.MIN_VALUE;
+
+        for (int i = 0; i < data.length; i++) {
+            if (data[i] < min) {
+                min = data[i];
+            }
+            if (data[i] > max) {
+                max = data[i];
+            }
+        }
+        return new MinMaxResult<Integer>(min, max);
+    }
+
+
     public static double calculateMse(final int[] difference) {
         double sum = 0.0;
         for (final int val : difference) {