Added base class for additional algorithms