more modularity with client fixes and authentication that works