Improvements

Please see commit summaries for change descriptions