Updated Lexer