     return true
   }
   
-  func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
+  func textField(textField: TagInput, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
     if countElements(string) > 0 {
       let lastCharacter = string.substringFromIndex(advance(string.endIndex, -1))
       

    }
    tagArray.removeAll(keepCapacity: false)
    self.addNewTag(false)
  }
  
  func addNewTag(becomeFirstResponder: Bool, string:String="") {

    tagArray.last.shrinkWrap()
    tagArray.last.delegate = self
    tagArray.last.tagDelegate = self
    tagArray.last.addTarget(self, action:"tagTextChanged:", forControlEvents: UIControlEvents.EditingChanged)
    
    if nextPos+STARTING_WIDTH >= self.frame.width {
      self.tagTooWide(tagArray.last)
