debugged lexer