for the rest, only compute, not updating