 		namespaces_buffer = ""
 		namespaces_buffer += k for v, k of root_namespaces
 
-		# .. write it to the output
-		output = output.replace "{root_namespaces}", namespaces_buffer
-
-		# .. compile with coffee
-		compiled = cs.compile output
-
-		# if include_vendors is true
-		if include_vendors
-
-			# them merge all vendors in the proper order
-			vendors = ""
-			for vendor_name in @vendors
-
-				if (vendor = @toaster.config.vendors[vendor_name])
-
-					if path.existsSync vendor
-						vendors += "#{fs.readFileSync vendor, 'utf-8'}\n"
-					else
-						console.log "WARNING!".bold.yellow,
-							"Vendor".white,
-							vendor_name.yellow.bold,
-							"not found at".white,
-							vendor.yellow.bold
-				else
-					console.log "WARNING!".bold.yellow,
-						"Vendor".yellow,
-						vendor_name.white.bold
-						"not found for module".yellow,
-						@name.white.bold
-
-			# and prepend to the output
-			compiled = vendors + compiled
-
-	write:(contents)->
+		return namespaces_buffer
+
+	write:()->
+
+		# assigns compiled buffer to variable and abort method if its null
+		return unless (contents = @compile())?
+
+		# gets all vendors concatenated the right way
+		vendors = @toaster.builder.merge_vendors @vendors
+
 		# writing file
-		fs.writeFileSync @release, contents
+		fs.writeFileSync @release, "#{vendors}\n#{contents}"
 
 		# informing user through cli
-		console.log "#{'.'.green} #{@release}"
+		console.log "#{'.'.bold.green} #{@release}"
+
+		# if debug is enabled and no error has ocurred, then compile
+		# individual files as well
+		if @opts.argv.debug
+
+			# evaluating the toaster file folder (path)
+			toaster = @release.split("/").slice(0,-1).join('/') + "/toaster"
+
+			# constructs the toaster/src folder
+			toaster_src = "#{toaster}/src"
+
+			# cleaning before deploying
+			FsUtil.rmdir_rf toaster if path.existsSync toaster
+
+			# creating new structure
+			FsUtil.mkdir_p toaster_src
+
+			# template for importing others js's
+			tmpl = "document.write('<scri'+'pt src=\"%SRC%\"></scr'+'ipt>')"
+
+			# starting buffer with the pklg_helper
+			toaster_buffer = "#{vendors}\n#{@get_root_namespaces()}\n" +
+							 "#{@pkg_helper}\n"
+
+			# loop through all ordered files
+			for file, index in @files
+
+				# evaluates its path relative to the src folder
+				relative = file.filepath
+
+				# and replace file extension from .coffee to .js
+				relative = relative.replace ".coffee", ".js"
+
+				# then computes the filepath
+				filepath = "#{toaster_src}/#{relative}"
+
+				# ..and extract its folder path
+				folderpath = filepath.split('/').slice(0,-1).join "/"
+
+				# if the container folder doesnt exist yet
+				if !path.existsSync folderpath
+					# create it
+					FsUtil.mkdir_p folderpath
+
+				# computing relative path to test folder
+				relative = "./toaster/src/#{relative}"
+
+				# writing file
+				fs.writeFileSync filepath, cs.compile file.raw, {bare:1}
+
+				# adding to the buffer
+				toaster_buffer += tmpl.replace( "%SRC%", relative ) + "\n"
+
+			# write toaster loader file w/ all imports (buffer) inside it
+			toaster = "#{toaster}/toaster.js"
+			fs.writeFileSync toaster, toaster_buffer
+
+		@toaster.builder.build()
 
 
 	missing = {}

					else
						curr = curr[ part ]
			curr
		
	"""

	# initializes buffer array to keep all tracked files

class Module

	pkg_helper: """
		pkg = ( ns )->
			curr = null
			parts = [].concat = ns.split( "." )
