def connect(self, database, timezone=None, cache_size=0, auto_ensure=True, replica_set=None, *args, **kwds):
		''' `connect` is a thin wrapper around __init__ which creates the
			database connection that the session will use.

			:param database: the database name to use.  Should be an instance of \
					:class:`basestring`
			:param safe: The value for the "safe" parameter of the Session \
				init function
			:param auto_ensure: Whether to implicitly call ensure_indexes on all write \
				operations.
			:param replica_set: The replica-set to use (as a string). If specified, \
				:class:`pymongo.mongo_replica_set_client.MongoReplicaSetClient` is used \
				instead of :class:`pymongo.mongo_client.MongoClient`
			:param args: arguments for :class:`pymongo.mongo_client.MongoClient`
			:param kwds: keyword arguments for :class:`pymongo.mongo_client.MongoClient`
		'''
		safe = kwds.get('safe', False)
		if 'safe' in kwds:
			del kwds['safe']
		if timezone is not None:
			kwds['tz_aware'] = True

		if replica_set is not None:
			if 'MongoReplicaSetClient' in globals():
				conn = MongoReplicaSetClient(*args, replicaSet=replica_set, **kwds)
			else: # pragma: no cover
				conn = MongoClient(*args, replicaSet=replica_set, **kwds)
		else:
			conn = MongoClient(*args, **kwds)

		db = conn[database]
		return Session(db, timezone=timezone, safe=safe, cache_size=cache_size, auto_ensure=auto_ensure)