changed parser and lexer