diff --git a/morning_exercise_resources/bubble_sort/bubble_sort.md b/morning_exercise_resources/bubble_sort/bubble_sort.md
index 4892b88..afe833c 100644
--- a/morning_exercise_resources/bubble_sort/bubble_sort.md
+++ b/morning_exercise_resources/bubble_sort/bubble_sort.md
@@ -1,3 +1,18 @@
+
+
+# WDI-PANTHALASSA
+
+---
+Title: Bubble Sort
+Type: Exercise
+Creator:
+ Thom Page
+ Course: WDIr-Panthalassa
+Competencies: While loops, for loops, conditionals, functions, nested loops
+
+---
+
+
# BUBBLE SORT
#### .. and nested loops
diff --git a/unit_01/w03d04/homework/object_constructors_iteration_walkthrough.md b/unit_01/w03d04/homework/object_constructors_iteration_walkthrough.md
new file mode 100644
index 0000000..884d1ef
--- /dev/null
+++ b/unit_01/w03d04/homework/object_constructors_iteration_walkthrough.md
@@ -0,0 +1,16 @@
+### Object Constructors and Iteration, Walkthrough
+
+
+1. Make an array called `fearNames` and put in five strings of technical fear names, eg. "Deipnophobia".
+
+2. Make an array called 'fearDescriptions' and put in five descriptions that match the fears in `fearNames`. If "Deipnophobia" comes first in `fearNames`, the description for it: "An abnormal fear of dining and dinner conversation." comes first in `fearDescriptions`.
+
+3. Make an object constructor function called `Fear`. A Fear will take two parameters, `name` and `description`. The properties of a Fear will use the `this` keyword.
+
+4. Make an empty array called `fearObjects`.
+
+5. Using a for loop, iterate over the `fearNames` array. Use the keyword `new` to make a new Fear object and push that newly constructed Fear into `fearObjects`. A new Fear should have both a name and a description from the `fearNames` and `fearDescriptions` arrays. (You do not need a nested loop).
+
+6. console.log the `fearObjects` array. You should see five Fear objects each with the applicable name and description.
+
+7. That's it. You did it. That's ... yeah it's over. You generated many objects using an object constructor function by means of iteration.
\ No newline at end of file
diff --git a/unit_01/w03d04/homework/to_do_starter/css/style.css b/unit_01/w03d04/homework/to_do_starter/css/style.css
new file mode 100644
index 0000000..8e0ae8c
--- /dev/null
+++ b/unit_01/w03d04/homework/to_do_starter/css/style.css
@@ -0,0 +1,48 @@
+/*uncomment to see div layout*/
+/*div {
+ border: 1px solid firebrick;
+}*/
+
+body {
+ font-family: monospace;
+}
+
+#container {
+ width: 800px; height: 730px;
+ margin: 0 auto;
+}
+
+#header {
+ text-align: center;
+}
+
+#input-container {
+ text-align: center;
+}
+
+#input-box {
+ height: 30px; width: 300px;
+}
+
+#submit {
+ height: 30px; width: 100px;
+ border: none;
+ background-color: firebrick;
+ color: white;
+}
+
+#to-do-list, #completed {
+ display: inline-block;
+ margin-left: 10px;
+ margin-top: 10px;
+ text-align: center;
+}
+
+#to-do-list {
+ width: 380px; height: 600px;
+}
+
+#completed {
+ width: 380px; height: 600px;
+}
+
diff --git a/unit_01/w03d04/homework/to_do_starter/index.html b/unit_01/w03d04/homework/to_do_starter/index.html
new file mode 100644
index 0000000..898bf19
--- /dev/null
+++ b/unit_01/w03d04/homework/to_do_starter/index.html
@@ -0,0 +1,31 @@
+
+
')`, etc.
+
+- select all elements of type: `$('div')`, `$('p')`, etc.
+
+- ^^ The two commands above are very similar but they do completely different things!
+
+- you can get the body of the document with: `$('body')`
+
+- get element by id: `$('#idName')`
+
+- get elements by class: `$('.className')`
+
+- set id on element: `jQueryElement.attr('id', 'idName')`
+
+- set class on element `jQueryElement.addClass('className')`
+
+- click listener: `jQueryElement.click( function )`
+
+- get value from input box after click: `$('#idName').val()`
+
+- append elements: `jQueryElement.append( //stuff )`
+
+- prepend elements: `jQueryElement.prepend( // stuff )`
+
+- remove elements: `jQueryElement.remove()`
+
+- set text inside element: `jQueryElement.text("some text")`
+
+- set html inside element: `jQueryElement.html("