further refactored 3rd party plugins to be completely isolated from main codebase