implement parser, add models