uhh half working half not working divide and conquer