Finish GUI

Finally merging the GUI branch.