todo - smart connection behavior - if not already connected, connect
when query called