 				// set the info we need for each property
 				variables.wheels.class.properties[loc.property] = {};
 				variables.wheels.class.properties[loc.property].dataType = loc.type;
-				variables.wheels.class.properties[loc.property].type = variables.wheels.class.adapter.$getType(loc.type);
+				variables.wheels.class.properties[loc.property].type = variables.wheels.class.adapter.$getType(loc.type, loc.columns["decimal_digits"][loc.i]);
 				variables.wheels.class.properties[loc.property].column = loc.columns["column_name"][loc.i];
 				variables.wheels.class.properties[loc.property].scale = loc.columns["decimal_digits"][loc.i];
 

		variables.wheels.errors = [];
		// keep a unique identifier for each model created in case we need it for nested properties
		variables.wheels.tickCountId = GetTickCount().toString(); // make sure we have it in milliseconds
		
		// copy class variables from the object in the application scope
		if (!StructKeyExists(variables.wheels, "class"))
			variables.wheels.class = $namedReadLock(name="classLock", object=application.wheels.models[arguments.name], method="$classData");

				// if we don't get a boolean back we try to translate y/n to proper boolean values in cfml (yes/no)
				variables.wheels.class.properties[loc.property].nullable = Trim(loc.columns["is_nullable"][loc.i]);
				if (!IsBoolean(variables.wheels.class.properties[loc.property].nullable))
					variables.wheels.class.properties[loc.property].nullable = ReplaceList(variables.wheels.class.properties[loc.property].nullable, "N,Y", "No,Yes");

				variables.wheels.class.properties[loc.property].size = loc.columns["column_size"][loc.i];
				variables.wheels.class.properties[loc.property].label = Humanize(loc.property);
