Refactored save to base class