refactored plugins