made `connect_with_settings` to be invoked without block