Massive amounts of work, better look at diff