plug refactoring