def Change(self,cpu=None,memory=None,description=None,group_id=None):
		"""Change existing server object.

		One more more fields can be set and method will return with a requests
		object for all queued activities.  This is a convenience function - all
		each of these changes requires a seperate API call.  Some API calls are synchronous
		(e.g. changing group ID or password) while others are async.

		"""

		if group_id:  groupId = group_id
		else:  groupId = None

		payloads = []
		requests = []

		for key in ("cpu","memory","description","groupId"):
			if locals()[key]:
				requests.append(clc.v2.Requests(clc.v2.API.Call('PATCH','servers/%s/%s' % (self.alias,self.id),
				                                                json.dumps([{"op": "set", "member": key, "value": locals()[key]}]),
																session=self.session),
								alias=self.alias,
								session=self.session))

		if len(requests):  self.dirty = True

		return(sum(requests))