needed for lexer