lots of rework/rewording to reflect current Phoenix code