Huge update, lots of stuff.