Lots of updates and tweaks.