Please merge my PR15squash branch into your PR15squash branch

Take your time and review what I have done. I hope the commit messages are descriptive enough. Then if you are ready, pull everything to the master branch. Thanks.