connection is an optional parameter