improvements in lexing