refactored aggregates