add plugin support including skip plugin more directory refactoring