Lots of client stuff.

Signed-off-by: Mark <markle12@gmail.com>