Updated lexer