Creating a pull request to prepare for final reviews before the big merge.

@karanpoddar No need to do anything about this, just using this to go through all of the changes again before we merge it back.