fix bug in lexer