second pass update