change interface of parser
implement parser(trial version)