divide and conquer approach