adaptive first