         
         self.progress += add
         
-        if self.progress > self.duration {
+        let progress = self.progress - delay;
+        
+        if progress > self.duration {
             self.updateBlock(progress: 1.0)
             self.completed = true
             self.completeBlock(completed: self.completed)
-        
-        } else if self.progress > 0 {
-            self.updateBlock(progress: self.interpolator.valueForProgress(self.progress/self.duration))
-        }
-    }
-    
-
-
+            
+        } else if progress > 0 {
+            self.updateBlock(progress: self.interpolator.valueForProgress(progress/self.duration))
+        }
+    }
+    
+    
+    
     func interpolator(block:((progress:Float) -> Float)) -> AnimatorObject{
         self.interpolator = AnimatorInterpolator(block: block)
         return self

        object.started = true
        animationObjects.append(object)
    }

    class func removeAnimatorObject(object:AnimatorObject){
        self.sharedInstance().addAnimatorObject(object)
    }

        
        return self
    }
    
    func start(){
        if started { self.paused = false}
        else { Animator.addAnimatorObject(self) }
