add disconnect and EnsureConnected helper