beginning of lexer