More client-server stuff, actually getting somewhere now