Redesigning lexer.