Refactored to use common base class