Lots of changes to get it closer to a final state...