(cherry picked from commit b419e877) (cherry picked from commit bf3d671b) (cherry picked from commit fcb48553)