     let context = Context()
     var groupOfEvents : Group!
     
-    let sectionNames = ["Before Conference", "Social Day", "First Day", "Second Day", "Hackathon", "The End"]
+    let sectionNames = ["Before Conference", "Social Events", "First Conference Day", "Second Conference Day", "Hackathon", "The End"]
     
-    var beforeTimeSlot : Entity!
-    var endTimeSlot : Entity!
-    var socialDaySlots : [Entity]!
-    var firstDaySlots : [Entity]!
-    var secondDaySlots : [Entity]!
-    var hackathonSlots : [Entity]!
-    
-    lazy var events : [[Entity]] = [[self.beforeTimeSlot], self.socialDaySlots, self.firstDaySlots, self.secondDaySlots, self.hackathonSlots, [self.endTimeSlot]]
+    var events : [[Entity]] = [[], [], [], [], [], []]
 
     lazy var reload : dispatch_block_t = dispatch_debounce_block(0.1) {
         let events = sorted(self.groupOfEvents) {

            return e1.get(StartTimeComponent)!.date.timeIntervalSinceReferenceDate < e2.get(StartTimeComponent)!.date.timeIntervalSinceReferenceDate
        }
        
        self.beforeTimeSlot = events.first
        self.endTimeSlot = events.last
        
        let cal = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
        
        self.socialDaySlots = events.filter({
            let dateComponents = NSDateComponents()
            
            dateComponents.year = 2015
            dateComponents.month = 5
            dateComponents.day = 17
            
            if let date = $0.get(StartTimeComponent)?.date {
                return cal.date(date, matchesComponents: dateComponents)
            }
            return false
        })
        
        self.firstDaySlots = events.filter({
            let dateComponents = NSDateComponents()
            
            dateComponents.year = 2015
            dateComponents.month = 5
            dateComponents.day = 18
            
            if let date = $0.get(StartTimeComponent)?.date {
                return cal.date(date, matchesComponents: dateComponents)
            }
            return false
        })
        
        self.secondDaySlots = events.filter({
            let dateComponents = NSDateComponents()
            
            dateComponents.year = 2015
            dateComponents.month = 5
            dateComponents.day = 19
            
            if let date = $0.get(StartTimeComponent)?.date {
                return cal.date(date, matchesComponents: dateComponents)
            }
            return false
        })
        
        self.hackathonSlots = events.filter({
            let dateComponents = NSDateComponents()
            
            dateComponents.year = 2015
            dateComponents.month = 5
            dateComponents.day = 20
            
            if !$0.has(EndTimeComponent) {
                return false
            }
            
            if let date = $0.get(StartTimeComponent)?.date {
                return cal.date(date, matchesComponents: dateComponents)
            }
            return false
        })
        
        self.tableView.reloadData()
    }

    }
    
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return events[section].count
    }
    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
