Update a sh*t load of stuff. I will regret this commit but in the long run it is usefull.