Wip 10114 giant

backport from master.   Cherry-picked original and fixup commit for clarity.