Gui2

I'm doing the integration in my branch, but I'm sending a pull request on this branch because that makes it easier to see if you've added any new stuff that I might want to use....