 extension SpotlightView {
     private func moveDirect(_ toSpotlight: SpotlightType, duration: TimeInterval = SpotlightView.defaultAnimateDuration) {
         maskLayer.add(moveAnimation(duration, toSpotlight: toSpotlight), forKey: nil)
-        spotlight = toSpotlight
+        spotlights = [toSpotlight]
     }
     
     private func moveDisappear(_ toSpotlight: SpotlightType, duration: TimeInterval = SpotlightView.defaultAnimateDuration) {
         CATransaction.begin()
         CATransaction.setCompletionBlock {
             self.appear(toSpotlight, duration: duration)
-            self.spotlight = toSpotlight
+            self.spotlights = [toSpotlight]
         }
         disappear(duration)
         CATransaction.commit()

    }
    
    open func appear(_ spotlight: SpotlightType, duration: TimeInterval = SpotlightView.defaultAnimateDuration) {
        maskLayer.add(appearAnimation(duration, spotlight: spotlight), forKey: nil)
        self.spotlight = spotlight
    }
    
    open func disappear(_ duration: TimeInterval = SpotlightView.defaultAnimateDuration) {

        return layer
    }()
    
    var spotlights: [SpotlightType] = []
    
    public override init(frame: CGRect) {
        super.init(frame: frame)
