diff --git a/public/js/pvPotentialNormalization.js b/public/js/pvPotentialNormalization.js
index b9244baf0cdbbcc4918eef5f24cd9b0509b9ca1f..8c1702d04794541a2bc8e2c277e72fd5e420fb7f 100644
--- a/public/js/pvPotentialNormalization.js
+++ b/public/js/pvPotentialNormalization.js
@@ -1,4 +1,31 @@
 /* TODO: issue #128
 write a function which normalizes each value from the pvPotential array
 and 
-*/
\ No newline at end of file
+*/
+var minAndMaxPvPotentials = [];
+
+
+function setMinAndMax(pvPotentialValue) {
+    let pvPotentials = [];
+    pvPotentialSurfaces.forEach(t => {
+        for (const [key, value] of Object.entries(t.attributes.pvPotential)) {
+            if (key === pvPotentialValue) {
+                pvPotentials.push(value);
+            }
+        }
+    });
+    pvPotentials = pvPotentials.sort(function(a, b) { return a - b; });
+    minAndMaxPvPotentials.push(pvPotentials[0]);
+    minAndMaxPvPotentials.push(pvPotentials[pvPotentials.length - 1]);
+}
+
+function getNormalizedValue(selectedPvPotentialValue) {
+    var normalizedValue;
+    if(minAndMaxPvPotentials[1]-minAndMaxPvPotentials[0]!==0){
+    normalizedValue = (selectedPvPotentialValue-minAndMaxPvPotentials[0])/(minAndMaxPvPotentials[1]-minAndMaxPvPotentials[0]);
+    }
+    else{
+    normalizedValue=1;   
+    }
+    return normalizedValue;
+}