always calculate aggregate