diff --git a/val_sim.py b/val_sim.py
index 5251de736e310aa76af8c5de598e6ff0839725c3..9425187269678361d96f4178292aa2d8e1a198f6 100644
--- a/val_sim.py
+++ b/val_sim.py
@@ -1,16 +1,14 @@
+#The below code was referenced and modified as per the requirement from the code provided on course work desciption document.
+#The handling of the input from the  GAE(codes from line 9 to 18) are adopted from Python3 documentation https://docs.python.org/3/library/
 #!/usr/bin/python3
 
-import math
-import random
+import math, random, sys, json
 from statistics import mean, stdev
-import json
-import sys
 
-# Read input from stdin
-input_data = sys.stdin.read()
-event = json.loads(input_data)
 
-# Extract the values from the event dictionary
+event = json.loads(sys.stdin.read())
+
+
 dt = eval(event['key1'])
 close = eval(event['key2'])
 buy = eval(event['key3'])
@@ -18,49 +16,44 @@ sell = eval(event['key4'])
 h = int(event['key5'])
 d = int(event['key6'])
 t = event['key7']
-
 minhistory = h
 shots = d
-
 var95_list = []
 var99_list = []
 dates = []
 
-# Loop through the data to calculate var95 and var99
 for i in range(minhistory, len(close)):
-    if t == "buy" and buy[i] == 1:  # Calculate for Buy signals
-        data = close[i-minhistory:i]
-        pct_change = [(data[j] - data[j-1]) / data[j-1] for j in range(1, len(data))]
-        mean_value = mean(pct_change)
-        std_value = stdev(pct_change)
-        simulated = [random.gauss(mean_value, std_value) for _ in range(shots)]
-        simulated.sort(reverse=True)
-        var95 = simulated[int(len(simulated) * 0.95)]
-        var99 = simulated[int(len(simulated) * 0.99)]
-        var95_list.append(var95)
-        var99_list.append(var99)
-        dates.append(str(dt[i]))
-    
-    elif t == "sell" and sell[i] == 1:  # Calculate for Sell signals
-        data = close[i-minhistory:i]
-        pct_change = [(data[j] - data[j-1]) / data[j-1] for j in range(1, len(data))]
-        mean_value = mean(pct_change)
-        std_value = stdev(pct_change)
-        simulated = [random.gauss(mean_value, std_value) for _ in range(shots)]
-        simulated.sort(reverse=True)
-        var95 = simulated[int(len(simulated) * 0.95)]
-        var99 = simulated[int(len(simulated) * 0.99)]
-        var95_list.append(var95)
-        var99_list.append(var99)
-        dates.append(str(dt[i]))
-
-# Prepare the response
-response = {
-    "dates": dates,
-    "var95_list": var95_list,
-    "var99_list": var99_list
-}
+	if t == "buy":
+		if buy[i] == 1: 
+			close_data = close[i-minhistory:i]
+			pct_change = [(close_data[i] - close_data[i-1]) / close_data[i-1] for i in range(1,len(close_data))]
+			mean = mean(pct_change)
+			std = stdev(pct_change)
+			simulated = [random.gauss(mean,std) for x in range(shots)]
+			simulated.sort(reverse=True)
+			var95 = simulated[int(len(simulated)*0.95)]
+			var99 = simulated[int(len(simulated)*0.99)]
+			var95_list.append(var95)
+			var99_list.append(var99)
+			dates.append(str(dt[i]))
+	elif t == "sell":
+		if sell[i] == 1:
+			close_data = close[i-minhistory:i]
+			pct_change = [(close_data[i] - close_data[i-1]) / close_data[i-1] for i in range(1,len(close_data))]
+			mean = mean(pct_change)
+			std = stdev(pct_change)
+			simulated = [random.gauss(mean,std) for x in range(shots)]
+			simulated.sort(reverse=True)
+			var95 = simulated[int(len(simulated)*0.95)]
+			var99 = simulated[int(len(simulated)*0.99)]
+			var95_list.append(var95)
+			var99_list.append(var99)
+			dates.append(str(dt[i]))
+
+output = {"dates" : dates,
+		"var95" : var95_list,
+		"var99" : var99_list
+		}
+
+output = json.dumps(output)
 
-# Output result as JSON
-print("Content-Type: application/json\n")
-print(json.dumps(response))