i think i need to make this client (re)connect on demand or something, though, i'm getting a lot of timeouts