client example is now async