lazily create connections on first usage