lexer is passing tests