algorithms overview 6980249