Revert "Revert "Initialization.""

This reverts commit 5a56f5257ddad487ba9fbd80a7568d9564d5a2e5.
Revert "Revert "Merge remote-tracking branch 'upstream/master'""

This reverts commit 7defd8f11c60fb9af15129c53c6de3990982b0af.