GG upstream

Collect recent changed in GG branch to merge them into DFK branch