     
     // MARK: Color layers
     private func colorLayers() {
-        boxLayer.strokeColor = boxLineColor.CGColor
-        checkLayer.strokeColor = selected ? checkLineColor.CGColor : UIColor.clearColor().CGColor
+        containerLayer.strokeColor = containerColor.CGColor
+        
+        // Set colors based on selection
+        if selected {
+            containerLayer.fillColor = containerFillsOnSelected ? containerColor.CGColor : UIColor.clearColor().CGColor
+            checkLayer.strokeColor = checkColor.CGColor
+        } else {
+            containerLayer.fillColor = UIColor.clearColor().CGColor
+            checkLayer.strokeColor = UIColor.clearColor().CGColor
+        }
     }
     
     // MARK: Selection

    }
    
    func customInitialization() {
        boxLayer.fillColor = UIColor.clearColor().CGColor
        checkLayer.fillColor = UIColor.clearColor().CGColor
        
        colorLayers()
        layoutLayers()
        
        layer.addSublayer(boxLayer)
        layer.addSublayer(checkLayer)
    }
    


@IBDesignable
public class CheckboxButton: UIButton {
    // MARK: Inspectable properties
    
    @IBInspectable public var checkLineWidth: CGFloat = 2.0 {
        didSet {
            layoutLayers()
        }
    }
    @IBInspectable public var checkColor: UIColor = UIColor.blackColor() {
        didSet {
            colorLayers()
        }
    }
    
    @IBInspectable public var containerLineWidth: CGFloat = 2.0 {
        didSet {
            layoutLayers()
        }
    }
    @IBInspectable public var containerColor: UIColor = UIColor.blackColor() {
        didSet {
            colorLayers()
        }
    }
    
    @IBInspectable public var circular: Bool = false {
        didSet {
            layoutLayers()
        }
    }
    @IBInspectable public var containerFillsOnSelected: Bool = false {
        didSet {
            colorLayers()
        }
    }
    
    // MARK: Box and check properties
    let containerLayer = CAShapeLayer()
    let checkLayer = CAShapeLayer()
    
    var containerFrame: CGRect {
        let width = bounds.width
        let height = bounds.height
        
