starting on lexer