Refactoring of base classes