allow null to be passed to set_connection()