Cleanup client

Resolves a bunch of issues- still need to test it though.

Resolves #292 #290 #293 (Theoretically...)