 }
 
 public func + (lhs: Date, rhs: [Calendar.Component : Int]) -> Date {
-	return try! lhs.add(components: DateInRegion.componentsFrom(values: rhs))
+	return lhs.add(components: DateInRegion.componentsFrom(values: rhs))
 }
 
 public func - (lhs: Date, rhs: [Calendar.Component : Int]) -> Date {
-	return try! lhs.add(components: DateInRegion.componentsFrom(values: rhs, multipler: -1))
+	return lhs.add(components: DateInRegion.componentsFrom(values: rhs, multipler: -1))
 }
 
 public func - (lhs: Date, rhs: Date) -> TimeInterval {

	/// - throws: throw an exception if new date cannot be evaluated
	///
	/// - returns: a new `Date`
	public func add(components: DateComponents) throws -> Date {
		let date: DateInRegion = self.inGMTRegion() + components
		return date.absoluteDate
	}

	/// - throws: throw an exception if new date cannot be evaluated
	///
	/// - returns: a new `Date`
	public func add(components: [Calendar.Component: Int]) -> Date {
		let date: DateInRegion = self.inGMTRegion() + components
		return date.absoluteDate
	}
