Lots of updates and fixes.