new parser abstract base class, all future parsers implement it, also run script