Revert "Revert "Merge changes If65b4e6c,If993b7f7""

This reverts commit 91e857ab5ccb3f202647dcf3e25f8cc6bc90ccb4.
20 files changed