added lexer