update:add and_compute function