cleaned up the client and actually added documentation