Initial version of final GUI. Needs cleaning up a lot.