diff --git a/day 9/day_9_mark.js b/day 9/day_9_mark.js
new file mode 100644
index 0000000000000000000000000000000000000000..0eb8e4434455a7e1848aa2b050ae3181438f4100
--- /dev/null
+++ b/day 9/day_9_mark.js	
@@ -0,0 +1,81 @@
+range = x => [...Array(x).keys()]
+
+line = input.split("\n")[0]
+
+disk = line.split('').map(Number).reduce((x,y,i) => x.concat(i%2 ? Array(y).fill('.') : Array(y).fill(i/2)), [])
+
+cleaner = () => {
+	while(disk[disk.length-1] == '.')
+		disk.pop()
+}
+
+popper = () => {
+	cleaner()
+	return disk.pop()
+}
+
+range(disk.length).map(i =>{
+	if(disk[i] === '.')
+		disk[i] = popper()
+	cleaner()
+})
+
+output1 = disk.reduce((x,y,i) => x+Number(y)*i,0)
+
+////
+
+range = x => [...Array(x).keys()]
+
+line = input.split("\n")[0]
+
+numbers = line.split('').map(Number)
+
+disk = numbers.reduce((x,y,i) => x.concat(i%2 ? Array(y).fill('.') : Array(y).fill(i/2)), [])
+
+nr_files = (numbers.length+1)/2
+file_lengths = range(nr_files).map(id => numbers[id*2])
+find_space = l => disk.map(x => x == '.' ? '.' : 'X').join('').indexOf(Array(l).fill('.').join(''))
+
+range(nr_files).map(x => {
+	id = nr_files - 1 - x
+	l = file_lengths[id]
+	j = find_space(l)
+	if(j > -1){
+		i = range(id*2).reduce((y,z) => y+numbers[z], 0)
+		if(j < i){
+			disk.fill( id, j, j + l)
+			disk.fill('.', i, i + l)
+		}
+	}
+})
+
+output2 = disk.reduce((x,y,i) => x+Number(y == '.' ? 0 : y)*i,0)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+