category rollup calculation - first implementation