made a change to manual lexer to parse invalid tokens; doesn't work yet