divide and conquer.