further streamlining of lexer