anchor.diff:  		return response;
   	}
   
  +	//****************************************************** PRIVATE ******************************************************//
  +
  +	/**
  +	 * Verifies if we have a legacy API or swagger
  +	 * @dataCFC The CFC instance
  +	 */
  +	private boolean function isLegacyAPI( required any dataCFC ){
  +		return (
  +			(
  +				structKeyExists( dataCFC, "resources" )
  +				&&
  +				arrayLen( dataCFC.resources )
  +			)
  +			or
  +			( 
  +				structKeyExists( dataCFC, "globalParameters" )  
  +				&& 
  +				arrayLen( dataCFC.globalParameters )
  +			)
  +		);
  +	}
  +
  +	/**
  +	 * Load an open api definition file via the Swagger SDK Parser object
  +	 * @definitionFile The definition file to load
  +	 */
  +	private function loadOpenAPI( required string definitionFile ){
  +		return getWirebox( ).getInstance( "OpenAPIParser@relax" ).init( arguments.definitionFile );
  +	}
  +
  +	/**
  +	 * Run Defaults and processing setup on a legacy DSL
  +	 * @dataCFC The legacy DSL
  +	 */
  +	private function loadDSLAPI( required any dataCFC ){
  +
  +		// cleanup relax data
  +		if( !structKeyExists( dataCFC.relax, "validExtensions" ) ){
  +			dataCFC.relax.validExtensions = "";
  +		}
  +		if( !structKeyExists( dataCFC.relax, "throwOnInvalidExtension" ) ){
  +			dataCFC.relax.throwOnInvalidExtension = false;
  +		}
  +
  +		// cleanup global headers
  +		if( !structKeyExists( dataCFC, "globalHeaders" ) ){
  +			dataCFC.globalHeaders = [];
  +		}
  +		// cleanup global parameters
  +		if( !structKeyExists( dataCFC, "globalParameters" ) ){
  +			dataCFC.globalParameters = [];
  +		}
  +		// cleanup of resources
  +		if( !structKeyExists( dataCFC, "resources" ) ){
  +			dataCFC.resources = [];
  +		}
  +		// cleanup entry point
  +		if( isSimpleValue( dataCFC.relax.entryPoint ) ){
  +			dataCFC.relax.entryPoint = { production = dataCFC.relax.entryPoint };
  +		}
  +
  +		// Process resources
  +		for( var x=1; x lte arrayLen( dataCFC.resources ); x++ ){
  +			dataCFC.resources[ x ].resourceID = lcase( hash( dataCFC.resources[ x ].pattern ) );
  +			if( !structKeyExists( dataCFC.resources[ x ], "headers" ) ){
  +				dataCFC.resources[ x ].headers = [];
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "placeholders" ) ){
  +				dataCFC.resources[ x ].placeholders = [];
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "parameters" ) ){
  +				dataCFC.resources[ x ].parameters = [];
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "methods" ) ){
  +				dataCFC.resources[ x ].methods = "GET";
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "defaultMethod" ) ){
  +				dataCFC.resources[ x ].defaultMethod = "GET";
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "defaultFormat" ) ){
  +				dataCFC.resources[ x ].defaultFormat = "";
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "description" ) ){
  +				dataCFC.resources[ x ].description = "";
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "handler" ) ){
  +				dataCFC.resources[ x ].handler = "";
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "action" ) ){
  +				dataCFC.resources[ x ].action = "";
  +			}
  +			if( !structKeyExists( dataCFC.resources[ x ], "response" ) ){
  +				dataCFC.resources[ x ].response = {};
  +			}
  +		}
  +		
  +		return dataCFC;
  +	}
  +
   	/**
   	* Injection method
  +	* @name Name of function
  +	* @UDF The UDF to inject
   	*/
   	private function injectMixin( required name, required UDF ){
  -		variables[ ARGUMENTS.name ] = ARGUMENTS.UDF;
  -		this[ ARGUMENTS.name ] 		= ARGUMENTS.UDF;
  +		variables[ arguments.name ] = arguments.UDF;
  +		this[ arguments.name ] 		= arguments.UDF;
   
   		return this;
   	}
   
  +	/**
  +	 * New response struct for importers
  +	 */
   	private function newResponse(){
   		return {
  -			"success":false,
  -			"data":{},
  -			"message":"",
  -			"errors":[]
  +			"success" 	: false,
  +			"data" 		: {},
  +			"message" 	: "",
  +			"errors" 	: []
   		};
   	}
   
  
positive.code: 	*/
  	function init( required settings ){
  
  		VARIABLES.settings 			= ARGUMENTS.settings;
  		VARIABLES.APIDefinitions 	= {};
  		VARIABLES.sessionsEnabled 	= ARGUMENTS.settings.sessionsEnabled;
  		
  		return this;
  	}
  
negative.code: */
  component accessors="true" {
  	// DI
  	property name="wirebox" 	inject="wirebox";
  	property name="log" 		inject="logbox:logger:{this}";
  	
  	/**
  