first commit -- still need to exercise this code for settings changes, but i'm putting it in the repo so as not to lose it.