Refactor clients a bit, could probably stand more. Still, it compiles