public virtual void perform() { throw new NotImplementedException("These function must be overloaded from derived class."); }