first pass of GUI