a promise based couch client