numerous improvements to client including error handling and additional user endpoints