Abstract classes for BasicPlan & AdvancePlan. few changes in Agent.