diff --git a/assets/js/numbers.js b/assets/js/numbers.js
index 5a925a6..26b936b 100644
--- a/assets/js/numbers.js
+++ b/assets/js/numbers.js
@@ -1,3 +1,101 @@
 function compute(expression) {
     // TODO - write method definition here
+    var expressionArray = new Array();
+    var expressionArray = expression.split('');
+    var solutionSwap;
+
+    //MULTIPLICATION
+    for (counter = 0; counter < 4; counter++) {        
+        for (element = 0; element < expressionArray.length; element++) {
+            if (expressionArray[element] == '*') {
+                if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                   solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) * ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                    expressionArray.splice(element-2, 5, solutionSwap); 
+                }
+                if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                    solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) * parseFloat(expressionArray[element +1]);
+                    expressionArray.splice(element-2, 4, solutionSwap); 
+                }
+                if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                    solutionSwap = parseFloat(expressionArray[element -1]) * ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                    expressionArray.splice(element-1, 4, solutionSwap); 
+                }
+                if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                    solutionSwap = parseFloat(expressionArray[element -1]) * parseFloat(expressionArray[element +1]);
+                    expressionArray.splice(element-1, 3, solutionSwap);   
+                }                 
+            }
+        } 
+    }
+    //DIVISION
+    for (counter = 0; counter < 4; counter++) {        
+        for (element = 0; element < expressionArray.length; element++) {
+            if (expressionArray[element] == '/') {
+                if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                    solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) / ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                     expressionArray.splice(element-2, 5, solutionSwap); 
+                 }
+                 if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) / parseFloat(expressionArray[element +1]);
+                     expressionArray.splice(element-2, 4, solutionSwap); 
+                 }
+                 if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = parseFloat(expressionArray[element -1]) / ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                     expressionArray.splice(element-1, 4, solutionSwap); 
+                 }
+                 if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = parseFloat(expressionArray[element -1]) / parseFloat(expressionArray[element +1]);
+                     expressionArray.splice(element-1, 3, solutionSwap);   
+                 }                    
+            }
+        } 
+    }
+    //ADDITION
+    for (counter = 0; counter < 4; counter++) {        
+        for (element = 0; element < expressionArray.length; element++) {
+            if (expressionArray[element] == '+') {
+                if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                    solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                     expressionArray.splice(element-2, 5, solutionSwap); 
+                 }
+                 if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) + parseFloat(expressionArray[element +1]);
+                     expressionArray.splice(element-2, 4, solutionSwap); 
+                 }
+                 if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = parseFloat(expressionArray[element -1]) + ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                     expressionArray.splice(element-1, 4, solutionSwap); 
+                 }
+                 if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = parseFloat(expressionArray[element -1]) + parseFloat(expressionArray[element +1]);
+                     expressionArray.splice(element-1, 3, solutionSwap);   
+                 }                     
+            }
+        } 
+    }
+    //SUBTRACTION
+    for (counter = 0; counter < 4; counter++) {        
+        for (element = 0; element < expressionArray.length; element++) {
+            if (expressionArray[element] == '-') {
+                if (!isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                    solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) - ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                     expressionArray.splice(element-2, 5, solutionSwap); 
+                 }
+                 if (!isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = ((parseFloat(expressionArray[element -2]) * 10) + (parseFloat(expressionArray[element -1]))) - parseFloat(expressionArray[element +1]);
+                     expressionArray.splice(element-2, 4, solutionSwap); 
+                 }
+                 if (isNaN(parseFloat(expressionArray[element -2])) && !isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = parseFloat(expressionArray[element -1]) - ((parseFloat(expressionArray[element +1]) * 10) + (parseFloat(expressionArray[element +2])));
+                     expressionArray.splice(element-1, 4, solutionSwap); 
+                 }
+                 if (isNaN(parseFloat(expressionArray[element -2])) && isNaN(parseFloat(expressionArray[element +2]))) {
+                     solutionSwap = parseFloat(expressionArray[element -1]) - parseFloat(expressionArray[element +1]);
+                     expressionArray.splice(element-1, 3, solutionSwap);   
+                 }                 
+            }
+        } 
+    }
+     
+    return expressionArray;
 }
\ No newline at end of file