Cleaned up parser base class