Full functional gui, without networking. Needs to be put into classes.