refactored the aggregate-builders