lex
fix bugs