 		updateBlock?(self)
 		
 		// make sure we don't consider timeline done if we currently don't have any tweens playing
-		done = (elapsed <= delay || elapsed >= endTime)
+		done = (elapsed <= delay || elapsed >= (delay + endTime))
 		if done {
 			return completed()
 		}

		
		// if animation doesn't repeat forever, cap elapsed time to endTime
		if !repeatForever {
			elapsed = min(elapsed, endTime)
		}
		
		// check for callbacks

	
	public func stagger(offset: CFTimeInterval) -> Timeline {
		for (idx, tween) in tweens.enumerate() {
			tween.startTime = tween.delay + offset * CFTimeInterval(idx)
		}
		return self
	}
