Lots of work on Lexer.