fix parser and lexer