 		var toTranslate : String = ""
 		switch unit {
 			
-		case NSCalendarUnit.Year where singular:		toTranslate = (abbreviated ? "yr" : "year")
-		case NSCalendarUnit.Year where !singular:		toTranslate = (abbreviated ? "yrs" : "years")
-			
-		case NSCalendarUnit.Month where singular:		toTranslate = (abbreviated ? "mo" : "month")
-		case NSCalendarUnit.Month where !singular:		toTranslate = (abbreviated ? "mos" : "months")
-			
-		case NSCalendarUnit.WeekOfYear where singular:	toTranslate = (abbreviated ? "wk" : "week")
-		case NSCalendarUnit.WeekOfYear where !singular: toTranslate = (abbreviated ? "wks" : "weeks")
-			
-		case NSCalendarUnit.Day where singular:			toTranslate = "day"
-		case NSCalendarUnit.Day where !singular:		toTranslate = "days"
-			
-		case NSCalendarUnit.Hour where singular:		toTranslate = (abbreviated ? "hr" : "hour")
-		case NSCalendarUnit.Hour where !singular:		toTranslate = (abbreviated ? "hrs" : "hours")
-			
-		case NSCalendarUnit.Minute where singular:		toTranslate = (abbreviated ? "min" : "minute")
-		case NSCalendarUnit.Minute where !singular:		toTranslate = (abbreviated ? "mins" : "minutes")
-			
-		case NSCalendarUnit.Second where singular:		toTranslate = (abbreviated ? "s" : "second")
-		case NSCalendarUnit.Second where !singular:		toTranslate = (abbreviated ? "s" : "seconds")
+		case NSCalendarUnit.CalendarUnitYear where singular:		toTranslate = (abbreviated ? "yr" : "year")
+		case NSCalendarUnit.CalendarUnitYear where !singular:		toTranslate = (abbreviated ? "yrs" : "years")
+			
+		case NSCalendarUnit.CalendarUnitMonth where singular:		toTranslate = (abbreviated ? "mo" : "month")
+		case NSCalendarUnit.CalendarUnitMonth where !singular:		toTranslate = (abbreviated ? "mos" : "months")
+			
+		case NSCalendarUnit.CalendarUnitWeekOfYear where singular:	toTranslate = (abbreviated ? "wk" : "week")
+		case NSCalendarUnit.CalendarUnitWeekOfYear where !singular: toTranslate = (abbreviated ? "wks" : "weeks")
+			
+		case NSCalendarUnit.CalendarUnitDay where singular:			toTranslate = "day"
+		case NSCalendarUnit.CalendarUnitDay where !singular:		toTranslate = "days"
+			
+		case NSCalendarUnit.CalendarUnitHour where singular:		toTranslate = (abbreviated ? "hr" : "hour")
+		case NSCalendarUnit.CalendarUnitHour where !singular:		toTranslate = (abbreviated ? "hrs" : "hours")
+			
+		case NSCalendarUnit.CalendarUnitMinute where singular:		toTranslate = (abbreviated ? "min" : "minute")
+		case NSCalendarUnit.CalendarUnitMinute where !singular:		toTranslate = (abbreviated ? "mins" : "minutes")
+			
+		case NSCalendarUnit.CalendarUnitSecond where singular:		toTranslate = (abbreviated ? "s" : "second")
+		case NSCalendarUnit.CalendarUnitSecond where !singular:		toTranslate = (abbreviated ? "s" : "seconds")
 			
 		default:													toTranslate = ""
 		}

	/**
	Return a new NSDate instance with the current date and time set to 00:00:00
	
	- parameter tz: optional timezone abbreviation
	
	- returns: a new NSDate instance of the today's date
	*/
	class func today(tz: String? = nil) -> NSDate! {
		let nowDate = NSDate()


public func + (left: NSDate, right: CalendarType) -> NSDate {
	let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
	return calendar.dateByAddingComponents(right.dateComponents(), toDate: left, options: NSCalendarOptions.allZeros)!
}

public func += (inout left: NSDate, right: CalendarType) {
