client now with error handling