Merged master into modern. Confirm everything ok before merging into modern

Merged master into modern to keep modern updated with recent changes, and now the common ancestor (the last commit that is present in both branches) is much closer, and further merges will be much easier because merge always starts from the last common ancestor.