WIP.  Merging Keith's changes into my branch