     }
 
     private func arrange() {
+        contentView.addSubview(buttonViews)
         contentView.addSubview(allCategoriesButton)
+        contentView.addSubview(gradientView)
 
         allCategoriesButton.snp_makeConstraints { make in
             make.top.bottom.trailing.equalTo(contentView)
             make.width.equalTo(contentView.snp_height)
+        }
+
+        gradientView.snp_makeConstraints { make in
+            make.trailing.equalTo(allCategoriesButton.snp_leading)
+            make.top.bottom.equalTo(contentView)
+            make.width.equalTo(30)
+        }
+
+        buttonViews.snp_makeConstraints { make in
+            make.top.leading.bottom.equalTo(contentView)
+            make.trailing.equalTo(gradientView.snp_trailing)
         }
     }
 


    private var buttonEndpointLookup: [UIButton: ElloAPI] = [:]
    private var categoryButtons: [UIButton] = []
    private var allCategoriesButton = UIButton()

    private class func buttonTitle(category: String, selected: Bool) -> NSAttributedString {
        var attrs: [String: AnyObject] = [

        fatalError("init(coder:) has not been implemented")
    }

    override public func layoutSubviews() {
        super.layoutSubviews()
        gradientLayer.frame = gradientView.bounds
    }

    private func style() {
        backgroundColor = .whiteColor()
        allCategoriesButton.setTitle(InterfaceString.SeeAll, forState: .Normal)
        allCategoriesButton.backgroundColor = .whiteColor()

        gradientLayer.locations = [0, 1]
        gradientLayer.colors = [
            UIColor.whiteColor().CGColor,
            UIColor.whiteColor().colorWithAlphaComponent(0).CGColor,
        ]
        gradientLayer.startPoint = CGPoint(x: 1, y: 0)
        gradientLayer.endPoint = CGPoint(x: 0, y: 0)
        gradientView.layer.addSublayer(gradientLayer)
    }

    private func bindActions() {
