alternative aggregation API