Lots of updates and cleanup