Merge Chris's and IGG's changes upstream

This is just to propagate Chris's changes upstream