Lots of notes- finally going to do this, combining lessons from dozens of instances