add divide and conquer shortcutting algorithm