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

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

				}
			}
		}
				
		if elapsed < (delay + repeatDelay) {
			if reversed {
				return completed()
