At a glance, I see many of the changes here that I saw in PR#1; enough that I don't want to re-read the whole thing to find out if PR#1 and PR#2 are different. Let's please work in only in new PRs, one PR for each branch you create for each small set of related changes.
Pull-Request has been closed by immanetize