lexer works