wip recompute upward