(cherry picked from commit 76486e0e) (cherry picked from commit accc4ee0) (cherry picked from commit 5459c5fe)