def loadMapFile(path, engine, callback=None, debug=True, extensions={}):
	""" load map file and get (an optional) callback if major stuff is done:

		- map creation
		- parsed imports
		- parsed layers
		- parsed cameras

		the callback will send both a string and a float (which shows
		the overall process), callback(string, float)

	@type	engine:		object
	@param	engine: 	FIFE engine instance
	@type	callback:	function
	@param	callback:	callback for maploading progress
	@type	debug:		bool
	@param	debug:		flag to activate / deactivate print statements
	@rtype	object
	@return	FIFE map object
	"""
	(filename, extension) = os.path.splitext(path)
	map_loader = mapFileMapping[extension[1:]](engine, callback, debug, extensions)
	map = map_loader.loadResource(path)
	if debug: print("--- Loading map took: ", map_loader.time_to_load, " seconds.")
	return map