diff --git a/2015/01/1.md b/2015/01/1.md
new file mode 100644
index 0000000..c7d53c7
--- /dev/null
+++ b/2015/01/1.md
@@ -0,0 +1,63 @@
+## \-\-- Day 1: Not Quite Lisp \-\--
+
+Santa was hoping for a white Christmas, but his weather machine\'s
+\"snow\" function is powered by stars, and he\'s fresh out! To save
+Christmas, he needs you to collect *fifty stars* by December 25th.
+
+Collect stars by helping Santa solve puzzles. Two puzzles will be made
+available on each day in the Advent calendar; the second puzzle is
+unlocked when you complete the first. Each puzzle grants *one star*.
+[Good
+luck!]{title="Also, some puzzles contain Easter eggs like this one. Yes, I know it's not traditional to do Advent calendars for Easter."}
+
+Here\'s an easy puzzle to warm you up.
+
+Santa is trying to deliver presents in a large apartment building, but
+he can\'t find the right floor - the directions he got are a little
+confusing. He starts on the ground floor (floor `0`) and then follows
+the instructions one character at a time.
+
+An opening parenthesis, `(`, means he should go up one floor, and a
+closing parenthesis, `)`, means he should go down one floor.
+
+The apartment building is very tall, and the basement is very deep; he
+will never find the top or bottom floors.
+
+For example:
+
+- `(())` and `()()` both result in floor `0`.
+- `(((` and `(()(()(` both result in floor `3`.
+- `))(((((` also results in floor `3`.
+- `())` and `))(` both result in floor `-1` (the first basement
+ level).
+- `)))` and `)())())` both result in floor `-3`.
+
+To *what floor* do the instructions take Santa?
+
+Your puzzle answer was `232`.
+
+## \-\-- Part Two \-\-- {#part2}
+
+Now, given the same instructions, find the *position* of the first
+character that causes him to enter the basement (floor `-1`). The first
+character in the instructions has position `1`, the second character has
+position `2`, and so on.
+
+For example:
+
+- `)` causes him to enter the basement at character position `1`.
+- `()())` causes him to enter the basement at character position `5`.
+
+What is the *position* of the character that causes Santa to first enter
+the basement?
+
+Your puzzle answer was `1783`.
+
+Both parts of this puzzle are complete! They provide two gold stars:
+\*\*
+
+At this point, you should [return to your Advent calendar](/2015) and
+try another puzzle.
+
+If you still want to see it, you can [get your puzzle
+input](1/input).
diff --git a/2015/01/debug-full-aoc-response.html b/2015/01/debug-full-aoc-response.html
new file mode 100644
index 0000000..7bc7fb7
--- /dev/null
+++ b/2015/01/debug-full-aoc-response.html
@@ -0,0 +1,111 @@
+
+
+
You don't seem to be solving the right level. Did you already complete it? [Return to Day 1]
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2015/01/part1.py b/2015/01/part1.py
new file mode 100644
index 0000000..e5375aa
--- /dev/null
+++ b/2015/01/part1.py
@@ -0,0 +1,17 @@
+#!/bin/python3
+
+import sys
+from pprint import pprint
+
+input_f = sys.argv[1]
+
+result = 0
+
+with open(input_f) as file:
+ for line in file:
+ for idx,i in enumerate(line):
+ if i == '(':
+ result += 1
+ if i == ')':
+ result -= 1
+print(result)
diff --git a/2015/07/7.md b/2015/07/7.md
new file mode 100644
index 0000000..66d1143
--- /dev/null
+++ b/2015/07/7.md
@@ -0,0 +1,70 @@
+## \-\-- Day 7: Some Assembly Required \-\--
+
+This year, Santa brought little Bobby Tables a set of wires and [bitwise
+logic gates](https://en.wikipedia.org/wiki/Bitwise_operation)!
+Unfortunately, little Bobby is a little under the recommended age range,
+and he needs help [assembling the
+circuit]{title="You had one of these as a kid, right?"}.
+
+Each wire has an identifier (some lowercase letters) and can carry a
+[16-bit](https://en.wikipedia.org/wiki/16-bit) signal (a number from `0`
+to `65535`). A signal is provided to each wire by a gate, another wire,
+or some specific value. Each wire can only get a signal from one source,
+but can provide its signal to multiple destinations. A gate provides no
+signal until all of its inputs have a signal.
+
+The included instructions booklet describes how to connect the parts
+together: `x AND y -> z` means to connect wires `x` and `y` to an AND
+gate, and then connect its output to wire `z`.
+
+For example:
+
+- `123 -> x` means that the signal `123` is provided to wire `x`.
+- `x AND y -> z` means that the [bitwise
+ AND](https://en.wikipedia.org/wiki/Bitwise_operation#AND) of wire
+ `x` and wire `y` is provided to wire `z`.
+- `p LSHIFT 2 -> q` means that the value from wire `p` is
+ [left-shifted](https://en.wikipedia.org/wiki/Logical_shift) by `2`
+ and then provided to wire `q`.
+- `NOT e -> f` means that the [bitwise
+ complement](https://en.wikipedia.org/wiki/Bitwise_operation#NOT) of
+ the value from wire `e` is provided to wire `f`.
+
+Other possible gates include `OR` ([bitwise
+OR](https://en.wikipedia.org/wiki/Bitwise_operation#OR)) and `RSHIFT`
+([right-shift](https://en.wikipedia.org/wiki/Logical_shift)). If, for
+some reason, you\'d like to *emulate* the circuit instead, almost all
+programming languages (for example,
+[C](https://en.wikipedia.org/wiki/Bitwise_operations_in_C),
+[JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators),
+or [Python](https://wiki.python.org/moin/BitwiseOperators)) provide
+operators for these gates.
+
+For example, here is a simple circuit:
+
+ 123 -> x
+ 456 -> y
+ x AND y -> d
+ x OR y -> e
+ x LSHIFT 2 -> f
+ y RSHIFT 2 -> g
+ NOT x -> h
+ NOT y -> i
+
+After it is run, these are the signals on the wires:
+
+ d: 72
+ e: 507
+ f: 492
+ g: 114
+ h: 65412
+ i: 65079
+ x: 123
+ y: 456
+
+In little Bobby\'s kit\'s instructions booklet (provided as your puzzle
+input), what signal is ultimately provided to *wire `a`*?
+
+To begin, [get your puzzle input](7/input).
+
+Answer:
diff --git a/2016/01/1.md b/2016/01/1.md
new file mode 100644
index 0000000..f098f17
--- /dev/null
+++ b/2016/01/1.md
@@ -0,0 +1,62 @@
+## \-\-- Day 1: No Time for a Taxicab \-\--
+
+Santa\'s sleigh uses a [very high-precision
+clock]{title="An atomic clock is too inaccurate; he might end up in a wall!"}
+to guide its movements, and the clock\'s oscillator is regulated by
+stars. Unfortunately, the stars have been stolen\... by the Easter
+Bunny. To save Christmas, Santa needs you to retrieve all *fifty stars*
+by December 25th.
+
+Collect stars by solving puzzles. Two puzzles will be made available on
+each day in the Advent calendar; the second puzzle is unlocked when you
+complete the first. Each puzzle grants *one star*. Good luck!
+
+You\'re airdropped near *Easter Bunny Headquarters* in a city somewhere.
+\"Near\", unfortunately, is as close as you can get - the instructions
+on the Easter Bunny Recruiting Document the Elves intercepted start
+here, and nobody had time to work them out further.
+
+The Document indicates that you should start at the given coordinates
+(where you just landed) and face North. Then, follow the provided
+sequence: either turn left (`L`) or right (`R`) 90 degrees, then walk
+forward the given number of blocks, ending at a new intersection.
+
+There\'s no time to follow such ridiculous instructions on foot, though,
+so you take a moment and work out the destination. Given that you can
+only walk on the [street grid of the
+city](https://en.wikipedia.org/wiki/Taxicab_geometry), how far is the
+shortest path to the destination?
+
+For example:
+
+- Following `R2, L3` leaves you `2` blocks East and `3` blocks North,
+ or `5` blocks away.
+- `R2, R2, R2` leaves you `2` blocks due South of your starting
+ position, which is `2` blocks away.
+- `R5, L5, R5, R3` leaves you `12` blocks away.
+
+*How many blocks away* is Easter Bunny HQ?
+
+Your puzzle answer was `236`.
+
+## \-\-- Part Two \-\-- {#part2}
+
+Then, you notice the instructions continue on the back of the Recruiting
+Document. Easter Bunny HQ is actually at the first location you visit
+twice.
+
+For example, if your instructions are `R8, R4, R4, R8`, the first
+location you visit twice is `4` blocks away, due East.
+
+How many blocks away is the *first location you visit twice*?
+
+Your puzzle answer was `182`.
+
+Both parts of this puzzle are complete! They provide two gold stars:
+\*\*
+
+At this point, you should [return to your Advent calendar](/2016) and
+try another puzzle.
+
+If you still want to see it, you can [get your puzzle
+input](1/input).
diff --git a/2016/01/solution.py b/2016/01/solution.py
new file mode 100644
index 0000000..2ac6a3b
--- /dev/null
+++ b/2016/01/solution.py
@@ -0,0 +1,84 @@
+#!/bin/python3
+import sys
+from pprint import pprint
+
+# Read instructions from file
+with open("input", "r") as file:
+ instructions = file.read().strip().split(", ")
+
+
+#########################################
+# #
+# Part 1 #
+# #
+#########################################
+
+# Define directions and movements in terms of (x, y) vectors
+directions = [(0, 1), (1, 0), (0, -1), (-1, 0)] # North, East, South, West
+
+# Starting position and direction
+x, y = 0, 0
+current_direction = 0 # Start facing North (index 0 in directions)
+
+# Process each instruction
+for instruction in instructions:
+ turn, steps = instruction[0], int(instruction[1:])
+
+ # Update direction based on the turn
+ if turn == 'R':
+ current_direction = (current_direction + 1) % 4 # Turn right
+ elif turn == 'L':
+ current_direction = (current_direction - 1) % 4 # Turn left
+
+ # Move in the current direction
+ dx, dy = directions[current_direction]
+ x += dx * steps
+ y += dy * steps
+
+# Calculate Manhattan distance from the origin
+distance = abs(x) + abs(y)
+print(distance)
+
+
+#########################################
+# #
+# Part 2 #
+# #
+#########################################
+
+
+# Define directions and movements in terms of (x, y) vectors
+directions = [(0, 1), (1, 0), (0, -1), (-1, 0)] # North, East, South, West
+
+# Starting position and direction
+x, y = 0, 0
+current_direction = 0 # Start facing North (index 0 in directions)
+visited = set() # To track visited positions
+visited.add((x, y)) # Starting point is visited
+
+# Read instructions from file
+with open("input", "r") as file:
+ instructions = file.read().strip().split(", ")
+
+# Process each instruction
+for instruction in instructions:
+ turn, steps = instruction[0], int(instruction[1:])
+
+ # Update direction based on the turn
+ if turn == 'R':
+ current_direction = (current_direction + 1) % 4 # Turn right
+ elif turn == 'L':
+ current_direction = (current_direction - 1) % 4 # Turn left
+
+ # Move step by step in the current direction
+ dx, dy = directions[current_direction]
+ for _ in range(steps):
+ x += dx
+ y += dy
+ if (x, y) in visited:
+ # Found the first location visited twice
+ distance = abs(x) + abs(y)
+ print(distance)
+ exit()
+ visited.add((x, y))
+
diff --git a/solution.py b/solution.py
new file mode 100644
index 0000000..cb3908c
--- /dev/null
+++ b/solution.py
@@ -0,0 +1,24 @@
+#!/bin/python3
+import sys
+from pprint import pprint
+
+input_f = "input" #sys.argv[1]
+
+with open(input_f) as file:
+ for line in file:
+
+
+#########################################
+# #
+# Part 1 #
+# #
+#########################################
+
+
+
+
+#########################################
+# #
+# Part 2 #
+# #
+#########################################