almost there, but something is blocking from it exiting cleanly
closer, but i think the client will need to be instantiated everytime