merging all PGs in one place and cleaning up

I am merging all the PGs here and cleaning them up alot on this PR (more changes coming).
Not all platform files will be updated on this branch / I'm just working on OSX.