Lots of updates and fixes