Lots of updates and tests