more calculation redesign