Also including changes from master's d34896811c6773d0e48a5e43232c8e3dcb09d910
Also including changes from master's 5bdafb48df2e4723a159c23d5ff00ae053e8544e