divide and conquer, done maybe