Lots of updates. Too lazy to list.