diff --git a/src/App.vue b/src/App.vue
index 6384644..a88ca05 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -2,7 +2,7 @@
   <div id="app" class="antialiased min-h-screen font-sans bg-gray-100 text-black p-12">
     <div class="w-full max-w-2xl mx-auto">
       <accepted-sessions-list :sessions="sortedSessions" />
-      <session-form></session-form>
+      <session-form @submit="addSession($event)"></session-form>
     </div>
   </div>
 </template>
@@ -39,6 +39,12 @@ export default {
       })
   },
 
+  methods: {
+    addSession: function (attributes) {
+      this.sessions.push({attributes})
+    }
+  },
+
   computed: {
     sortedSessions: function () {
       return _(this.sessions).sortBy(session => {
diff --git a/src/components/SessionForm.vue b/src/components/SessionForm.vue
index ecab52d..de6b73d 100644
--- a/src/components/SessionForm.vue
+++ b/src/components/SessionForm.vue
@@ -34,6 +34,7 @@ export default {
 
   methods: {
     submit () {
+      this.$emit('submit', _.clone(this.form))
     }
   }
 }