Finished basic functionality and GUI.