abstracting a base class and subclassing a new endnote_parser