anchor.diff:          break;
         default:
           var te = querySelector('#test');
  -        te.text = 'Typed: ' + tinput.text.split('')[this.currentposition];
  +        var typed = tinput.value.split('')[_currentposition];
  +        if (typed != charAtPosition()) {
  +          
  +        
  +        te.text = 'Error: ' + charAtPosition() + '!=' + typed;
  +        }
           this.currentposforward();
       }
     }
  
positive.code:     var sofar = targettext.split('').getRange(0, _currentposition + 1);
      return 100 - (_errors.toDouble() / sofar.length.toDouble() * 100).round();
    }
    void handleKeyEvent(Event e) {
      KeyEvent k = new KeyEvent.wrap(e);
      var tinput = querySelector('#tarea');
      switch (k.keyCode) {
        case KeyCode.SHIFT:
          break;
        case KeyCode.BACKSPACE:
          if (this.currentposition > 0) {
            this.currentposbackward();
            break;
  
negative.code:   int get currentposition => _currentposition;
    set currentposition(int n) => _currentposition = n;
  
    int currentposforward() => this._currentposition++;
  
    int currentposbackward() => _currentposition--;
  
  