add o(n^3) + nlogn(not n^2)