adding NodePos.countChars/forwardChars, cleaning things up