A bunch of new changes


Former-commit-id: 7517774cf1ddb8d99153e84e6678508930e8734a