Update mxml.md

Edits continue.
diff --git a/features/mxml.md b/features/mxml.md
index 60ad776..0cf0f02 100644
--- a/features/mxml.md
+++ b/features/mxml.md
@@ -30,6 +30,13 @@
 
 ```
 <?xml version="1.0" encoding="utf-8"?>
+
+</-- 
+   A comments field that could include a copyright statement, license notice, author notice, 
+   a statement of the purpose of the file, and 
+   other information useful for future file maintenance.
+-->
+
 <j:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:j="library://ns.apache.org/royale/jewel" 
         xmlns:html="library://ns.apache.org/royale/html">
@@ -65,11 +72,34 @@
 **the header**: In the example above, the header tag `<?xml version="1.0" encoding="utf-8"?>` has two parts:
 
   - **XML declaration**: this tells the compiler what version of XML the file is using. 1.0 is the default; but since other versions exist, you have to specify it.
-  - **The encoding**: this tells the compiler what text encoding to use to translate the bits of code into letters and numbers to displahy in the UI. The default is `utf-8`, but some applications use different encodings that suit their specific needs.
+  - **The encoding**: this tells the compiler what text encoding to use to translate the bits of code into letters and numbers to display in the UI. The default is `utf-8`, but some applications use different encodings that suit their specific needs.
   
   
-**The main tag**: This tag includes everything else on the page. For a full application, it usually starts `<js:Application...` and ends as the last line of the file: `</js:Application>`.
+**The main tag**: This tag includes everything else on the page. For a full application, it usually starts `<js:Application...` and ends as the last line of the file: `</js:Application>`. In the example above, which is for a module that could be included in a larger application, the main tag defines a group: `<j:Group...` and closes at the end of the file: `</J:Group>`.
 
-You write the rest of the page's contents within this tag, and the tag's attributes are very important for configuring and launching the application
+The main tag's **attributes** are very important for configuring and launching the application. The attributes can include:
+
+  - the page's name, which may appear in a header bar or in metadata the browser displays.
+  - a declaration of **namespaces**. These are the location of resources you may want to use in the app. Declaring their namespaces means you can deploy a control, container, or some other neat thing from that namespace without much struggle. In the example above, because we declare the `xmlns:j="library://ns.apache.org/royale/jewel` in the main tag, we can later deploy buttons from that namespace (like `<j:Button text="Apache"/>`) very simply.
+  - simple property values like the width and height of the app or module.
+  - if the app or module implements or inherits from some other app or module.
+  - what should happen as soon as the app is ready (something like `initialize="addEventListener('dataReady', dataReadyHandler);configurator.send()"`)
+
+You write what this file does, how it does it, and what the user sees as a result, after this main tag and before its closing tag at the end of the file. See the "What your file _may_ have" section, below.
+
+### What your file _should_ have ###
+
+It is good to add, just under the XML declaration line, a **comments block** that includes a copyright statement, license notice, author notice, a statement of the purpose of the file, and other information useful for future file maintenance. The file will compile and run just fine without such a statement; but if you are building code others will see, try to maintain, and possibly want to reuse, you should include it.
 
 ### What your file _may_ have ###
+
+A lot happens inside the main tag, and things can get complicated. The following elements to not all have to appear in every app or module, and do not have to appear in a specific order for the app to compile and run. But it's good to have a pattern you follow, especially if you are working as part of a team, so you can avoid wasting time trying to find something, forgetting to add something, or adding it twice.
+
+**Declarations**: Define things like effects, validators, and formatters, and send and request data, inside the `<fx:Declarations>...</fx:Declarations>` tag.
+
+**Metadata**: Add additional information to classes, properties, or methods to use at runtime inside the `<fx:Metadata>...</fx:Metadata>` tag. <a href="https://apache.github.io/royale-docs/features/as3/metadata">Learn more</a>.
+
+**Functions, property definitions, and other features**: Declare properties, instantiate components, and write functions inside the `<fx:Script>...</fx:Script>` tag. In the example above, we declare an event handler, a function that does things when you click one of the buttons in the user interface.
+
+
+