         }
     }
     
+    private func updateBackgroundStyle(newStyle: BackgroundStyle) {
+        if let backgroundViewContainer = self.backgroundViewContainer {
+            
+            // clear subviews
+            for view in backgroundViewContainer.subviews{
+                view.removeFromSuperview()
+            }
+            _backgroundView = nil
+            
+            switch newStyle {
+                
+            case .BlurExtraLight, .BlurLight, .BlurDark:
+                self.backgroundViewContainer?.backgroundColor = UIColor.clearColor()
+                
+                var style: UIBlurEffectStyle
+                switch newStyle {
+                case .BlurExtraLight: style = UIBlurEffectStyle.ExtraLight
+                case .BlurDark: style = UIBlurEffectStyle.Dark
+                default: style = UIBlurEffectStyle.Light
+                }
+                
+                // add blur view
+                let blurEffect = UIBlurEffect(style: style)
+                let visualEffectView = UIVisualEffectView(effect: blurEffect)
+                
+                self.backgroundViewContainer?.addSubview(visualEffectView)
+                visualEffectView.autoPinEdgesToSuperviewEdges()
+                
+            case .Custom:
+                
+                // create custom background view
+                let backgroundView = UIView()
+                backgroundViewContainer.addSubview(backgroundView)
+                backgroundView.autoPinEdgesToSuperviewEdges()
+                _backgroundView = backgroundView
+                
+            default:()
+            }
+        }
+    }
+    
     // MARK: Public
     
     func show() {
         self.setUpIfRequired()
         
-        self.backgroundColor = UIColor.redColor()
     }
     
     func hide() {


class CocoaBar: UIView {
    
    // MARK: Defaults
    let cocoaBarDefaultHeight: Float = 88.0
    
    // MARK: Variables
    var height: Float
    
    private var rootWindow: UIWindow?
    
    // MARK: Init
    

                self.autoSetDimension(ALDimension.Height, toSize: CGFloat(self.height))
            }
        }
        
        // set up view components
        if self.backgroundViewContainer == nil {
            self.setUpComponents()
        }
    }
    
    private func setUpComponents() {
        
        // add background view container
        let backgroundViewContainer = UIView()
        self.addSubview(backgroundViewContainer)
        backgroundViewContainer.autoPinEdgesToSuperviewEdges()
        self.backgroundViewContainer = backgroundViewContainer
        self.updateBackgroundStyle(self.backgroundStyle)
        
    }
    
    private func bringBarToFront() {
