Revert "Rollback Prab's merge"

This reverts commit db2eb2ca6b0c7d107915febfe4c08252ee089798.
Revert "Rollback Stephen's commit"

This reverts commit 9436d0d307f8db97eddbb1e04c4396189ec31d26.