Creating user-defined aggregates