Base refactoring