diff --git a/day 8/day_8_mark.js b/day 8/day_8_mark.js
new file mode 100644
index 0000000000000000000000000000000000000000..197b0b78319d9204b187d67183f2c08f95788c21
--- /dev/null
+++ b/day 8/day_8_mark.js	
@@ -0,0 +1,24 @@
+range = x => [...Array(x).keys()]
+
+map = input.split("\n").map(x=>x.split(""))
+n = map.length
+m = map[0].length
+
+print = () => map.map(x=>x.join("")).join("\n")
+
+markEntry = (i,j) => i >= 0 && i < n && j >= 0 && j < m ? map[i][j] = "#" : undefined
+markPair = (x,y) => markEntry(2*x[0] - y[0], 2*x[1] - y[1]) + markEntry(2*y[0] - x[0], 2*y[1] - x[1])
+
+locs = {}
+registerLoc = (i,j) => locs[map[i][j]] ? locs[map[i][j]].push([i,j]) : locs[map[i][j]] = [[i,j]]
+range(n).map(i => range(m).map(j => map[i][j] != '.' ? registerLoc(i,j) : undefined))
+
+Object.keys(locs).map(x => range(locs[x].length-1).map(i => range(locs[x].length-i-1).map(j => markPair(locs[x][i], locs[x][i + j + 1]))))
+
+output1 = range(n).reduce((x,i) => x + range(m).reduce((y,j) => y + (map[i][j] == '#'),0),0)
+
+markPairLine = (x,y) => range(Math.max(n,m)).map(i => markEntry(x[0] + i*(x[0] - y[0]), x[1] + i*(x[1] - y[1])) + markEntry(y[0] - i*(x[0] - y[0]), y[1] - i*(x[1] - y[1])))
+
+Object.keys(locs).map(x => range(locs[x].length-1).map(i => range(locs[x].length-i-1).map(j => markPairLine(locs[x][i], locs[x][i + j + 1]))))
+
+output2 = range(n).reduce((x,i) => x + range(m).reduce((y,j) => y + (map[i][j] == '#'),0),0)
\ No newline at end of file