Lots of updates to get things working.