Refactoring to use common base