so complicated problem, figure it out, I am genius