client functions for all of the client commands
use slices instead of vectors in the api