refactor base aggregate + add hll compute function