extensions refactoring