Lots of updating and cleaning up