GUI and socket client first cut