   }
   
   
-  internal func update(tags: [String], constraintToWidth: CGFloat = -1) {
+  public func update(tags: [String], constraintToWidth: CGFloat = -1) {
     let rightLimit = (constraintToWidth < 0 ? self.frame.width : constraintToWidth)
     var rect = self.bounds
     rect.size.width = rightLimit

    }
  }
  
  override public func systemLayoutSizeFittingSize(targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
    var size = super.systemLayoutSizeFittingSize(targetSize, withHorizontalFittingPriority: UILayoutPriorityFittingSizeLevel, verticalFittingPriority: UILayoutPriorityFittingSizeLevel)
    psTagView?.update(tags, constraintToWidth: self.contentView.bounds.width - psTagView.frame.origin.x)

  
  private func createNewButton(title: String) -> PSTagButton {
    let tagButton = PSTagButton.newInstance(title, font: tagFont)
    tagButton.layer.cornerRadius = cornerRadius
    //scroll view user interaction are offs
    tagButton.tagActionBlock = { (sender: UIButton) -> Bool in
      self.psTagDelegate?.psTagTapped(sender.tag - self.tagOffset, tagView: self)
