 		<!--- update the properties of the object with the params struct containing the values of a form post --->
 		<cfset user = model("user").findByKey(1)>
 		<cfset user.setProperties(params)>
-	'	
+	'
 	categories="model-object,miscellaneous" chapters="" functions="properties">
 	<cfargument name="properties" type="struct" required="false" default="#StructNew()#" hint="See documentation for @new.">
 	<cfscript>
-		var loc = {};
-		
-		// add eventual named arguments to properties struct (named arguments will take precedence) 
-		for (loc.key in arguments)
-			if (loc.key != "properties")
-				arguments.properties[loc.key] = arguments[loc.key];
-
+		var $properties = duplicate(arguments.properties);
+		StructDelete(arguments, "properties", false);
+		// add named arguments to properties struct (named arguments will take precedence)
+		StructAppend($properties, arguments, true);
 		// set passed in values to the this scope of this object
-		for (loc.key in arguments.properties)
-			this[loc.key] = arguments.properties[loc.key];
+		StructAppend(this, $properties, true);
 	</cfscript>
 </cffunction>
 

		for (loc.i=1; loc.i <= loc.iEnd; loc.i++)
		{
			loc.iItem = ListGetAt(variables.wheels.class.propertyList, loc.i);
			if (Len(variables.wheels.class.properties[loc.iItem].defaultValue) && (!StructKeyExists(this, loc.iItem) || !Len(this[loc.iItem])))
			{
				// set the default value unless it is blank or a value already exists for that property on the object
				this[loc.iItem] = variables.wheels.class.properties[loc.iItem].defaultValue;
			}
		}
	</cfscript>
</cffunction>

	'
	categories="model-class,miscellaneous" chapters="object-relational-mapping" functions="columnNames,dataSource,property,table,tableName">
	<cfscript>
		var returnValue = variables.wheels.class.propertyList;
		if (ListLen(variables.wheels.class.calculatedPropertyList))
			returnValue = ListAppend(returnValue, variables.wheels.class.calculatedPropertyList);
		</cfscript>
	<cfreturn returnValue>
</cffunction>

<!--- PUBLIC MODEL OBJECT METHODS --->
