Improve lexer