Rich dev branch

This is a second pull request created on a dev branch, after merging the first set of changes.  Only the three commits I've made since that last request was merged appear.