Sync with master

Keeping this branch up to date with changes on master.