         }
     }
     
-    // MARK: Today
-    
-    public func today() {
-        
-        switch self.displayMode! {
-            
-            case .week:
-                self.findTodayInWeekViews()
-                
-            case .month:
-                self.findTodayInMonthViews()
-        }
-    }
-    
-    fileprivate func findTodayInMonthViews() {
-        
-        if self.previousMonthView.containsToday {
-            
-            UIView.animate(withDuration: 0.15, animations: self.showPreviousView, completion: self.previousMonthViewDidShow)
-        }
-        else if self.currentMonthView.containsToday {
-            
-            self.currentMonthView.setSelectedDate()
-        }
-        else if self.nextMonthView.containsToday {
-            
-            UIView.animate(withDuration: 0.15, animations: self.showNextView, completion: self.nextMonthViewDidShow)
-        }
-        else {
-            
-            let today = Date()
-            
-            if today.compare(self.selectedDate) == .orderedAscending {
-                
-                self.showToday(today, animations: self.showPreviousView, monthViewReuse: self.reuseNextMonthView) { finished in
-                 
-                    if finished {
-                        
-                        self.previousMonthViewDidShow(finished)
-                        
-                        let newStartDate = self.nextMonthStartDate(currentMonthStartDate: self.currentMonthView.startDate)
-                        
-                        self.nextMonthView.startDate = newStartDate
-                    }
-                }
-            }
-            else if today.compare(self.selectedDate) == .orderedDescending {
-                
-                self.showToday(today, animations: self.showNextView, monthViewReuse: self.reusePreviousMonthView) { finished in
-                    
-                    if finished {
-                        
-                        self.nextMonthViewDidShow(finished)
-                        
-                        let newStartDate = self.previousMonthStartDate(currentMonthStartDate: self.currentMonthView.startDate)
-                        
-                        self.previousMonthView.startDate = newStartDate
-                    }
-                }
-            }
-        }
-    }
-    
-    fileprivate func showToday(_ today: Date, animations: @escaping () -> Void, monthViewReuse: @escaping ((Date) -> Void), completion: @escaping ((Bool) -> Void)) {
-        
-        UIView.animate(withDuration: 0.08, animations: animations, completion: { finished in
-            
-            if finished {
-                
-                let newStartDate = self.currentMonthStartDate(fromDate: today)
-                
-                monthViewReuse(newStartDate)
-
-                self.resetLayout()
-                
-                UIView.animate(withDuration: 0.08, animations: animations, completion: { finished in completion(finished) }) 
-            }
-        }) 
-    }
-    
-    fileprivate func findTodayInWeekViews() {
-        
-        if self.previousWeekView.containsToday {
-            
-            UIView.animate(withDuration: 0.15, animations: self.showPreviousView, completion: self.previousWeekViewDidShow)
-        }
-        else if self.currentWeekView.containsToday {
-            
-            let todayComponents = self.configuration.calendar.dateComponents([.weekday, .weekOfYear], from: Date())
-            
-            self.currentWeekView.setSelectedDate(weekday: todayComponents.weekday!)
-        }
-        else if self.nextWeekView.containsToday {
-            
-            UIView.animate(withDuration: 0.15, animations: self.showNextView, completion: self.nextWeekViewDidShow)
-        }
-        else {
-            
-            let today = Date()
-            
-            if today.compare(self.selectedDate) == .orderedAscending {
-                
-                self.showToday(today, animations: self.showPreviousView, weekViewReuse: self.reuseNextWeekView) { finished in
-                 
-                    if finished {
-                        
-                        self.previousWeekViewDidShow(finished)
-                        
-                        let newDates = self.nextWeekDates(currentWeekDates: self.currentWeekView.dates)
-                        
-                        self.nextWeekView.dates = newDates
-                    }
-                }
-            }
-            else if today.compare(self.selectedDate) == .orderedDescending {
-                
-                self.showToday(today, animations: self.showNextView, weekViewReuse: self.reusePreviousWeekView) { finished in
-                    
-                    if finished {
-                        
-                        self.nextWeekViewDidShow(finished)
-                        
-                        let newDates = self.previousWeekDates(currentWeekDates: self.currentWeekView.dates)
-                        
-                        self.previousWeekView.dates = newDates
-                    }
-                }
-            }
-        }
-    }
-    
-    fileprivate func showToday(_ today: Date, animations: @escaping () -> Void, weekViewReuse: @escaping (([Date?]) -> Void), completion: @escaping ((Bool) -> Void)) {
-        
-        UIView.animate(withDuration: 0.08, animations: animations, completion: { finished in
-            
-            if finished {
-                
-                let newDates = self.currentWeekDates(fromDate: today)
-                
-                weekViewReuse(newDates)
-                
-                self.resetLayout()
-                
-                UIView.animate(withDuration: 0.08, animations: animations, completion: { finished in completion(finished) }) 
-            }
-        }) 
-    }
-    
-    // MARK: Toggle Current View
+    // MARK: Toggle Views
     
     internal func toggleCurrentView(_ pan: UIPanGestureRecognizer) {
         

    }
}

// MARK: - Month & Week Views

public extension GCCalendarView {
    
    // MARK: Views
    

    }
}

// MARK: - Public Functions

public extension GCCalendarView {
    
    public func today() {
        
        switch self.displayMode! {
            
            case .week:
                self.findTodayInWeekViews()
                
            case .month:
                self.findTodayInMonthViews()
        }
    }
}
