changes from Base refactoring