     
     func setupButtons () {
         
+        // Animation
+        setupAnimationButton()
+        
+        // Colors
+        setupRandomColorButton()
+        setupNumberOfColorsButtons()
+        
         // Gradients
         setupGamutGradientButton()
         setupLinearGradientButton()
         setupSweepGradientButton()
         setupRadialGradientButton()
         
-        // Colors
-        setupRandomColorButton()
-        setupNumberOfColorsButtons()
-        
         // Options
         setupBlendedButton()
         setupKeepShapeButton()
     }
     
     
-    // MARK: Gradients
-    
-    func setupGamutGradientButton () {
-        
-        let origin = convertPointToView(CGPoint(x: self.size.width * 1 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
-        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
-        let frame = CGRect(origin: origin, size: size)
-        setupButton(frame: frame, title: "Gamut", action: "gamutGradientButtonPressed")
-    }
-    
-    
-    func setupLinearGradientButton () {
-        
-        let origin = convertPointToView(CGPoint(x: self.size.width * 6 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
-        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
-        let frame = CGRect(origin: origin, size: size)
-        setupButton(frame: frame, title: "Linear", action: "linearGradientButtonPressed")
-    }
-    
-    
-    func setupRadialGradientButton () {
-        
-        let origin = convertPointToView(CGPoint(x: self.size.width * 11 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
-        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
-        let frame = CGRect(origin: origin, size: size)
-        setupButton(frame: frame, title: "Radial", action: "radialGradientButtonPressed")
-    }
-    
-    
-    func setupSweepGradientButton () {
-        
-        let origin = convertPointToView(CGPoint(x: self.size.width * 16 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
-        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
-        let frame = CGRect(origin: origin, size: size)
-        setupButton(frame: frame, title: "Sweep", action: "sweepGradientButtonPressed")
+    // MARK: Animation
+    
+    func setupAnimationButton () {
+        
+        let origin = convertPointToView(CGPoint(x: self.size.width * 15 / 21, y: self.size.height - self.size.width * 0.2 / 21))
+        let size = CGSize(width: self.size.width * 5 / 21, height: self.size.height * 1 / 21)
+        let frame = CGRect(origin: origin, size: size)
+        let button = setupButton(frame: frame, title: "Animate: No", action: "animateButtonPressed")
+        button.tag = 30
     }
     
     

    }
    
    
    // MARK: Helpers
    
    /**
    

        let plusFrame = CGRect(origin: plusOrigin, size: plusSize)
        let plusButton = setupButton(frame: plusFrame, title: "+", action: "plusColorsButtonPressed")
        plusButton.tag = 97
    }
    
    
    // MARK: Gradients
    
    func setupGamutGradientButton () {
        
        let origin = convertPointToView(CGPoint(x: self.size.width * 1 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
        let frame = CGRect(origin: origin, size: size)
        setupButton(frame: frame, title: "Gamut", action: "gamutGradientButtonPressed")
    }
    
    
    func setupLinearGradientButton () {
        
        let origin = convertPointToView(CGPoint(x: self.size.width * 6 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
        let frame = CGRect(origin: origin, size: size)
        setupButton(frame: frame, title: "Linear", action: "linearGradientButtonPressed")
    }
    
    
    func setupRadialGradientButton () {
        
        let origin = convertPointToView(CGPoint(x: self.size.width * 11 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
        let frame = CGRect(origin: origin, size: size)
        setupButton(frame: frame, title: "Radial", action: "radialGradientButtonPressed")
    }
    
    
    func setupSweepGradientButton () {
        
        let origin = convertPointToView(CGPoint(x: self.size.width * 16 / 21, y: self.size.height - nodeSize.height * 11.5 / 10))
        let size = CGSize(width: self.size.width * 4 / 21, height: self.size.height * 1 / 21)
        let frame = CGRect(origin: origin, size: size)
        setupButton(frame: frame, title: "Sweep", action: "sweepGradientButtonPressed")
    }
    
    
