added plugin functional and demo