Adapter refactoring