   func expandSelectionRight() {
     if selectedRange.location < textStorage.length {
       selectedRange.length++
+    }
+  }
+  
+  func moveCursorLeft() {
+    if selectedRange.location > 0 {
+      selectedRange.location--
+    }
+  }
+  
+  func moveCursorRight() {
+    if selectedRange.location < textStorage.length {
+      selectedRange.location++
+      if selectedRange.length > 0 {
+        selectedRange.length--
+      }
     }
   }
   

        
        let selRightFrame = CGRect(
          x: buttonSpacing + Int(selLeftFrame.origin.x + selLeftFrame.width),
          y: buttonYOffset, width: 100, height: buttonHeight)
        let expandSelectionRightButton = UIButton(frame: selRightFrame)
        expandSelectionRightButton.setTitle("SelRight", forState: UIControlState.Normal)
        expandSelectionRightButton.addTarget(self, action: Selector("expandSelectionRight"), forControlEvents: UIControlEvents.TouchUpInside)
        
        self.accessoryView!.addSubview(expandSelectionLeftButton)
        self.accessoryView!.addSubview(expandSelectionRightButton)
      }
      return self.accessoryView
    }

  
  override var inputAccessoryView: UIView? {
    get {
      //Eventually refactor this into its own file
      if self.accessoryView == nil {
        let accessoryViewFrame = CGRect(x: 0, y: 0, width: self.frame.width, height: 55)
        self.accessoryView = UIView(frame: accessoryViewFrame)
