add Parser abstract class