 			# finally executes callback, passing the collected buffer
 			cb buffer
 	
-	process_wild_cards: ( buffer ) ->
-
-		# loop through all classes in buffer
-		for klass in buffer
+	process_requirements: ( files ) ->
+
+		# loop through all files
+		for file in files
 			
 			# initialize empty arrays for keeping the processed dependencies
 			# and the dead index, for after removal
 			_dependencies = []
 			_dead_indexes = []
 			
-			# looping through class dependencues
-			for dependency, index in klass.dependencies
-				
-				# continue if dependency is not a wild-card (namespace.*)
-				continue if dependency.substr(-1) != "*"
+			# looping through file dependencies
+			for dependency, index in file.dependencies
+				
+				# if dependency is not a wild-card (namespace.*)
+				if dependency.substr(-1) != "*"
+					# then add file extension to it and continue
+					file.dependencies[index] += ".coffee"
+					continue
 
 				# otherwise its index to the dead array
 				_dead_indexes.push index
 
-				# and find all classes under that namespace
-				reg = new RegExp dependency.replace /(\.|\/)/g, "\\$1"
-				props = ["classname", "classpath", "filename", "filefolder"]
-				found = ArrayUtil.find_all buffer, reg, props, true, true
+				# and find all files under that namespace
+				reg = new RegExp dependency.replace /(\/)/g, "\\$1"
+				found = ArrayUtil.find_all files, reg, "filepath", true, true
 
 				# if nothing is found under the given namespace
 				if found.length <= 0

			pkg_buffer = ""
			pkg_buffer += obj for pkg, obj of root_packages

			# pkg_helper to be appended to the generated javascript
			# in order to provide packaging functionality
			pkg_helper = """
				#{pkg_buffer}
				pkg = ( ns )->

						item         = [].concat item.split ","
						dependencies = dependencies.concat item
				
				# assemble the file hash info and push it into buffer
				buffer.push {
					raw:           raw

