Move these changes to master branch!

These changes are solid, master branch, upgrades.