         let newFrames = getFrame()
         let backgroundColor = getRandomColor()
         
-        views[currentView].frame = newFrames.topLeft
-        views[currentView].backgroundColor = backgroundColor
-        currentView += 1
-        
-        views[currentView].frame = newFrames.topRight
-        views[currentView].backgroundColor = backgroundColor
-        currentView += 1
-        
-        views[currentView].frame = newFrames.bottomLeft
-        views[currentView].backgroundColor = backgroundColor
-        currentView += 1
-        
-        views[currentView].frame = newFrames.bottomRight
-        views[currentView].backgroundColor = backgroundColor
-        currentView += 1
+        drawFrame(frame: newFrames.topLeft, color: backgroundColor)
+        drawFrame(frame: newFrames.topRight, color: backgroundColor)
+        drawFrame(frame: newFrames.bottomLeft, color: backgroundColor)
+        drawFrame(frame: newFrames.bottomRight, color: backgroundColor)
         
         if currentView >= views.count {
             currentView = 0
         }
+    }
+    
+    func drawFrame(frame: CGRect, color: UIColor) {
+        views[currentView].frame = frame
+        views[currentView].backgroundColor = color
+        currentView += 1
     }
     
     func startDrawing()

    }
    
    func getFrame() -> (topLeft: CGRect, topRight: CGRect, bottomLeft: CGRect, bottomRight: CGRect) {
        let randWidth = getRandomFrom(min: 20, thruMax: 60)
        let randHeight = getRandomFrom(min: 20, thruMax: 60)
        
        let centerX = frame.size.width/2
        let centerY = frame.size.height/2
        
        let randX = getRandomFrom(min:0.0, thruMax:centerX)
        let randY = getRandomFrom(min:0.0, thruMax:centerY)
        
        let rightX = 2*centerX - randX - randWidth
        let bottomY = 2*centerY - randY - randHeight
        
        let topLeft = CGRect(x: randX, y: randY, width: randWidth, height: randHeight)
        let topRight = CGRect(x: rightX, y: randY, width: randWidth, height: randHeight)
        let bottomLeft = CGRect(x: randX, y: bottomY, width: randWidth, height: randHeight)
        let bottomRight = CGRect(x: rightX, y: bottomY, width: randWidth, height: randHeight)
        
        return (topLeft, topRight, bottomLeft, bottomRight)
    }

    var alphaMin : CGFloat = 0.0
    var alphaMax : CGFloat = 1.0
    
    var rectMinDimension : CGFloat = 20
    var rectMaxDimension : CGFloat = 150
    
    var useAlpha = false
    
    var delay : TimeInterval = 0.25
    var timer : Timer?
    
    var views : [UIView] = Array()
    var currentView = 0
    var viewCount = 200
    
    func move() {
        if views.count < viewCount {
