         func toggleSelection() {
             selected = !selected
         }
-        
+
+        var trackingArea: NSTrackingArea!
         override func updateTrackingAreas() {
             super.updateTrackingAreas()
             if trackingArea != nil {

        init(_ title: String, _ identifier: String?, _ imagea: NSImage?, tabView: KSTabView) {
            parentTabView = tabView
            super.init(frame: NSZeroRect)

            self.identifier = identifier
        

//            button.attributedTitle = attributedString(parentTabView.labelColor)
  
            button = NSButton.makeButton(title, identifier, imagea, tabView: tabView)
            
            self.addSubview(button)
            
            button.frame.origin = NSMakePoint(parentTabView.buttonPadding, 3)
            
            let frameWidth = button.frame.width + (parentTabView.buttonPadding * 2)
            
            /// UnderLine
            underline = UnderLine(frame: NSMakeRect(selectionLineHeight, 0, frameWidth - (selectionLineHeight * 2), selectionLineHeight))

            self.addSubview(underline)
            
            /// Frame Size

        }
    }
}

extension NSButton {
    private class ButtonCell: NSButtonCell {
        override func drawTitle(title: NSAttributedString, withFrame frame: NSRect, inView controlView: NSView) -> NSRect {
