diff --git a/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.pbxproj b/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.pbxproj
index 78d1b2dac3c5231ca23ada70463e24a74874c7af..f936104f7cb6eb770606536cb3fd8e4efdb55e0d 100644
--- a/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.pbxproj
+++ b/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.pbxproj
@@ -8,14 +8,13 @@
 
 /* Begin PBXBuildFile section */
 		4D2793F621AC706D008917B9 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D2793F521AC706D008917B9 /* Event.swift */; };
-		4D2793FF21AC7126008917B9 /* EventsTable.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4D2793FE21AC7126008917B9 /* EventsTable.storyboard */; };
-		4D27940121AC7197008917B9 /* EventsTableTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D27940021AC7197008917B9 /* EventsTableTableViewController.swift */; };
 		4D27940321AC71DA008917B9 /* ListViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D27940221AC71DA008917B9 /* ListViewDataSource.swift */; };
 		4D27942621ACE6C5008917B9 /* SQLite.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D27941721ACE690008917B9 /* SQLite.framework */; };
 		4D27942721ACE6C5008917B9 /* SQLite.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4D27941721ACE690008917B9 /* SQLite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
 		4D27942C21ACEFCD008917B9 /* SQLite_Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D27942B21ACEFCD008917B9 /* SQLite_Example.swift */; };
 		4D27942F21ADEC2E008917B9 /* EventSingleDayCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D27942E21ADEC2E008917B9 /* EventSingleDayCell.swift */; };
 		4D27B29321B7201C001BE911 /* ViewEventViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D27B29221B7201C001BE911 /* ViewEventViewController.swift */; };
+		4D27B29C21B98A34001BE911 /* DatabaseManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D27B29B21B98A34001BE911 /* DatabaseManager.swift */; };
 		4D618EBF21AB6E0F006814C0 /* ScheduleControllerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D618EBE21AB6E0F006814C0 /* ScheduleControllerViewController.swift */; };
 		4D618EC121AB7707006814C0 /* DatePopupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D618EC021AB7707006814C0 /* DatePopupViewController.swift */; };
 		4D618EC321AB77DE006814C0 /* AddEventViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D618EC221AB77DE006814C0 /* AddEventViewController.swift */; };
@@ -104,13 +103,12 @@
 
 /* Begin PBXFileReference section */
 		4D2793F521AC706D008917B9 /* Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = "<group>"; };
-		4D2793FE21AC7126008917B9 /* EventsTable.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = EventsTable.storyboard; sourceTree = "<group>"; };
-		4D27940021AC7197008917B9 /* EventsTableTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventsTableTableViewController.swift; sourceTree = "<group>"; };
 		4D27940221AC71DA008917B9 /* ListViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListViewDataSource.swift; sourceTree = "<group>"; };
 		4D27940521ACE68F008917B9 /* SQLite.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SQLite.xcodeproj; path = "../../../../../../Downloads/SQLite.swift-master/SQLite.xcodeproj"; sourceTree = "<group>"; };
 		4D27942B21ACEFCD008917B9 /* SQLite_Example.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SQLite_Example.swift; sourceTree = "<group>"; };
 		4D27942E21ADEC2E008917B9 /* EventSingleDayCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventSingleDayCell.swift; sourceTree = "<group>"; };
 		4D27B29221B7201C001BE911 /* ViewEventViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewEventViewController.swift; sourceTree = "<group>"; };
+		4D27B29B21B98A34001BE911 /* DatabaseManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseManager.swift; sourceTree = "<group>"; };
 		4D618EBE21AB6E0F006814C0 /* ScheduleControllerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleControllerViewController.swift; sourceTree = "<group>"; };
 		4D618EC021AB7707006814C0 /* DatePopupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePopupViewController.swift; sourceTree = "<group>"; };
 		4D618EC221AB77DE006814C0 /* AddEventViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddEventViewController.swift; sourceTree = "<group>"; };
@@ -189,6 +187,7 @@
 				4DECCE1821A8C71E006CA671 /* Info.plist */,
 				4D618EC721AB828C006814C0 /* EventsController.storyboard */,
 				4D618EBE21AB6E0F006814C0 /* ScheduleControllerViewController.swift */,
+				4D27B29B21B98A34001BE911 /* DatabaseManager.swift */,
 				4D618EC221AB77DE006814C0 /* AddEventViewController.swift */,
 				4D27B29221B7201C001BE911 /* ViewEventViewController.swift */,
 				4D27942E21ADEC2E008917B9 /* EventSingleDayCell.swift */,
@@ -197,8 +196,6 @@
 				4D2793F521AC706D008917B9 /* Event.swift */,
 				4DF5C27421ABA62D00DF3B9B /* NotificationNameExtention.swift */,
 				4D27940221AC71DA008917B9 /* ListViewDataSource.swift */,
-				4D2793FE21AC7126008917B9 /* EventsTable.storyboard */,
-				4D27940021AC7197008917B9 /* EventsTableTableViewController.swift */,
 			);
 			path = MoreFreeTime;
 			sourceTree = "<group>";
@@ -321,7 +318,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				4D2793FF21AC7126008917B9 /* EventsTable.storyboard in Resources */,
 				4D618EC921AB828C006814C0 /* EventsController.storyboard in Resources */,
 				4DECCE1721A8C71E006CA671 /* LaunchScreen.storyboard in Resources */,
 				4D618EC621AB820C006814C0 /* DatePopup.storyboard in Resources */,
@@ -343,9 +339,9 @@
 				4DF5C27521ABA62D00DF3B9B /* NotificationNameExtention.swift in Sources */,
 				4D27B29321B7201C001BE911 /* ViewEventViewController.swift in Sources */,
 				4D27940321AC71DA008917B9 /* ListViewDataSource.swift in Sources */,
-				4D27940121AC7197008917B9 /* EventsTableTableViewController.swift in Sources */,
 				4D618EC121AB7707006814C0 /* DatePopupViewController.swift in Sources */,
 				4D618EBF21AB6E0F006814C0 /* ScheduleControllerViewController.swift in Sources */,
+				4D27B29C21B98A34001BE911 /* DatabaseManager.swift in Sources */,
 				4D27942F21ADEC2E008917B9 /* EventSingleDayCell.swift in Sources */,
 				4D2793F621AC706D008917B9 /* Event.swift in Sources */,
 				4DECCE0D21A8C71B006CA671 /* AppDelegate.swift in Sources */,
diff --git a/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.xcworkspace/xcuserdata/diesel.xcuserdatad/UserInterfaceState.xcuserstate b/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.xcworkspace/xcuserdata/diesel.xcuserdatad/UserInterfaceState.xcuserstate
index 6dae29041ff9d253b5e4b75d0ca32c788ad5fad3..f4650eab8f9e975ba6b4d680f226af63695307e5 100644
Binary files a/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.xcworkspace/xcuserdata/diesel.xcuserdatad/UserInterfaceState.xcuserstate and b/Project/MoreFreeTime/MoreFreeTime.xcodeproj/project.xcworkspace/xcuserdata/diesel.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Project/MoreFreeTime/MoreFreeTime.xcodeproj/xcuserdata/diesel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Project/MoreFreeTime/MoreFreeTime.xcodeproj/xcuserdata/diesel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index b68497989d2024759b64d5fbc2d355d1615e0fe5..ea56f32cce28567aa615c511daa68711f1459bd5 100644
--- a/Project/MoreFreeTime/MoreFreeTime.xcodeproj/xcuserdata/diesel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/Project/MoreFreeTime/MoreFreeTime.xcodeproj/xcuserdata/diesel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -10,29 +10,13 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "MoreFreeTime/ScheduleControllerViewController.swift"
-            timestampString = "565652210.07946"
+            timestampString = "565808666.457788"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "173"
-            endingLineNumber = "173"
-            landmarkName = "deleteEvent()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MoreFreeTime/ScheduleControllerViewController.swift"
-            timestampString = "565652210.079531"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "261"
-            endingLineNumber = "261"
-            landmarkName = "unknown"
-            landmarkType = "0">
+            startingLineNumber = "171"
+            endingLineNumber = "171"
+            landmarkName = "ScheduleControllerViewController"
+            landmarkType = "21">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -42,12 +26,12 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "MoreFreeTime/ScheduleControllerViewController.swift"
-            timestampString = "565652210.079582"
+            timestampString = "565808666.458284"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "254"
-            endingLineNumber = "254"
-            landmarkName = "longPress(_:)"
+            startingLineNumber = "164"
+            endingLineNumber = "164"
+            landmarkName = "tableView(_:didSelectRowAt:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -58,13 +42,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "MoreFreeTime/ScheduleControllerViewController.swift"
-            timestampString = "565652210.079627"
+            timestampString = "565808666.4586149"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "262"
-            endingLineNumber = "262"
-            landmarkName = "ScheduleControllerViewController"
-            landmarkType = "21">
+            startingLineNumber = "172"
+            endingLineNumber = "172">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
diff --git a/Project/MoreFreeTime/MoreFreeTime/DatabaseManager.swift b/Project/MoreFreeTime/MoreFreeTime/DatabaseManager.swift
new file mode 100644
index 0000000000000000000000000000000000000000..1d25e1ec5ec890454e40512f4c28128bd2450c80
--- /dev/null
+++ b/Project/MoreFreeTime/MoreFreeTime/DatabaseManager.swift
@@ -0,0 +1,119 @@
+//
+//  DatabaseManager.swift
+//  MoreFreeTime
+//
+//  Created by Dylan Zeller on 12/6/18.
+//  Copyright © 2018 Dylan Zeller. All rights reserved.
+//
+
+import Foundation
+import SQLite
+class DatabaseManager {
+    var database : Connection!
+    final var databaseName : String = "MoreFreeTime"
+    final var databaseExt : String = "sqlite3"
+    
+    let eventsTable = Table("events")
+    let id = Expression<Int>("id")
+    let eventTitle = Expression<String>("title")
+    let eventStartDate = Expression<String>("startDate")
+    let eventStartTime = Expression<String>("startTime")
+    let eventEndDate = Expression<String>("endDate")
+    let eventEndTime = Expression<String>("endTime")
+    let eventLocation = Expression<String>("location")
+    let eventDescription = Expression<String?>("description")
+
+    init() {
+        do {
+            let docDirectory = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
+            let fileUrl = docDirectory.appendingPathComponent(databaseName).appendingPathExtension(databaseExt)
+            let database = try Connection(fileUrl.path)
+            self.database = database
+        } catch {
+            print(error)
+        }
+        createTable()
+    }
+    
+    func createTable() {
+        let createTable = self.eventsTable.create { (table) in
+            table.column(self.id, primaryKey: true)
+            table.column(self.eventTitle)
+            table.column(self.eventStartDate)
+            table.column(self.eventStartTime)
+            table.column(self.eventEndDate)
+            table.column(self.eventEndTime)
+            table.column(self.eventLocation)
+            table.column(self.eventDescription)
+        }
+        do {
+            try self.database.run(createTable)
+        } catch {
+            print(error)
+        }
+    }
+    
+    func deleteTable() {
+        let deleteTable = self.eventsTable.delete()
+        do {
+            try self.database.run(deleteTable)
+        } catch {
+            print(error)
+        }
+    }
+    
+    func deleteEvent(id : Int) {
+        let event = self.eventsTable.filter(self.id == id)
+        let deleteEvent = event.delete()
+        do {
+            try self.database.run(deleteEvent)
+        } catch {
+            print(error)
+        }    }
+    
+    func insertEvent(e : Event) {
+        let insertEvent = self.eventsTable.insert(self.eventTitle <- e.title, self.eventStartDate <- e.startDate, self.eventStartTime <- e.startTime, self.eventEndDate <- e.endDate, self.eventEndTime <- e.endTime, self.eventLocation <- e.location, self.eventDescription <- e.description)
+        do {
+            try self.database.run(insertEvent)
+        } catch {
+            print(error)
+        }
+    }
+    
+    func updateEvent(e : Event) {
+        let event = self.eventsTable.filter(self.id == e.id)
+        let updateEvent = event.update(self.eventTitle <- e.title, self.eventStartDate <- e.startDate, self.eventStartTime <- e.startTime, self.eventEndDate <- e.endDate, self.eventEndTime <- e.endTime, self.eventLocation <- e.location, self.eventDescription <- e.description)
+        do {
+            try self.database.run(updateEvent)
+        } catch {
+            print(error)
+        }
+    }
+    
+    func fetchEvents(currentShortDate : String) -> [Event] {
+        var todaysEvents : [Event] = []
+        do {
+            let dbEvents = try self.database.prepare(eventsTable)
+            for dbEvent in dbEvents {
+                if dbEvent[self.eventStartDate].isEqual(currentShortDate) {
+                    let event = Event(title: dbEvent[self.eventTitle], startDate: dbEvent[self.eventStartDate], startTime: dbEvent[self.eventStartTime], endDate: dbEvent[self.eventEndDate], endTime: dbEvent[self.eventEndTime], location: dbEvent[self.eventLocation], description: dbEvent[self.eventDescription]!, id: dbEvent[self.id])
+                    todaysEvents.append(event)
+                }
+            }
+        } catch {
+            print(error)
+        }
+        return todaysEvents
+    }
+    
+    func listAllEvents() {
+        do {
+            let events = try self.database.prepare(eventsTable)
+            for event in events {
+                print("eventId: \(event[self.id]), title: \(event[self.eventTitle]), startDate: \(event[self.eventStartDate]), startTime: \(event[self.eventStartTime]), endDate: \(event[self.eventEndDate]), endTime: \(event[self.eventEndTime]),location: \(event[self.eventLocation]), description: \(event[self.eventDescription]!),")
+            }
+        } catch {
+            print(error)
+        }
+    }
+}
diff --git a/Project/MoreFreeTime/MoreFreeTime/EventsTable.storyboard b/Project/MoreFreeTime/MoreFreeTime/EventsTable.storyboard
deleted file mode 100644
index 020fbdbcb933c666c80d5439bc3a2f2d693174d5..0000000000000000000000000000000000000000
--- a/Project/MoreFreeTime/MoreFreeTime/EventsTable.storyboard
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="KDj-af-CHj">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--Table View Controller-->
-        <scene sceneID="4aD-pt-cCU">
-            <objects>
-                <tableViewController id="KDj-af-CHj" sceneMemberID="viewController">
-                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" id="FKk-cx-bsw">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
-                        <prototypes>
-                            <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" id="vC3-UJ-Lb8">
-                                <rect key="frame" x="0.0" y="55.5" width="375" height="44"/>
-                                <autoresizingMask key="autoresizingMask"/>
-                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="vC3-UJ-Lb8" id="1Jo-eW-uRU">
-                                    <rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
-                                    <autoresizingMask key="autoresizingMask"/>
-                                </tableViewCellContentView>
-                            </tableViewCell>
-                        </prototypes>
-                        <connections>
-                            <outlet property="dataSource" destination="KDj-af-CHj" id="2qQ-4L-wnG"/>
-                            <outlet property="delegate" destination="KDj-af-CHj" id="VY4-Tu-Va7"/>
-                        </connections>
-                    </tableView>
-                </tableViewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="2II-wF-FQL" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="-201" y="145"/>
-        </scene>
-    </scenes>
-</document>
diff --git a/Project/MoreFreeTime/MoreFreeTime/ScheduleControllerViewController.swift b/Project/MoreFreeTime/MoreFreeTime/ScheduleControllerViewController.swift
index 4885b5017b30b5a4338f702e77454c70232186c0..ac81aa8947fe37c8f90b8b09523ad9e3de712687 100644
--- a/Project/MoreFreeTime/MoreFreeTime/ScheduleControllerViewController.swift
+++ b/Project/MoreFreeTime/MoreFreeTime/ScheduleControllerViewController.swift
@@ -10,20 +10,8 @@ import UIKit
 import SQLite
 class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate, UITableViewDataSource*/ {
     
-    var database : Connection!
-    
-    let eventsTable = Table("events")
-    let id = Expression<Int>("id")
-    let eventTitle = Expression<String>("title")
-    let eventStartDate = Expression<String>("startDate")
-    let eventStartTime = Expression<String>("startTime")
-    let eventEndDate = Expression<String>("endDate")
-    let eventEndTime = Expression<String>("endTime")
-    let eventLocation = Expression<String>("location")
-    let eventDescription = Expression<String?>("description")
+    var database : DatabaseManager!
 
-    
-    
     @IBOutlet weak var tableView: UITableView!
     @IBOutlet weak var dateLabel: UILabel!
     
@@ -33,7 +21,6 @@ class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate,
     var deleteEventObserver : NSObjectProtocol?
     
     var currentDate : Date = Date()
-    var currentShortDate : String?
     var newEvent : Event?
     var events : [Event] = []
     
@@ -54,20 +41,10 @@ class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate,
     override func viewDidLoad() {
         super.viewDidLoad()
         // This will open and set the global database
-        do {
-            let docDirectory = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
-            let fileUrl = docDirectory.appendingPathComponent("testing1").appendingPathExtension("sqlite3")
-            let database = try Connection(fileUrl.path)
-            self.database = database
-        } catch {
-            print(error)
-        }
+        database = DatabaseManager()
         
         addObservers()
-        //deleteTable()
-        createTable()
         
-        currentShortDate = formattedShortDate
         dateLabel.text = formattedDate
         
         tableView.delegate = self
@@ -85,7 +62,6 @@ class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate,
             (notification) in let dateVc = notification.object as! DatePopupViewController
             self.currentDate = dateVc.date
             self.dateLabel.text = dateVc.formattedDateLong
-            self.currentShortDate = dateVc.formattedDate
             self.getTodaysEvents()
         }
         newEventObserver = NotificationCenter.default.addObserver(forName: .saveNewEvent, object: nil, queue: OperationQueue.main) {
@@ -102,23 +78,10 @@ class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate,
             (notification) in let deleteEventId = notification.object as! Int
             self.deleteEvent(id : deleteEventId)
         }
-        print("added observer")
     }
     
     func getTodaysEvents() {
-        var todaysEvents : [Event] = []
-        do {
-            let dbEvents = try self.database.prepare(eventsTable)
-            for dbEvent in dbEvents {
-                if dbEvent[self.eventStartDate].isEqual(currentShortDate) {
-                    let event = Event(title: dbEvent[self.eventTitle], startDate: dbEvent[self.eventStartDate], startTime: dbEvent[self.eventStartTime], endDate: dbEvent[self.eventEndDate], endTime: dbEvent[self.eventEndTime], location: dbEvent[self.eventLocation], description: dbEvent[self.eventDescription]!, id: dbEvent[self.id])
-                    todaysEvents.append(event)
-                }
-            }
-        } catch {
-            print(error)
-        }
-        self.events = todaysEvents
+        self.events = database.fetchEvents(currentShortDate: formattedShortDate)
         self.sortEvents()
         self.tableView.reloadData()
     }
@@ -127,74 +90,21 @@ class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate,
         events = events.sorted(by: { $0 < $1 })
     }
     
-    func createTable() {
-        let createTable = self.eventsTable.create { (table) in
-            table.column(self.id, primaryKey: true)
-            table.column(self.eventTitle)
-            table.column(self.eventStartDate)
-            table.column(self.eventStartTime)
-            table.column(self.eventEndDate)
-            table.column(self.eventEndTime)
-            table.column(self.eventLocation)
-            table.column(self.eventDescription)
-        }
-        
-        do {
-            try self.database.run(createTable)
-            print("Created Table")
-        } catch {
-            print(error)
-        }
-    }
-    
-    func deleteTable() {
-        let deleteTable = self.eventsTable.delete()
-        do {
-            try self.database.run(deleteTable)
-        } catch {
-            print(error)
-        }
-    }
-    
     func deleteEvent(id : Int) {
-        let event = self.eventsTable.filter(self.id == id)
-        let deleteEvent = event.delete()
-        do {
-            try self.database.run(deleteEvent)
-        } catch {
-            print(error)
-        }
+        database.deleteEvent(id: id)
+        self.getTodaysEvents()
     }
     
     func insertEvent(e : Event) {
-        let insertEvent = self.eventsTable.insert(self.eventTitle <- e.title, self.eventStartDate <- e.startDate, self.eventStartTime <- e.startTime, self.eventEndDate <- e.endDate, self.eventEndTime <- e.endTime, self.eventLocation <- e.location, self.eventDescription <- e.description)
-        do {
-            try self.database.run(insertEvent)
-            print("Inserted Event")
-        } catch {
-            print("Error")
-        }
+        database.insertEvent(e: e)
     }
     
     func updateEvent(e : Event) {
-        let event = self.eventsTable.filter(self.id == e.id)
-        let updateEvent = event.update(self.eventTitle <- e.title, self.eventStartDate <- e.startDate, self.eventStartTime <- e.startTime, self.eventEndDate <- e.endDate, self.eventEndTime <- e.endTime, self.eventLocation <- e.location, self.eventDescription <- e.description)
-        do {
-            try self.database.run(updateEvent)
-        } catch {
-            print(error)
-        }
+        database.updateEvent(e: e)
     }
     
     func listEvents() {
-        do {
-            let events = try self.database.prepare(eventsTable)
-            for event in events {
-                print("eventId: \(event[self.id]), title: \(event[self.eventTitle]), startDate: \(event[self.eventStartDate]), startTime: \(event[self.eventStartTime]), endDate: \(event[self.eventEndDate]), endTime: \(event[self.eventEndTime]),location: \(event[self.eventLocation]), description: \(event[self.eventDescription]!),")
-            }
-        } catch {
-            print(error)
-        }
+        let allEventsString = database.listAllEvents()
     }
     
     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
@@ -213,7 +123,6 @@ class ScheduleControllerViewController: UIViewController/*, UITableViewDelegate,
         }
         if let newEventObserver = newEventObserver {
             NotificationCenter.default.removeObserver(newEventObserver)
-            print("Event Observer Deallocated")
         }
     }