diff --git a/src/as/com/threerings/util/MultiLoader.as b/src/as/com/threerings/util/MultiLoader.as
index cba1756b8..8cd470761 100644
--- a/src/as/com/threerings/util/MultiLoader.as
+++ b/src/as/com/threerings/util/MultiLoader.as
@@ -28,8 +28,26 @@ import flash.utils.Dictionary;
public class MultiLoader
{
/**
- * Super-convenient function! Load multiple sources and have the DisplayObjects returned.
+ * Load one or more sources and return DisplayObjects.
*
+ * @param sources an Array, Dictionary, or Object containing sources as values, or a single
+ * source value. The sources may be Strings (representing urls), URLRequests, ByteArrays,
+ * or a Class that can be instantiated to become a URLRequest or ByteArray. Note that
+ * the format of your sources Object dictates the format of the return Object.
+ * @param completeCallback the function to call when complete. The signature should be:
+ * function (value :Object) :void. Note that the structure of the return Object
+ * is dictated by the sources parameter. If you pass in an Array, you get your results
+ * in an Array. If you use a Dictionary or Object, the results will be returned as the same,
+ * with the same keys used in sources now pointing to the results. If your sources parameter
+ * was just a single source (like a String) then the result will just be a single result,
+ * like a DisplayObject. Each result will be a DisplayObject or an Error
+ * describing the problem.
+ * @param forEach if true, each value or error will be returned as soon as possible. The values
+ * or errors will be returned directly to the completeCallback. Any keys are lost, so you
+ * probably only want to use this with an Array sources.
+ * @param appDom the ApplicationDomain in which to load the contents, or null to specify
+ * that it should load in a child of the current ApplicationDomain.
+ *
* @example
*