lexer is almost done