Merge branch 'develop' into dual

Conflicts:
	frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as
diff --git a/build.xml b/build.xml
index befe655..11b8027 100644
--- a/build.xml
+++ b/build.xml
@@ -430,12 +430,15 @@
         Cleanup
     -->
     
-    <target name="super-clean" depends="thirdparty-clean,clean" description="Cleans everything including thirdparty downloads."/>
+    <target name="super-clean" depends="thirdparty-clean,clean" description="Cleans everything including thirdparty downloads.">
+        <delete dir="${basedir}/mustella/tests/basicTests/bin"/>
+    </target>
 
     <target name="thirdparty-clean" description="Removes all thirdparty downloads.">
         <ant dir="${basedir}/frameworks" target="thirdparty-clean"/>
         <delete dir="${basedir}/in"/>
         <delete dir="${basedir}/lib"/>
+        <delete dir="${basedir}/marmotinni/java/lib"/>
     </target>
 
     <target name="clean" depends="examples-clean,frameworks-clean,package-clean,checkintests-clean"
@@ -1236,6 +1239,7 @@
     </target>
     
     <target name="basictests-compile-js">
+        <!-- now built by dual mode
         <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
         <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/>
         <property name="GOOG_HOME" value="${env.GOOG_HOME}"/>
@@ -1272,6 +1276,7 @@
                 </not>
             </condition>
         </fail>
+         -->
     </target>
     
     <target name="basictests-compile-java" >
@@ -1388,22 +1393,33 @@
     <target name="load-task" depends="runtime-setup">
         <!-- load the <mxmlc> task; we can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail -->
-        <taskdef resource="flexTasks.tasks" classpath="${FALCON_HOME}/lib/falcon-flexTasks.jar"/>
+        <taskdef resource="flexTasks.tasks" classpath="${FALCONJX_HOME}/lib/falcon-flexTasks.jar"/>
     </target>
 
     <target name="basictests" depends="check-flex-home,load-task" description="run basic tests using mustella">
 
         <property name="FLEX_HOME" value="${basedir}" />
         <mxmlc fork="true" debug="true"
+               closure-lib="${env.GOOG_HOME}"
                file="${basedir}/mustella/tests/basicTests/BasicTestsApp.mxml">
             <jvmarg line="${mxmlc.jvm.args}"/>
-            <arg line="-compiler.mxml.children-as-data=true" />
-            <arg line="-compiler.info.flex=false" />
-            <library-path dir="${FLEX_SDK_HOME}" append="true">
+            <swf-library-path dir="${FLEX_SDK_HOME}" append="true">
                 <include name="mustella/mustella.swc"/>
                 <include name="frameworks/libs/framework.swc"/>
                 <include name="frameworks/locale/en_US/framework_rb.swc"/>
-            </library-path>
+            </swf-library-path>
+            <js-external-library-path dir="${env.PLAYERGLOBAL_HOME}">
+                <include name="${playerglobal.version}/playerglobal.swc"/>
+            </js-external-library-path>
+            <js-library-path dir="${basedir}" >
+                <include name="frameworks/libs"/>
+            </js-library-path>
+            <js-library-path dir="${FLEX_SDK_HOME}" append="true">
+                <include name="mustella/mustella.swc"/>
+                <include name="frameworks/libs/framework.swc"/>
+                <include name="frameworks/locale/en_US/framework_rb.swc"/>
+            </js-library-path>
+            <arg value="-sdk-js-lib=${FLEXJS_HOME}/mustella/js" />
         </mxmlc>
         <mkdir dir="${basedir}/mustella/tests/basicTests/fonts" />
         <copy todir="${basedir}/mustella/tests/basicTests/fonts" >
diff --git a/distribution/src/main/assembly/component.xml b/distribution/src/main/assembly/component.xml
index a27dc15..8a81182 100644
--- a/distribution/src/main/assembly/component.xml
+++ b/distribution/src/main/assembly/component.xml
@@ -264,11 +264,6 @@
       <destName>svg-manifest-graphics.xml</destName>
     </file>
     <file>
-      <source>../frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml</source>
-      <outputDirectory>frameworks/manifests</outputDirectory>
-      <destName>basic-as-manifest-html.xml</destName>
-    </file>
-    <file>
       <source>../frameworks/projects/HTML/src/main/resources/basic-manifest.xml</source>
       <outputDirectory>frameworks/manifests</outputDirectory>
       <destName>basic-manifest-html.xml</destName>
diff --git a/examples/build.xml b/examples/build.xml
index 13e5a02..b4fac50 100644
--- a/examples/build.xml
+++ b/examples/build.xml
@@ -81,19 +81,25 @@
         <ant dir="${basedir}/flexjs/DataBindingExample_as"/>
         <ant dir="${basedir}/flexjs/DataBindingExample_Flat"/>
         <ant dir="${basedir}/flexjs/DataGridExample"/>
+        <ant dir="${basedir}/flexjs/DateControlsExample"/>
         <ant dir="${basedir}/flexjs/DesktopMap"/>
+        <ant dir="${basedir}/flexjs/FlexTeamPage_MDL"/>
         <ant dir="${basedir}/flexjs/FlexWebsiteStatsViewer"/>
         <ant dir="${basedir}/flexjs/FlexJSStore"/>
         <ant dir="${basedir}/flexjs/FlexJSStore_jquery"/>
         <ant dir="${basedir}/flexjs/HelloWorld"/>
+        <ant dir="${basedir}/flexjs/ListExample"/>
         <ant dir="${basedir}/flexjs/MapSearch"/>
+        <ant dir="${basedir}/flexjs/MDLExample"/>
         <ant dir="${basedir}/flexjs/MobileMap"/>
         <ant dir="${basedir}/flexjs/MobileStocks"/>
         <ant dir="${basedir}/flexjs/MobileTrader"/>
         <ant dir="${basedir}/flexjs/ChartExample"/>
         <ant dir="${basedir}/flexjs/StorageExample"/>
         <ant dir="${basedir}/flexjs/StyleExample"/>
+        <ant dir="${basedir}/flexjs/TableExample"/>
         <ant dir="${basedir}/flexjs/TodoListSampleApp"/>
+        <ant dir="${basedir}/flexjs/TeamPage"/>
         <ant dir="${basedir}/flexjs/TreeExample"/>
         <ant dir="${basedir}/native/ButtonExample"/>
         <ant dir="${basedir}/native/USStatesMap"/>
@@ -117,19 +123,25 @@
         <ant dir="${basedir}/flexjs/DataBindingExample_as" target="clean"/>
         <ant dir="${basedir}/flexjs/DataBindingExample_Flat" target="clean"/>
         <ant dir="${basedir}/flexjs/DataGridExample" target="clean"/>
+        <ant dir="${basedir}/flexjs/DateControlsExample" target="clean"/>
         <ant dir="${basedir}/flexjs/DesktopMap" target="clean"/>
+        <ant dir="${basedir}/flexjs/FlexTeamPage_MDL" target="clean"/>
         <ant dir="${basedir}/flexjs/FlexWebsiteStatsViewer" target="clean"/>
         <ant dir="${basedir}/flexjs/FlexJSStore" target="clean"/>
         <ant dir="${basedir}/flexjs/FlexJSStore_jquery" target="clean"/>
         <ant dir="${basedir}/flexjs/HelloWorld" target="clean"/>
+        <ant dir="${basedir}/flexjs/ListExample" target="clean"/>
         <ant dir="${basedir}/flexjs/MapSearch" target="clean"/>
+        <ant dir="${basedir}/flexjs/MDLExample" target="clean"/>
         <ant dir="${basedir}/flexjs/MobileTrader" target="clean"/>
         <ant dir="${basedir}/flexjs/MobileStocks" target="clean"/>
         <ant dir="${basedir}/flexjs/MobileMap" target="clean"/>
         <ant dir="${basedir}/flexjs/ChartExample" target="clean"/>
         <ant dir="${basedir}/flexjs/StorageExample" target="clean"/>
         <ant dir="${basedir}/flexjs/StyleExample" target="clean"/>
+        <ant dir="${basedir}/flexjs/TableExample" target="clean"/>
         <ant dir="${basedir}/flexjs/TodoListSampleApp" target="clean"/>
+        <ant dir="${basedir}/flexjs/TeamPage" target="clean"/>
         <ant dir="${basedir}/flexjs/TreeExample" target="clean"/>
         <ant dir="${basedir}/native/ButtonExample" target="clean"/>
         <ant dir="${basedir}/native/USStatesMap" target="clean"/>
diff --git a/examples/build_example.xml b/examples/build_example.xml
index 79a7e64..8dfd9a9 100644
--- a/examples/build_example.xml
+++ b/examples/build_example.xml
@@ -93,35 +93,33 @@
     </condition>
 
     <path id="lib.path">
-      <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+      <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
+      <fileset dir="${FALCONJX_HOME}/lib" includes="jsc.jar"/>
     </path>
     
     <target name="compile" description="Compiles ${example}">
         <echo message="Compiling ${example}.swf"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
+        <available file="${basedir}/src/main/config/compile-app-config.xml"
+            type="file"
+            property="optional_arg" value="-load-config+=&quot;${basedir}/src/main/config/compile-app-config.xml&quot;" />
 
         <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
-        <!-- this is a dummy var placeholder in case some example needs to define a theme
-            then they would set theme_arg=-theme=<path to theme> -->
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
+        <property name="config_arg" value="flex" />
+        <property name="file_suffix" value="mxml" />
+        <property name="optional_arg" value="-define=CONFIG::dummy,true" />
         <mxmlc fork="true"
-               file="${basedir}/src/main/flex/${example}.mxml"
+               debug="true"
+               configname="${config_arg}"
+               closure-lib="${GOOG_HOME}"
+               file="${basedir}/src/main/flex/${example}.${file_suffix}"
                output="${basedir}/bin-debug/${example}.swf">
             <jvmarg line="${mxmlc.jvm.args}"/>
-            <arg value="+flexlib=${basedir}/frameworks" />
-            <arg value="-debug" />
-            <arg value="${theme_arg}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-			<arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-			<arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-			<arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg line="${optional_arg}" />
         </mxmlc>
         
         <html-wrapper 
@@ -140,226 +138,22 @@
                 <include name="**/*.swf" />
             </fileset>
         </copy>
+        <antcall target="build_example.compile-js-release" />
     </target>
     
-    <target name="compileair" description="Compiles ${example}">
-        <echo message="Compiling ${example}.swf"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        
-        <!-- Load the <compc> task. We can't do this at the <project> level -->
-        <!-- because targets that run before flexTasks.jar gets built would fail. -->
-        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
+    <target name="compile-js-release">
+        <property name="js.release.target" value="JSFlex" />
         <mxmlc fork="true"
-            file="${basedir}/src/main/flex/${example}.mxml"
-            output="${basedir}/bin-debug/${example}.swf">
+            debug="false"
+            configname="${config_arg}"
+            closure-lib="${GOOG_HOME}"
+            file="${basedir}/src/main/flex/${example}.${file_suffix}"
+            output="${basedir}/bin-release/${example}.swf">
             <jvmarg line="${mxmlc.jvm.args}"/>
-            <arg value="+flexlib=${basedir}/frameworks" />
-            <arg value="+configname=air" />
-            <arg value="-debug" />
-            <arg value="${theme_arg}" />
-            <arg value="-target-player=${playerglobal.version}" />
-            <arg value="-swf-version=${swf.version}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-			<arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-			<arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-			<arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg line="${optional_arg}" />
         </mxmlc>
-        
-        <antcall target="build_example.copy-resources" />
-        <copy todir="${basedir}/bin-debug">
-            <fileset dir="${basedir}">
-                <include name="*-app.xml" />
-            </fileset>
-        </copy>
     </target>
     
-    <target name="compileas" description="Compiles ${example}">
-        <echo message="Compiling ${example}.swf"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-
-        <!-- Load the <compc> task. We can't do this at the <project> level -->
-        <!-- because targets that run before flexTasks.jar gets built would fail. -->
-        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <mxmlc fork="true"
-               file="${basedir}/src/main/flex/${example}.as"
-               output="${basedir}/bin-debug/${example}.swf">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <arg value="+flexlib=${basedir}/frameworks" />
-            <arg value="-debug" />
-            <arg value="${theme_arg}" />
-            <arg value="-define=CONFIG::as_only,true" />
-            <arg value="-define=CONFIG::js_only,false" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-			<arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-			<arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-			<arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-        </mxmlc>
-        
-        <html-wrapper 
-            height="300" 
-            width="400"
-            bgcolor="#ffffff"
-            name="${example}"
-            versionmajor="11"
-            versionminor="1"
-            versionrevision="0" 
-            output="${basedir}/bin-debug"/> 
- 
-    </target>
-
-    <target name="compilejs" description="Cross-compiles ${example}" unless="no.js">
-        <echo message="Compiling ${example}.js"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
-        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
-        <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
-        <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
-
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="-debug=false" />
-            <arg value="${theme_arg}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-			<arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-			<arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-			<arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="${extlib_arg}" />
-            <arg value="${opt1_arg}" />
-            <arg value="${opt2_arg}" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources" />
-            <arg value="${basedir}/src/main/flex/${example}.mxml" />
-        </java>
-        <fail>
-			<condition>
-				<not>
-					<or>
-						<equals arg1="${errorCode}" arg2="0" />
-						<equals arg1="${errorCode}" arg2="2" />
-					</or>
-				</not>
-			</condition>
-		</fail>
-    </target>
-
-    <target name="compilejsair" description="Cross-compiles ${example}" unless="no.js">
-        <echo message="Compiling ${example}.js"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
-        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
-        <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
-        <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
-        
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="+configname=air" />
-            <arg value="-debug=false" />
-            <arg value="${theme_arg}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-			<arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-			<arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-			<arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="${extlib_arg}" />
-            <arg value="${opt1_arg}" />
-            <arg value="${opt2_arg}" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources" />
-            <arg value="${basedir}/src/main/flex/${example}.mxml" />
-        </java>
-        <fail>
-            <condition>
-                <not>
-                    <or>
-                        <equals arg1="${errorCode}" arg2="0" />
-                        <equals arg1="${errorCode}" arg2="2" />
-                    </or>
-                </not>
-            </condition>
-        </fail>
-    </target>
-
-    <target name="compileasjs" description="Cross-compiles ${example}" unless="no.js">
-        <echo message="Compiling ${example}.js"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
-        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
-        <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
-        <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
-
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="-debug=false" />
-            <arg value="${theme_arg}" />
-            <arg value="-define=CONFIG::as_only,false" />
-            <arg value="-define=CONFIG::js_only,true" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-			<arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-			<arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-			<arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="${extlib_arg}" />
-            <arg value="${opt1_arg}" />
-            <arg value="${opt2_arg}" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources" />
-            <arg value="${basedir}/src/main/flex/${example}.as" />
-        </java>
-        <fail>
-			<condition>
-				<not>
-					<or>
-						<equals arg1="${errorCode}" arg2="0" />
-						<equals arg1="${errorCode}" arg2="2" />
-					</or>
-				</not>
-			</condition>
-		</fail>        
-    </target>
-
     <macrodef name="html-wrapper">
         <attribute name="width"/>
         <attribute name="height"/>
diff --git a/examples/express/DataBindingExample/build.xml b/examples/express/DataBindingExample/build.xml
index 6739bb6..6f58f1a 100644
--- a/examples/express/DataBindingExample/build.xml
+++ b/examples/express/DataBindingExample/build.xml
@@ -27,11 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/express/DataBindingExample/pom.xml b/examples/express/DataBindingExample/pom.xml
index 958cda3..bf040ce 100644
--- a/examples/express/DataBindingExample/pom.xml
+++ b/examples/express/DataBindingExample/pom.xml
@@ -62,6 +62,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+        <groupId>org.apache.flex.flexjs.framework</groupId>
+        <artifactId>Network</artifactId>
+        <version>0.8.0-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/express/pom.xml b/examples/express/pom.xml
index e991497..70ca739 100644
--- a/examples/express/pom.xml
+++ b/examples/express/pom.xml
@@ -78,10 +78,24 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Express</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Language</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Language</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <!-- Import the shared unit-tests we want to run on all examples -->
     <dependency>
diff --git a/examples/flexjs/ASDoc/build.xml b/examples/flexjs/ASDoc/build.xml
index e6e8fd4..37c1da0 100644
--- a/examples/flexjs/ASDoc/build.xml
+++ b/examples/flexjs/ASDoc/build.xml
@@ -27,11 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="build_example.compile" description="Clean build of ${example}">
         <available file="${basedir}/bin-debug/classes.json"
         type="file"
         property="json.exists"/>
@@ -55,7 +54,7 @@
             <arg value="-external-library-path=${env.AIR_HOME}/frameworks/libs/air/airglobal.swc" />
             <arg value="-external-library-path+=${FLEXJS_HOME}/js/libs/google_maps.swc" />
             <arg value="+frameworks_dir=${FLEXJS_HOME}/frameworks" />
-            <arg value="-load-config=${basedir}/src/main/config/asdoc-config.xml" />
+            <arg value="-load-config=&quot;${basedir}/src/main/config/asdoc-config.xml&quot;" />
             <arg value="-debug=true" />
             <arg value="-output=${basedir}/bin-debug" />
             <arg value="-window-title=Apache FlexJS API Reference" />
diff --git a/examples/flexjs/ASDoc/pom.xml b/examples/flexjs/ASDoc/pom.xml
index 9039b94..42c49fb 100644
--- a/examples/flexjs/ASDoc/pom.xml
+++ b/examples/flexjs/ASDoc/pom.xml
@@ -55,6 +55,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <dependency>
       <groupId>com.adobe.flash.framework</groupId>
diff --git a/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml b/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml
index 912f9c5..fe29e1c 100644
--- a/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml
+++ b/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml
@@ -62,6 +62,7 @@
           <path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>

+          <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>

@@ -96,6 +97,12 @@
       </include-libraries>

       -->

 

+    <allow-subclass-overrides>true</allow-subclass-overrides>

+

+    <mxml>

+        <children-as-data>true</children-as-data>

+    </mxml>

+

       <!-- List of SWC files or directories that contain SWC files. -->

       <library-path>

          <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>

@@ -105,6 +112,10 @@
         <namespaces>

             <namespace>

                 <uri>library://ns.apache.org/flexjs/basic</uri>

+                <manifest>${frameworks_dir}/projects/Basic/src/main/resources/basic-manifest.xml</manifest>

+            </namespace>

+            <namespace>

+                <uri>library://ns.apache.org/flexjs/basic</uri>

                 <manifest>${frameworks_dir}/projects/Binding/src/main/resources/basic-manifest.xml</manifest>

             </namespace>

             <namespace>

@@ -165,7 +176,7 @@
             </namespace>

             <namespace>

                 <uri>library://ns.apache.org/flexjs/svg</uri>

-                <manifest>${frameworks_dir}/projects/HTML/src/main/resources/svg-manifest.xml</manifest>

+                <manifest>${frameworks_dir}/projects/Basic/src/main/resources/svg-manifest.xml</manifest>

             </namespace>

         </namespaces>

 

@@ -459,6 +470,7 @@
             <path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex/org</path-element>

             <path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>

+            <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>

diff --git a/examples/flexjs/ASDoc/src/main/config/compile-app-config.xml b/examples/flexjs/ASDoc/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/ASDoc/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipAsCoercions</optimization>
+    </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/ChartExample/build.xml b/examples/flexjs/ChartExample/build.xml
index 24d793f..567320c 100644
--- a/examples/flexjs/ChartExample/build.xml
+++ b/examples/flexjs/ChartExample/build.xml
@@ -29,27 +29,8 @@
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
     
     <include file="${basedir}/../../build_example.xml" />
-    
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-    
-<!-- temp remove build_example.compilejs -->
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/ChartExample/pom.xml b/examples/flexjs/ChartExample/pom.xml
index 73460f8..82f878e 100644
--- a/examples/flexjs/ChartExample/pom.xml
+++ b/examples/flexjs/ChartExample/pom.xml
@@ -68,6 +68,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Charts</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/CordovaCameraExample/build.xml b/examples/flexjs/CordovaCameraExample/build.xml
index 0a7a08f..6d4d635 100644
--- a/examples/flexjs/CordovaCameraExample/build.xml
+++ b/examples/flexjs/CordovaCameraExample/build.xml
@@ -33,6 +33,7 @@
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
     
     <property name="AIR_HOME" value="${env.AIR_HOME}"/>
+    <property name="config_arg" value="air"/>
     
     
     <condition property="adl" value="adl.exe">
@@ -53,11 +54,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
-        <echo>playerglobal.version = ${playerglobal.version}</echo>
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/CordovaCameraExample/pom.xml b/examples/flexjs/CordovaCameraExample/pom.xml
index 46c950b..00feb28 100644
--- a/examples/flexjs/CordovaCameraExample/pom.xml
+++ b/examples/flexjs/CordovaCameraExample/pom.xml
@@ -66,6 +66,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Mobile</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/CreateJSExample/build.xml b/examples/flexjs/CreateJSExample/build.xml
index 514f257..3f8fead 100644
--- a/examples/flexjs/CreateJSExample/build.xml
+++ b/examples/flexjs/CreateJSExample/build.xml
@@ -27,29 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/createjs.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/createjs.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/createjs.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/createjs.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/createjs/target/createjs.swc"/>
-    
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/CreateJSExample/pom.xml b/examples/flexjs/CreateJSExample/pom.xml
index 9e918df..5ec8eb4 100644
--- a/examples/flexjs/CreateJSExample/pom.xml
+++ b/examples/flexjs/CreateJSExample/pom.xml
@@ -68,6 +68,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>CreateJS</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <dependency>
       <groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/CreateJSExample/src/main/config/compile-app-config.xml b/examples/flexjs/CreateJSExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d5e7156
--- /dev/null
+++ b/examples/flexjs/CreateJSExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipFunctionCoercions</optimization>
+    </js-output-optimization>
+    <compiler>
+        <external-library-path append="true">
+            <path-element>../../../../../../js/libs/createjs.swc</path-element>
+        </external-library-path>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample/build.xml b/examples/flexjs/DataBindingExample/build.xml
index 6739bb6..3433c3d 100644
--- a/examples/flexjs/DataBindingExample/build.xml
+++ b/examples/flexjs/DataBindingExample/build.xml
@@ -31,7 +31,7 @@
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/DataBindingExample/pom.xml b/examples/flexjs/DataBindingExample/pom.xml
index 58ff0fa..d31bf2c 100644
--- a/examples/flexjs/DataBindingExample/pom.xml
+++ b/examples/flexjs/DataBindingExample/pom.xml
@@ -62,6 +62,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/DataBindingExample/src/main/config/compile-app-config.xml b/examples/flexjs/DataBindingExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..b4290dc
--- /dev/null
+++ b/examples/flexjs/DataBindingExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipFunctionCoercions</optimization>
+    </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml b/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml
index c8d4b81..84f6f26 100644
--- a/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml
+++ b/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml
@@ -146,7 +146,7 @@
 	
 	<js:Label id="bindtest" text="{fieldText + ' expression binding'}" />
 	<js:Label width="300" text.showAll="110" includeIn="showAll" />
-	<js:TextArea id="ta" width="100%" height="100" height.showAll="110" 
+	<js:TextArea id="ta" width="300" height="100" height.showAll="110" 
 				 includeIn="showAll"
 				 text="{MyModel(applicationModel).allData}" />
 </js:View>
diff --git a/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as b/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as
index b7d52bd..6487908 100644
--- a/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as
+++ b/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as
@@ -42,8 +42,8 @@
 		private var service:HTTPService;
 		private var collection:LazyCollection;
 
-        private var queryBegin:String = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22";
-        private var queryEnd:String = "%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json";
+        private var queryBegin:String = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22";
+        private var queryEnd:String = "%22)%0A%09%09&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&format=json";
 
 		private function viewChangeHandler(event:Event):void
 		{
diff --git a/examples/flexjs/DataBindingExample_Flat/build.xml b/examples/flexjs/DataBindingExample_Flat/build.xml
index 730b4a3..2540061 100644
--- a/examples/flexjs/DataBindingExample_Flat/build.xml
+++ b/examples/flexjs/DataBindingExample_Flat/build.xml
@@ -22,8 +22,6 @@
 <project name="databindingexample_flat" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../../.."/>
     <property name="example" value="DataBindingExample" />
-    <property name="theme_arg" value="-theme=${FLEXJS_HOME}/frameworks/libs/Flat.swc" />
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
@@ -32,7 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/DataBindingExample_Flat/pom.xml b/examples/flexjs/DataBindingExample_Flat/pom.xml
index 60a1f39..fdef2d0 100644
--- a/examples/flexjs/DataBindingExample_Flat/pom.xml
+++ b/examples/flexjs/DataBindingExample_Flat/pom.xml
@@ -114,10 +114,24 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Flat</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <!-- This dependency is needed by the war plugin to add the overlay -->
     <dependency>
diff --git a/examples/flexjs/DataBindingExample_Flat/src/main/config/compile-app-config.xml b/examples/flexjs/DataBindingExample_Flat/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..e15c6d5
--- /dev/null
+++ b/examples/flexjs/DataBindingExample_Flat/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipAsCoercions</optimization>
+    </js-output-optimization>
+    <compiler>
+        <theme>
+            <filename>../../../../../../frameworks/libs/Flat.swc</filename>
+        </theme>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample_as/build.xml b/examples/flexjs/DataBindingExample_as/build.xml
index 282506d..4c63dab 100644
--- a/examples/flexjs/DataBindingExample_as/build.xml
+++ b/examples/flexjs/DataBindingExample_as/build.xml
@@ -27,11 +27,11 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
+    <property name="file_suffix" value="as"/>
     
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compileas,build_example.compileasjs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/DataBindingExample_as/pom.xml b/examples/flexjs/DataBindingExample_as/pom.xml
index 8644723..5189b55 100644
--- a/examples/flexjs/DataBindingExample_as/pom.xml
+++ b/examples/flexjs/DataBindingExample_as/pom.xml
@@ -89,6 +89,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/DataBindingExample_as/src/main/config/compile-app-config.xml b/examples/flexjs/DataBindingExample_as/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/DataBindingExample_as/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipAsCoercions</optimization>
+    </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as b/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as
index 95609cd..93b30c6 100644
--- a/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as
+++ b/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as
@@ -126,7 +126,7 @@
 			iViewportModel: ViewportModel
         };
 		
-        CONFIG::as_only {
+        COMPILE::SWF {
             o.iBackgroundBead = SolidBackgroundBead;
             o.iBorderBead = SingleLineBorderBead;
         }
@@ -151,7 +151,7 @@
             border: [1, "solid", 0x000000],
             padding: 4
         };
-        CONFIG::as_only {
+        COMPILE::SWF {
             o.iBeadView = CSSButtonView;
         }
             
@@ -169,7 +169,7 @@
             padding: 4
         };
         
-        CONFIG::as_only {
+        COMPILE::SWF {
             viv["org.apache.flex.html::CheckBox"] =
             {
                 iBeadModel: ToggleButtonModel,
@@ -280,7 +280,7 @@
     
     private function makeDefinitionName(s:String):String
     {
-        CONFIG::js_only {
+        COMPILE::JS {
             s = s.replace("::", ".");
         }
         return s;
diff --git a/examples/flexjs/DataGridExample/build.xml b/examples/flexjs/DataGridExample/build.xml
index b21cc0f..b9f366a 100644
--- a/examples/flexjs/DataGridExample/build.xml
+++ b/examples/flexjs/DataGridExample/build.xml
@@ -30,25 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     	<mkdir dir="${basedir}/bin/js-debug/assets" />
         <copy todir="${basedir}/bin/js-debug/assets" >
             <fileset dir="${basedir}/src/main/resources/assets">
diff --git a/examples/flexjs/DateControlsExample/build.xml b/examples/flexjs/DateControlsExample/build.xml
index df39239..f92ce92 100644
--- a/examples/flexjs/DateControlsExample/build.xml
+++ b/examples/flexjs/DateControlsExample/build.xml
@@ -30,25 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/DateControlsExample/pom.xml b/examples/flexjs/DateControlsExample/pom.xml
index 98c0e37..d786fc4 100644
--- a/examples/flexjs/DateControlsExample/pom.xml
+++ b/examples/flexjs/DateControlsExample/pom.xml
@@ -65,6 +65,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Formatters</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/DesktopMap/build.xml b/examples/flexjs/DesktopMap/build.xml
index 7430444..b790bfe 100644
--- a/examples/flexjs/DesktopMap/build.xml
+++ b/examples/flexjs/DesktopMap/build.xml
@@ -32,6 +32,7 @@
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
     <property name="AIR_HOME" value="${env.AIR_HOME}"/>
+    <property name="config_arg" value="air"/>
     
     <condition property="adl" value="adl.exe">
         <os family="windows"/>
@@ -51,14 +52,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <property name="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/google_maps.swc"/>
-    <property name="opt1_arg" value="-remove-circulars" />
-
-    <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
-        <echo>playerglobal.version = ${playerglobal.version}</echo>
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/DesktopMap/pom.xml b/examples/flexjs/DesktopMap/pom.xml
index 97636c3..e8c7a57 100644
--- a/examples/flexjs/DesktopMap/pom.xml
+++ b/examples/flexjs/DesktopMap/pom.xml
@@ -69,6 +69,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>GoogleMaps</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
     
     <dependency>
         <groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/DesktopMap/src/main/config/compile-app-config.xml b/examples/flexjs/DesktopMap/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d542757
--- /dev/null
+++ b/examples/flexjs/DesktopMap/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <remove-circulars>true</remove-circulars>
+    <compiler>
+        <external-library-path append="true">
+            <path-element>../../../../../../js/libs/google_maps.swc</path-element>
+        </external-library-path>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/FlexJSStore/build.xml b/examples/flexjs/FlexJSStore/build.xml
index 81cd3cb..5e841ec 100644
--- a/examples/flexjs/FlexJSStore/build.xml
+++ b/examples/flexjs/FlexJSStore/build.xml
@@ -27,11 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipFunctionCoercions" />
     
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
         <mkdir dir="${basedir}/bin-debug/data" />
         <copy file="${basedir}/src/main/resources/data/catalog.json" tofile="${basedir}/bin-debug/data/catalog.json" />
         <mkdir dir="${basedir}/bin/js-debug/data" />
diff --git a/examples/flexjs/FlexJSStore/pom.xml b/examples/flexjs/FlexJSStore/pom.xml
index 5a1e60b..f01d9eb 100644
--- a/examples/flexjs/FlexJSStore/pom.xml
+++ b/examples/flexjs/FlexJSStore/pom.xml
@@ -69,6 +69,19 @@
       <type>swc</type>
       <scope>provided</scope>
     </dependency>
+    <!--
+     By declaring this dependency here, we force the flexjs-externs-js to be
+     added to the external library path of all modules. Without this it would
+     have gone to the library path.
+     -->
+    <dependency>
+        <groupId>org.apache.flex.flexjs.typedefs</groupId>
+        <artifactId>flexjs-typedefs-js</artifactId>
+        <version>${flexjs.typedefs.version}</version>
+        <type>swc</type>
+        <classifier>typedefs</classifier>
+        <scope>runtime</scope>
+    </dependency>
 
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -78,22 +91,50 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>DragDrop</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Effects</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Effects</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Formatters</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Formatters</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/FlexJSStore/src/main/config/compile-app-config.xml b/examples/flexjs/FlexJSStore/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..b4290dc
--- /dev/null
+++ b/examples/flexjs/FlexJSStore/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipFunctionCoercions</optimization>
+    </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml b/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml
index 37d41cb..17b8632 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml
@@ -250,6 +250,9 @@
                                 click="headToSupport()"/>            
             </js:ControlBar>
             <js:Group width="990" id="viewholder">
+			    <js:beads>
+					<js:BasicLayout />
+			    </js:beads>
                 <js:style>
                     <js:SimpleCSSStyles paddingLeft="0" paddingRight="0"/>
                 </js:style>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml b/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml
index 484b970..ab10fa0 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml
@@ -32,7 +32,7 @@
 -->
 <js:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
          xmlns:js="library://ns.apache.org/flexjs/basic" 
-           xmlns="*" width="990" height="550"
+           xmlns="*"
            initComplete="updateMapImage()">
 	<fx:Script>
 		<![CDATA[
@@ -47,6 +47,7 @@
 	</fx:Script>
     <js:beads>
         <js:ContainerDataBinding />
+		<js:BasicLayout />
     </js:beads>
 	<js:Group width="100%" height="100%" y="0" x="0" className="colorPanel">
 		<js:beads>
@@ -57,8 +58,13 @@
 				<js:VerticalLayout />
 			</js:beads>
 			<js:Group width="100%" height="100%">
-			
+			    <js:beads>
+					<js:BasicLayout />
+			    </js:beads>
 				<js:Group height="60" className="homeSection">
+				    <js:beads>
+						<js:BasicLayout />
+				    </js:beads>
                     <js:style>
                         <js:SimpleCSSStyles backgroundColor="#ebebe9" left="10" top="10" right="10"/>
                     </js:style>
@@ -68,6 +74,9 @@
 				</js:Group>
 				
 				<js:Group height="280" className="homeSection">
+				    <js:beads>
+						<js:BasicLayout />
+				    </js:beads>
                     <js:style>
                         <js:SimpleCSSStyles backgroundColor="#ffffff" left="10" top="78" right="10" />                        
                     </js:style>
@@ -97,12 +106,15 @@
 				
 				<js:Group height="174" className="homeSection">
 					<js:beads>
-						<js:VerticalLayout />
+						<js:BasicLayout />
 					</js:beads>
                     <js:style>
                         <js:SimpleCSSStyles backgroundColor="#ebebe9" left="10" top="366" right="10" />
                     </js:style>
 					<js:Group width="100%" height="100%">
+					    <js:beads>
+							<js:VerticalLayout />
+					    </js:beads>
                         <js:style>
                             <js:SimpleCSSStyles left="10" top="10" />
                         </js:style>
@@ -114,21 +126,18 @@
 							<js:beads>
 								<js:HorizontalLayout />
 							</js:beads>
-                            <js:style>
-                                <js:SimpleCSSStyles verticalAlign="middle" />
-                            </js:style>
 							<js:TextInput height="20" width="40">
 								<js:beads>
 									<js:NumericOnlyTextInputBead/>
 								</js:beads>
 							</js:TextInput>
-							<js:HRule width="8" height="2"/>
+							<js:HRule width="8" height="2" style="verticalAlign:'middle'"/>
 							<js:TextInput height="20" width="40">
 								<js:beads>
 									<js:NumericOnlyTextInputBead/>
 								</js:beads>
 							</js:TextInput>
-							<js:HRule width="8" height="2"/>
+							<js:HRule width="8" height="2" style="verticalAlign:'middle'"/>
 							<js:TextInput height="20" width="40">
 								<js:beads>
 									<js:NumericOnlyTextInputBead/>
@@ -137,7 +146,7 @@
 						</js:Group>
 						
 						<js:Label text="Password"/>
-						<js:TextInput height="20">
+						<js:TextInput id="password" height="20">
 							<js:beads>
 								<js:PasswordInputBead/>
 							</js:beads>
@@ -161,9 +170,15 @@
 				<js:VerticalLayout />
 			</js:beads>
 			<js:Group width="100%" height="100%">
+			    <js:beads>
+					<js:BasicLayout />
+			    </js:beads>
 			
 			    <!-- can't use binding to set the mapImage source because the style isn't available early enough -->
 				<js:Group id="mapCanvas" height="35%" className="homeMap">
+				    <js:beads>
+						<js:BasicLayout />
+				    </js:beads>
                     <js:style>
                         <js:SimpleCSSStyles left="0" right="10" top="10" />
                     </js:style>
@@ -175,6 +190,9 @@
 				</js:Group>
 				
 				<js:Group height="330" >
+				    <js:beads>
+						<js:BasicLayout />
+				    </js:beads>
                     <js:style>
                         <js:SimpleCSSStyles backgroundColor="#ffffff" borderStyle="solid" bottom="10" right="10" left="0" /> <!-- cornerRadius="4" -->
                     </js:style>
@@ -189,42 +207,24 @@
 							<js:beads>
 								<js:VerticalLayout />
 							</js:beads>
-							<js:Group width="100%">
-								<js:Image id="image1" src="assets/akotter.jpg" style="margin:auto;verticalCenter:0"/>
-							</js:Group>
-							
-							<js:Group width="100%">
-								<js:Label text="Annette Kotter" id="feat_prod_1" style="margin:auto;fontWeight:'bold';fontSize:12"/>
-							</js:Group>
-							
+ 							<js:Image id="image1" src="assets/akotter.jpg" style="margin:auto;"/>							
+							<js:Label text="Annette Kotter" id="feat_prod_1" style="textAlign:center;fontWeight:'bold';fontSize:12;"/>
 						</js:Group>
 						
 						<js:Group width="33%" height="100%">							
 							<js:beads>
 								<js:VerticalLayout />
 							</js:beads>
-							<js:Group width="100%">
-								<js:Image id="image2" style="margin:auto;verticalCenter:0" src="assets/bcrater.jpg"/>
-							</js:Group>
-							
-							<js:Group width="100%">
-								<js:Label text="Ben Crater" id="feat_prod_2" style="margin:auto;fontWeight:'bold';fontSize:12"/>
-							</js:Group>
-							
+							<js:Image id="image2" style="margin:auto;" src="assets/bcrater.jpg"/>
+							<js:Label text="Ben Crater" id="feat_prod_2" style="textAlign:center;fontWeight:'bold';fontSize:12;"/>
 						</js:Group>
 						
 						<js:Group width="33%" height="100%">
 							<js:beads>
 								<js:VerticalLayout />
 							</js:beads>
-							<js:Group width="100%">
-								<js:Image id="image3" style="margin:auto;verticalCenter:0" src="assets/jproctor.jpg"/>
-							</js:Group>
-							
-							<js:Group width="100%">
-								<js:Label text="Jane Proctor" id="feat_prod_3" style="margin:auto;fontWeight:'bold';fontSize:12"/>
-							</js:Group>
-							
+							<js:Image id="image3" style="margin:auto;" src="assets/jproctor.jpg"/>
+							<js:Label text="Jane Proctor" id="feat_prod_3" style="textAlign:center;fontWeight:'bold';fontSize:12;"/>
 						</js:Group>
 						
 					</js:Group>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml b/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml
index 579de46..0a38b28 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml
@@ -23,7 +23,6 @@
 <js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"
          xmlns:js="library://ns.apache.org/flexjs/basic" 
     xmlns:productsView="productsView.*"
-    width="990" height="550"
     currentState="showFilter"
     >
 
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml b/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml
index 3d02179..439c153 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml
@@ -32,7 +32,7 @@
 <js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"
                  xmlns:js="library://ns.apache.org/flexjs/basic" 
                  xmlns="*" alpha="1.0"
-    width="990" height="550">
+    >
 	
 	<fx:Script>
 	    <![CDATA[
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml b/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml
index 8d7d827..e869a0b 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml
@@ -101,7 +101,6 @@
                 var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, true);
                 dragEvent.clientX = dragStartPoint.x;
                 dragEvent.clientY = dragStartPoint.y;
-                dragEvent.buttonDown = true;
                 dispatchEvent(dragEvent);
 
                 rollOutHandler(event);
diff --git a/examples/flexjs/FlexJSStore_jquery/build.xml b/examples/flexjs/FlexJSStore_jquery/build.xml
index ac61b45..5e841ec 100644
--- a/examples/flexjs/FlexJSStore_jquery/build.xml
+++ b/examples/flexjs/FlexJSStore_jquery/build.xml
@@ -30,26 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
     
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/jquery.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/jquery.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/jquery.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/jquery.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/jquery/out/bin/jquery-1.9.swc"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipFunctionCoercions" />
-    
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
         <mkdir dir="${basedir}/bin-debug/data" />
         <copy file="${basedir}/src/main/resources/data/catalog.json" tofile="${basedir}/bin-debug/data/catalog.json" />
         <mkdir dir="${basedir}/bin/js-debug/data" />
diff --git a/examples/flexjs/FlexJSStore_jquery/pom.xml b/examples/flexjs/FlexJSStore_jquery/pom.xml
index 4d69be0..8610ba0 100644
--- a/examples/flexjs/FlexJSStore_jquery/pom.xml
+++ b/examples/flexjs/FlexJSStore_jquery/pom.xml
@@ -79,27 +79,62 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>DragDrop</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Effects</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Effects</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Formatters</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Formatters</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>JQuery</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>JQuery</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
 
     <dependency>
diff --git a/examples/flexjs/FlexJSStore_jquery/src/main/config/compile-app-config.xml b/examples/flexjs/FlexJSStore_jquery/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..0e2b391
--- /dev/null
+++ b/examples/flexjs/FlexJSStore_jquery/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipFunctionCoercions</optimization>
+    </js-output-optimization>
+    <compiler>
+        <external-library-path append="true">
+            <path-element>../../../../../../js/libs/jquery.swc</path-element>
+        </external-library-path>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml b/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml
index 8d7d827..e869a0b 100755
--- a/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml
+++ b/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml
@@ -101,7 +101,6 @@
                 var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, true);
                 dragEvent.clientX = dragStartPoint.x;
                 dragEvent.clientY = dragStartPoint.y;
-                dragEvent.buttonDown = true;
                 dispatchEvent(dragEvent);
 
                 rollOutHandler(event);
diff --git a/examples/flexjs/FlexTeamPage_MDL/build.xml b/examples/flexjs/FlexTeamPage_MDL/build.xml
index e711b0e..e9207c7 100644
--- a/examples/flexjs/FlexTeamPage_MDL/build.xml
+++ b/examples/flexjs/FlexTeamPage_MDL/build.xml
@@ -27,12 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-compiler.exclude-defaults-css-files=HTML.swc:defaults.css" />
-    <property name="opt2_arg" value="-html-template=${basedir}/src/main/resources/mdl-js-index-template.html" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
         <mkdir dir="${basedir}/bin/js-debug/assets" />
         <copy todir="${basedir}/bin/js-debug/assets" >
             <fileset dir="${basedir}/src/main/resources/assets">
diff --git a/examples/flexjs/FlexTeamPage_MDL/pom.xml b/examples/flexjs/FlexTeamPage_MDL/pom.xml
index 4a27c04..512ba7e 100644
--- a/examples/flexjs/FlexTeamPage_MDL/pom.xml
+++ b/examples/flexjs/FlexTeamPage_MDL/pom.xml
@@ -71,15 +71,36 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>MaterialDesignLite</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>FontAwesome</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>FontAwesome</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
 
     <!-- Needed for Flash compilation -->
diff --git a/examples/flexjs/FlexTeamPage_MDL/src/main/config/compile-app-config.xml b/examples/flexjs/FlexTeamPage_MDL/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..cba31b7
--- /dev/null
+++ b/examples/flexjs/FlexTeamPage_MDL/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <compiler>
+        <exclude-defaults-css-files>
+            <filename>HTML.swc:defaults.css</filename>
+        </exclude-defaults-css-files>
+    </compiler>
+    <html-template>../resources/mdl-js-index-template.html</html-template>
+</flex-config>
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/build.xml b/examples/flexjs/FlexWebsiteStatsViewer/build.xml
index 8342b3d..d76519b 100644
--- a/examples/flexjs/FlexWebsiteStatsViewer/build.xml
+++ b/examples/flexjs/FlexWebsiteStatsViewer/build.xml
@@ -30,8 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
     
-<!-- temp remove build_example.compilejs -->
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/pom.xml b/examples/flexjs/FlexWebsiteStatsViewer/pom.xml
index 801d6c3..9a596d2 100644
--- a/examples/flexjs/FlexWebsiteStatsViewer/pom.xml
+++ b/examples/flexjs/FlexWebsiteStatsViewer/pom.xml
@@ -65,10 +65,24 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Charts</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Charts</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/HelloWorld/build.xml b/examples/flexjs/HelloWorld/build.xml
index 977e66f..797a98a 100644
--- a/examples/flexjs/HelloWorld/build.xml
+++ b/examples/flexjs/HelloWorld/build.xml
@@ -30,7 +30,7 @@
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/ListExample/build.xml b/examples/flexjs/ListExample/build.xml
index 645d79c..0cb3a20 100644
--- a/examples/flexjs/ListExample/build.xml
+++ b/examples/flexjs/ListExample/build.xml
@@ -30,25 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/ListExample/pom.xml b/examples/flexjs/ListExample/pom.xml
index 190702b..cc02992 100644
--- a/examples/flexjs/ListExample/pom.xml
+++ b/examples/flexjs/ListExample/pom.xml
@@ -52,6 +52,28 @@
   </build>
 
   <dependencies>
+    <!-- Already added in parent -->
+    <!--dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency-->
+    
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+
     <!-- Needed for Flash compilation -->
     <dependency>
       <groupId>com.adobe.flash.framework</groupId>
diff --git a/examples/flexjs/MDLDynamicTabsExample/pom.xml b/examples/flexjs/MDLDynamicTabsExample/pom.xml
index 2531f2b..47651d1 100644
--- a/examples/flexjs/MDLDynamicTabsExample/pom.xml
+++ b/examples/flexjs/MDLDynamicTabsExample/pom.xml
@@ -73,6 +73,14 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>MaterialDesignLite</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+
   </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/examples/flexjs/MDLExample/build.xml b/examples/flexjs/MDLExample/build.xml
index 226b10d..7c94681 100644
--- a/examples/flexjs/MDLExample/build.xml
+++ b/examples/flexjs/MDLExample/build.xml
@@ -27,12 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-compiler.exclude-defaults-css-files=HTML.swc:defaults.css" />
-    <property name="opt2_arg" value="-html-template=${basedir}/src/main/resources/mdl-js-index-template.html" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
         <mkdir dir="${basedir}/bin/js-debug/assets" />
         <copy todir="${basedir}/bin/js-debug/assets" >
             <fileset dir="${basedir}/src/main/resources/assets">
diff --git a/examples/flexjs/MDLExample/pom.xml b/examples/flexjs/MDLExample/pom.xml
index 2dc28f4..c91c98a 100644
--- a/examples/flexjs/MDLExample/pom.xml
+++ b/examples/flexjs/MDLExample/pom.xml
@@ -56,7 +56,7 @@
         <configuration>
           <mainClass>App.mxml</mainClass>
           <htmlTemplate>${basedir}/target/javascript/bin/js-debug/mdl-js-index-template.html</htmlTemplate>
-          <additionalCompilerOptions>-compiler.exclude-defaults-css-files=HTML-0.8.0-SNAPSHOT.swc:defaults.css</additionalCompilerOptions>
+          <additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-0.8.0-SNAPSHOT-js.swc:defaults.css</additionalCompilerOptions>
         </configuration>
       </plugin>
     </plugins>
@@ -69,6 +69,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>MaterialDesignLite</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <!-- Needed for Flash compilation -->
     <dependency>
diff --git a/examples/flexjs/MDLExample/src/main/config/compile-app-config.xml b/examples/flexjs/MDLExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..cba31b7
--- /dev/null
+++ b/examples/flexjs/MDLExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <compiler>
+        <exclude-defaults-css-files>
+            <filename>HTML.swc:defaults.css</filename>
+        </exclude-defaults-css-files>
+    </compiler>
+    <html-template>../resources/mdl-js-index-template.html</html-template>
+</flex-config>
diff --git a/examples/flexjs/MapSearch/build.xml b/examples/flexjs/MapSearch/build.xml
index c812942..5643fab 100644
--- a/examples/flexjs/MapSearch/build.xml
+++ b/examples/flexjs/MapSearch/build.xml
@@ -32,6 +32,7 @@
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
     
     <property name="AIR_HOME" value="${env.AIR_HOME}"/>
+    <property name="config_arg" value="air"/>
     
     <condition property="adl" value="adl.exe">
         <os family="windows"/>
@@ -51,30 +52,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/google_maps.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/google_maps.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/google_maps.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/google_maps.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/google_maps/out/bin/google_maps.swc"/>
-    <property name="opt1_arg" value="-remove-circulars" />
-
-    <target name="main" depends="clean,build_example.compilejsair" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
-        <echo>playerglobal.version = ${playerglobal.version}</echo>
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/MapSearch/pom.xml b/examples/flexjs/MapSearch/pom.xml
index 322e868..c58a0f1 100644
--- a/examples/flexjs/MapSearch/pom.xml
+++ b/examples/flexjs/MapSearch/pom.xml
@@ -73,6 +73,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>GoogleMaps</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
     
     <dependency>
         <groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/MapSearch/src/main/config/compile-app-config.xml b/examples/flexjs/MapSearch/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d542757
--- /dev/null
+++ b/examples/flexjs/MapSearch/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <remove-circulars>true</remove-circulars>
+    <compiler>
+        <external-library-path append="true">
+            <path-element>../../../../../../js/libs/google_maps.swc</path-element>
+        </external-library-path>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/MobileMap/build.xml b/examples/flexjs/MobileMap/build.xml
index ce2e376..2ce8d9d 100644
--- a/examples/flexjs/MobileMap/build.xml
+++ b/examples/flexjs/MobileMap/build.xml
@@ -29,29 +29,11 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-remove-circulars" />
+    <property name="config_arg" value="air" />
     
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/google_maps.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/google_maps.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/google_maps.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/google_maps.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/google_maps.swc"/>
-
-    <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="cordova" description="Executes the Cordova build script to create Cordova app">
diff --git a/examples/flexjs/MobileMap/pom.xml b/examples/flexjs/MobileMap/pom.xml
index e19255f..7a07308 100644
--- a/examples/flexjs/MobileMap/pom.xml
+++ b/examples/flexjs/MobileMap/pom.xml
@@ -73,11 +73,25 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Mobile</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>GoogleMaps</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>GoogleMaps</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
         <groupId>org.apache.flex.flexjs.typedefs</groupId>
         <artifactId>flexjs-typedefs-googlemaps</artifactId>
         <version>${flexjs.typedefs.version}</version>
diff --git a/examples/flexjs/MobileMap/src/main/config/compile-app-config.xml b/examples/flexjs/MobileMap/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d542757
--- /dev/null
+++ b/examples/flexjs/MobileMap/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <remove-circulars>true</remove-circulars>
+    <compiler>
+        <external-library-path append="true">
+            <path-element>../../../../../../js/libs/google_maps.swc</path-element>
+        </external-library-path>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/MobileStocks/build.xml b/examples/flexjs/MobileStocks/build.xml
index 62d465e..28b1e4b 100644
--- a/examples/flexjs/MobileStocks/build.xml
+++ b/examples/flexjs/MobileStocks/build.xml
@@ -32,6 +32,7 @@
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
     <property name="AIR_HOME" value="${env.AIR_HOME}"/>
+    <property name="config_arg" value="air"/>
     
     <condition property="adl" value="adl.exe">
         <os family="windows"/>
@@ -51,31 +52,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/cordova.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/cordova.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/cordova.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/cordova.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/cordova/out/bin/cordova.swc"/>
-    <property name="opt1_arg" value="-remove-circulars" />
-
-<!-- build_example.compileair, -->
-    <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
-        <echo>playerglobal.version = ${playerglobal.version}</echo>
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/MobileStocks/pom.xml b/examples/flexjs/MobileStocks/pom.xml
index bed67e8..c6cecee 100644
--- a/examples/flexjs/MobileStocks/pom.xml
+++ b/examples/flexjs/MobileStocks/pom.xml
@@ -75,27 +75,62 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Charts</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Mobile</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Mobile</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Storage</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Storage</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>XML</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>XML</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/examples/flexjs/MobileTrader/build.xml b/examples/flexjs/MobileTrader/build.xml
index 81fd570..c34f553 100644
--- a/examples/flexjs/MobileTrader/build.xml
+++ b/examples/flexjs/MobileTrader/build.xml
@@ -26,7 +26,6 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-remove-circulars" />
     
     <include file="${basedir}/../../build_example.xml" />
 
@@ -48,7 +47,7 @@
     </condition>
     <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs,copyassets" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile,copyassets" description="Clean build of ${example}">
     </target>
     
     <target name="copyassets">
diff --git a/examples/flexjs/MobileTrader/pom.xml b/examples/flexjs/MobileTrader/pom.xml
index 73121a8..d9d4302 100644
--- a/examples/flexjs/MobileTrader/pom.xml
+++ b/examples/flexjs/MobileTrader/pom.xml
@@ -75,15 +75,36 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Charts</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Mobile</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Mobile</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/examples/flexjs/MobileTrader/src/main/config/compile-app-config.xml b/examples/flexjs/MobileTrader/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..a8b73f5
--- /dev/null
+++ b/examples/flexjs/MobileTrader/src/main/config/compile-app-config.xml
@@ -0,0 +1,21 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <remove-circulars>true</remove-circulars>
+</flex-config>
diff --git a/examples/flexjs/StorageExample/build.xml b/examples/flexjs/StorageExample/build.xml
index 73ccdd7..a93bf25 100644
--- a/examples/flexjs/StorageExample/build.xml
+++ b/examples/flexjs/StorageExample/build.xml
@@ -32,6 +32,7 @@
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
     <property name="AIR_HOME" value="${env.AIR_HOME}"/>
+    <property name="config_arg" value="air" />
     
     <condition property="adl" value="adl.exe">
         <os family="windows"/>
@@ -51,31 +52,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/cordova.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/cordova.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/cordova.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/cordova.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/cordova/out/bin/cordova.swc"/>
-    <property name="opt1_arg" value="-remove-circulars" />
-
-<!-- build_example.compileair, -->
-    <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
-        <echo>playerglobal.version = ${playerglobal.version}</echo>
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/StorageExample/pom.xml b/examples/flexjs/StorageExample/pom.xml
index cdb4ab1..be6c608 100644
--- a/examples/flexjs/StorageExample/pom.xml
+++ b/examples/flexjs/StorageExample/pom.xml
@@ -66,6 +66,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Storage</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <dependency>
       <groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/StorageExample/src/main/config/compile-app-config.xml b/examples/flexjs/StorageExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..cc47563
--- /dev/null
+++ b/examples/flexjs/StorageExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <remove-circulars>true</remove-circulars>
+    <compiler>
+        <external-library-path append="true">
+            <path-element>../../../../../../js/libs/cordova.swc</path-element>
+        </external-library-path>
+    </compiler>
+</flex-config>
diff --git a/examples/flexjs/StyleExample/build.xml b/examples/flexjs/StyleExample/build.xml
index c9de1d0..09add5a 100644
--- a/examples/flexjs/StyleExample/build.xml
+++ b/examples/flexjs/StyleExample/build.xml
@@ -27,11 +27,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/StyleExample/pom.xml b/examples/flexjs/StyleExample/pom.xml
index 611c0a0..f7646ce 100644
--- a/examples/flexjs/StyleExample/pom.xml
+++ b/examples/flexjs/StyleExample/pom.xml
@@ -74,6 +74,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/flexjs/StyleExample/src/main/config/compile-app-config.xml b/examples/flexjs/StyleExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/StyleExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipAsCoercions</optimization>
+    </js-output-optimization>
+</flex-config>
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDataGridView.as b/examples/flexjs/TableExample/README.txt
similarity index 68%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDataGridView.as
rename to examples/flexjs/TableExample/README.txt
index 8f04d11..1faac9c 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDataGridView.as
+++ b/examples/flexjs/TableExample/README.txt
@@ -16,21 +16,18 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBeadView;
-	
-	/**
-	 *  The IDataGridView interface marks as a component as being the bead that
-	 *  can create the visual pieces for a org.apache.flex.html.DataGrid. 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IDataGridView extends IBeadView
-	{
-		
-	}
-}
+
+DESCRIPTION
+
+The TableExample demonstrates the use of the Table component. Using Table, you
+can build column by row structured grids. When cross compiled to JavaScript, the
+Table component produces an HTML <table> structure.
+
+This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX)
+into JavaScript and HTML and run without Flash.
+
+COMPONENTS and BEADS
+
+- Table
+- TableRow
+- TableHeader and TableCell
diff --git a/examples/flexjs/TableExample/build.xml b/examples/flexjs/TableExample/build.xml
new file mode 100644
index 0000000..6a3df12
--- /dev/null
+++ b/examples/flexjs/TableExample/build.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="tableexample" default="main" basedir=".">
+    <property name="FLEXJS_HOME" location="../../.."/>
+    <property name="example" value="TableExample" />
+    
+    <property file="${FLEXJS_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${FLEXJS_HOME}/build.properties"/>
+    <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+    
+    <include file="${basedir}/../../build_example.xml" />
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
+    	<!--<mkdir dir="${basedir}/bin/js-debug/assets" />
+        <copy todir="${basedir}/bin/js-debug/assets" >
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+        <mkdir dir="${basedir}/bin/js-release/assets" />
+        <copy todir="${basedir}/bin/js-release/assets" >
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>-->
+    </target>
+    
+    <target name="clean">
+        <delete dir="${basedir}/bin" failonerror="false" />
+        <delete dir="${basedir}/bin-debug" failonerror="false" />
+        <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
+    
+</project>
diff --git a/examples/flexjs/TableExample/pom.xml b/examples/flexjs/TableExample/pom.xml
new file mode 100644
index 0000000..c0affb7
--- /dev/null
+++ b/examples/flexjs/TableExample/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <!--
+        Flash Version: CSS problems
+  -->
+
+  <parent>
+    <groupId>org.apache.flex.flexjs.examples</groupId>
+    <artifactId>examples-flexjs</artifactId>
+    <version>0.8.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>TableExample</artifactId>
+  <version>0.8.0-SNAPSHOT</version>
+  <packaging>swf</packaging>
+
+  <name>Apache Flex - FlexJS: Examples: FlexJS: TableExample</name>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.flex.flexjs.compiler</groupId>
+        <artifactId>flexjs-maven-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <mainClass>TableExample.mxml</mainClass>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>com.adobe.flash.framework</groupId>
+      <artifactId>playerglobal</artifactId>
+      <version>${flash.version}</version>
+      <type>swc</type>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git a/examples/flexjs/TableExample/src/main/flex/MyInitialView.mxml b/examples/flexjs/TableExample/src/main/flex/MyInitialView.mxml
new file mode 100644
index 0000000..c2f81dd
--- /dev/null
+++ b/examples/flexjs/TableExample/src/main/flex/MyInitialView.mxml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:js="library://ns.apache.org/flexjs/basic">
+    
+	<fx:Style>
+		@namespace js "library://ns.apache.org/flexjs/basic";
+		
+		
+		.Table {
+			backgroundColor: orange;
+			padding: 4px;
+		}
+		
+		.TableHeader {
+			backgroundColor: aliceblue;
+			border: 1px solid orange;
+		}
+		
+		.TableCell {
+			backgroundColor: lightblue;
+			border: 1px solid orange;
+		}
+		
+		.CellGroup {
+			backgroundColor: aliceblue;
+			padding: 6px;
+		}
+		
+	</fx:Style>
+	
+	<js:beads>
+		<js:ViewDataBinding />
+	</js:beads>
+	
+	<js:Table width="500" height="400" >
+		<!-- By placing the width on the cell of the first row, you effectively set the
+		     width for the rest of the cells in each column. Here, the widths are set to
+		     percentage values but you can use pixel values as well.
+		-->
+		<js:TableRow>
+			<js:TableHeader width="25%">
+				<js:Label text="Apples" />
+			</js:TableHeader>
+			<js:TableHeader width="50%">
+				<js:Label text="Oranges" />
+			</js:TableHeader>
+			<js:TableHeader width="25%">
+				<js:Label text="Grapes" />
+			</js:TableHeader>
+		</js:TableRow>
+		<js:TableRow>
+			<js:TableCell>
+				<js:Label text="Row 1, Col 1" />
+			</js:TableCell>
+			<js:TableCell>
+				<js:Label text="Row 1, Col 2" />
+			</js:TableCell>
+			<js:TableCell>
+				<js:Label text="Row 1, Col 3" />
+			</js:TableCell>
+		</js:TableRow>
+		<js:TableRow>
+			<js:TableCell>
+				<js:Label text="Row 2, Col 1" />
+			</js:TableCell>
+			<js:TableCell>
+				<js:Label text="Row 2, Col 2" />
+			</js:TableCell>
+			<js:TableCell>
+				<js:Label text="Row 2, Col 3" />
+			</js:TableCell>
+		</js:TableRow>
+		<js:TableRow>
+			<js:TableCell>
+				<js:Label text="Row 3, Col 1" />
+			</js:TableCell>
+			<js:TableCell>
+				<!-- By using a Group within a cell you have better control of the
+				     layout.
+				-->
+				<js:Group className="CellGroup">
+					<js:beads>
+						<js:VerticalLayout />
+					</js:beads>
+					<js:Label text="Row 3" />
+					<js:Label text="+" />
+					<js:Label text="Col 2" />
+				</js:Group>
+			</js:TableCell>
+			<js:TableCell>
+				<js:Group className="CellGroup">
+					<js:beads>
+						<js:HorizontalLayout />
+					</js:beads>
+					<js:Label text="Row 3" />
+					<js:Label text="+" />
+					<js:Label text="Col 3" />
+				</js:Group>
+			</js:TableCell>
+		</js:TableRow>
+	</js:Table>
+
+</js:View>
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/TextButton.as b/examples/flexjs/TableExample/src/main/flex/TableExample.mxml
similarity index 70%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/TextButton.as
rename to examples/flexjs/TableExample/src/main/flex/TableExample.mxml
index 83a2821..2d5c972 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/TextButton.as
+++ b/examples/flexjs/TableExample/src/main/flex/TableExample.mxml
@@ -1,4 +1,5 @@
-////////////////////////////////////////////////////////////////////////////////
+<?xml version="1.0" encoding="utf-8"?>
+<!---
 //
 //  Licensed to the Apache Software Foundation (ASF) under one or more
 //  contributor license agreements.  See the NOTICE file distributed with
@@ -16,15 +17,17 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
-	import org.apache.flex.html.TextButton;
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				   xmlns:local="*"
+				   xmlns:models="models.*"
+				   xmlns:js="library://ns.apache.org/flexjs/basic" 
+				   >
 	
-	public class TextButton extends org.apache.flex.html.TextButton
-	{
-		public function TextButton()
-		{
-			super();
-		}
-	}
-}
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	<js:initialView>
+		<local:MyInitialView />
+	</js:initialView>
+</js:Application>
diff --git a/examples/flexjs/TeamPage/build.xml b/examples/flexjs/TeamPage/build.xml
index 7b9ed5f..add4117 100644
--- a/examples/flexjs/TeamPage/build.xml
+++ b/examples/flexjs/TeamPage/build.xml
@@ -26,29 +26,10 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-remove-circulars" />
     
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     	<copy file="${basedir}/src/main/resources/team.json" tofile="${basedir}/bin-debug/team.json" />
         <copy file="${basedir}/src/main/resources/team.json" tofile="${basedir}/bin/js-debug/team.json" />
         <copy file="${basedir}/src/main/resources/team.json" tofile="${basedir}/bin/js-release/team.json" />
diff --git a/examples/flexjs/TeamPage/pom.xml b/examples/flexjs/TeamPage/pom.xml
index 20568e4..a765a8e 100644
--- a/examples/flexjs/TeamPage/pom.xml
+++ b/examples/flexjs/TeamPage/pom.xml
@@ -65,6 +65,13 @@
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Network</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
 
     <!-- Needed for Flash compilation -->
     <dependency>
diff --git a/examples/flexjs/TeamPage/src/main/config/compile-app-config.xml b/examples/flexjs/TeamPage/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..a8b73f5
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/main/config/compile-app-config.xml
@@ -0,0 +1,21 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <remove-circulars>true</remove-circulars>
+</flex-config>
diff --git a/examples/flexjs/TodoListSampleApp/build.xml b/examples/flexjs/TodoListSampleApp/build.xml
index 9c10a0d..ea5d145 100644
--- a/examples/flexjs/TodoListSampleApp/build.xml
+++ b/examples/flexjs/TodoListSampleApp/build.xml
@@ -25,16 +25,11 @@
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
 
     <include file="${basedir}/../../build_example.xml" />
     
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
-    <!-- Uncomment to reproduce cross-compilation error in compilejs step
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
-    </target>
-    -->
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
diff --git a/examples/flexjs/TodoListSampleApp/src/main/config/compile-app-config.xml b/examples/flexjs/TodoListSampleApp/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipAsCoercions</optimization>
+    </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/TreeExample/build.xml b/examples/flexjs/TreeExample/build.xml
index 9e0d8f5..db2f622 100644
--- a/examples/flexjs/TreeExample/build.xml
+++ b/examples/flexjs/TreeExample/build.xml
@@ -30,25 +30,7 @@
     
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="extlib_arg" />
-            </not>
-            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/flexjs/pom.xml b/examples/flexjs/pom.xml
index 0831f2f..d3c0ba9 100644
--- a/examples/flexjs/pom.xml
+++ b/examples/flexjs/pom.xml
@@ -105,34 +105,76 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Language</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Language</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>HTML</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>HTML</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Collections</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Binding</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
+    <dependency>
+        <groupId>org.apache.flex.flexjs.framework</groupId>
+        <artifactId>Graphics</artifactId>
+        <version>0.8.0-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
 
     <!-- Import the shared unit-tests we want to run on all examples -->
     <dependency>
diff --git a/examples/native/AngularExample/pom.xml b/examples/native/AngularExample/pom.xml
index 28d3b63..8743fc7 100644
--- a/examples/native/AngularExample/pom.xml
+++ b/examples/native/AngularExample/pom.xml
@@ -43,6 +43,7 @@
         <extensions>true</extensions>
         <configuration>
           <mainClass>AngularExample.as</mainClass>
+          <targets>JS</targets>
         </configuration>
       </plugin>
     </plugins>
diff --git a/examples/native/ButtonExample/build.xml b/examples/native/ButtonExample/build.xml
index 79d3a49..5e0f408 100644
--- a/examples/native/ButtonExample/build.xml
+++ b/examples/native/ButtonExample/build.xml
@@ -30,71 +30,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="JS.SWC" value="${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="JS.SWC" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
-
-    <condition property="JS.SWC" value="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" >
-        <and>
-            <not>
-                <isset property="JS.SWC" />
-            </not>
-            <available file="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" type="file" />
-        </and>
-    </condition>
-        
-    <condition property="JS.SWC" value="${FALCONJX_HOME}/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="JS.SWC" />
-            </not>
-            <available file="${FALCONJX_HOME}/libs/js.swc" type="file" />
-        </and>
-    </condition>
-        
-    <path id="lib.path">
-        <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
-    </path>
-
-    <target name="main" depends="clean,build" description="Clean build of ${example}">
-    </target>
+    <property name="config_arg" value="js" />
+    <property name="file_suffix" value="as" />
     
-    <target name="build">
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="-debug" />
-            <arg value="-define=CONFIG::as_only,false" />
-            <arg value="-define=CONFIG::js_only,true" />
-            <arg value="-external-library-path=${JS.SWC}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
-            <arg value="${basedir}/src/main/flex/${example}.as" />
-        </java>
-        <fail>
-            <condition>
-                <not>
-                    <or>
-                        <equals arg1="${errorCode}" arg2="0" />
-                        <equals arg1="${errorCode}" arg2="2" />
-                    </or>
-                </not>
-            </condition>
-        </fail>        
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/native/ButtonExample/pom.xml b/examples/native/ButtonExample/pom.xml
index aacf74f..b81d238 100644
--- a/examples/native/ButtonExample/pom.xml
+++ b/examples/native/ButtonExample/pom.xml
@@ -43,8 +43,17 @@
         <configuration>
           <outputJavaScript>true</outputJavaScript>
           <mainClass>ButtonExample.as</mainClass>
+          <targets>JS</targets>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
diff --git a/examples/native/USStatesMap/build.xml b/examples/native/USStatesMap/build.xml
index ebb9478..5a0d580 100644
--- a/examples/native/USStatesMap/build.xml
+++ b/examples/native/USStatesMap/build.xml
@@ -30,71 +30,10 @@
 
     <include file="${basedir}/../../build_example.xml" />
 
-    <condition property="JS.SWC" value="${FLEXJS_HOME}/js/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="JS.SWC" />
-            </not>
-            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
-        </and>
-    </condition>
+    <property name="config_arg" value="js" />
+    <property name="file_suffix" value="as" />
 
-    <condition property="JS.SWC" value="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" >
-        <and>
-            <not>
-                <isset property="JS.SWC" />
-            </not>
-            <available file="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" type="file" />
-        </and>
-    </condition>
-
-    <condition property="JS.SWC" value="${FALCONJX_HOME}/libs/js.swc" >
-        <and>
-            <not>
-                <isset property="JS.SWC" />
-            </not>
-            <available file="${FALCONJX_HOME}/libs/js.swc" type="file" />
-        </and>
-    </condition>
-
-    <path id="lib.path">
-        <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
-    </path>
-
-    <target name="main" depends="clean,build" description="Clean build of ${example}">
-    </target>
-    
-    <target name="build">
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="-debug" />
-            <arg value="-define=CONFIG::as_only,false" />
-            <arg value="-define=CONFIG::js_only,true" />
-            <arg value="-external-library-path=${JS.SWC}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
-            <arg value="${basedir}/src/main/flex/${example}.as" />
-        </java>
-        <fail>
-            <condition>
-                <not>
-                    <or>
-                        <equals arg1="${errorCode}" arg2="0" />
-                        <equals arg1="${errorCode}" arg2="2" />
-                    </or>
-                </not>
-            </condition>
-        </fail>        
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
diff --git a/examples/native/USStatesMap/pom.xml b/examples/native/USStatesMap/pom.xml
index 13755b8..936866d 100644
--- a/examples/native/USStatesMap/pom.xml
+++ b/examples/native/USStatesMap/pom.xml
@@ -44,8 +44,17 @@
         <configuration>
           <outputJavaScript>true</outputJavaScript>
           <mainClass>USStatesMap.as</mainClass>
+          <targets>JS</targets>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
@@ -64,6 +73,7 @@
       <artifactId>Language</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/examples/native/pom.xml b/examples/native/pom.xml
index c2d623d..08caf25 100644
--- a/examples/native/pom.xml
+++ b/examples/native/pom.xml
@@ -44,13 +44,19 @@
   </modules>
 
   <dependencies>
-    <dependency>
-      <groupId>com.adobe.flash.framework</groupId>
-      <artifactId>playerglobal</artifactId>
-      <version>${flash.version}</version>
-      <type>swc</type>
-      <scope>provided</scope>
-    </dependency>
+      <!--
+       By declaring this dependency here, we force the flexjs-externs-js to be
+       added to the external library path of all modules. Without this it would
+       have gone to the library path.
+       -->
+      <dependency>
+          <groupId>org.apache.flex.flexjs.typedefs</groupId>
+          <artifactId>flexjs-typedefs-js</artifactId>
+          <version>${flexjs.typedefs.version}</version>
+          <type>swc</type>
+          <classifier>typedefs</classifier>
+          <scope>runtime</scope>
+      </dependency>
   </dependencies>
 
 </project>
diff --git a/examples/pom.xml b/examples/pom.xml
index 412ce1a..9499b80 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -71,19 +71,6 @@
           <artifactId>flexjs-maven-plugin</artifactId>
           <version>${flexjs.compiler.version}</version>
           <extensions>true</extensions>
-          <executions>
-            <!-- Add a second execution with output set to JavaScript (Flash is the default) -->
-            <execution>
-              <id>compile-javascript</id>
-              <phase>compile</phase>
-              <goals>
-                <goal>compile-app</goal>
-              </goals>
-              <configuration>
-                <outputJavaScript>true</outputJavaScript>
-              </configuration>
-            </execution>
-          </executions>
         </plugin>
         <plugin>
           <groupId>org.jboss.errai</groupId>
diff --git a/frameworks/air-config-template.xml b/frameworks/air-config-template.xml
index 43c1a72..c148198 100644
--- a/frameworks/air-config-template.xml
+++ b/frameworks/air-config-template.xml
@@ -27,6 +27,15 @@
    <swf-version>@swfversion@</swf-version>
     
    <compiler>
+       
+      <!-- build both SWF and JS. -->
+      <targets>
+          <target>SWF</target>
+          <target>JSFlex</target>
+      </targets>
+
+      <define><name>COMPILE::SWF</name><value>AUTO</value></define>
+      <define><name>COMPILE::JS</name><value>AUTO</value></define>
 
       <!-- Turn on generation of accessible SWFs. -->
       <accessible>true</accessible>
@@ -59,8 +68,14 @@
 
       <!-- List of SWC files or directories to compile against but to omit from -->
       <!-- linking.                                                             -->
-      <external-library-path>
+      <swf-external-library-path>
           <path-element>{airHome}/frameworks/libs/air/airglobal.swc</path-element>
+      </swf-external-library-path>
+      
+      <!-- List of SWC files or directories to compile against but to omit from -->
+      <!-- linking.                                                             -->
+      <external-library-path>
+          <path-element>../js/libs/js.swc</path-element>
       </external-library-path>
       
       <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -76,11 +91,17 @@
       -->
       
       <!-- List of SWC files or directories that contain SWC files. -->
-      <library-path>
+      <swf-library-path>
          <path-element>libs</path-element>
          <path-element>{airHome}/frameworks/libs/air</path-element>
+      </swf-library-path>
+      
+      <!-- List of SWC files or directories that contain SWC files. -->
+      <library-path>
+          <path-element>js/FlexJS/libs</path-element>
       </library-path>
-     
+      
+      <allow-subclass-overrides>true</allow-subclass-overrides>
      <mxml>
          <children-as-data>true</children-as-data>
          <imports>
@@ -93,6 +114,9 @@
      <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
      <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
      <binding-value-change-event-type>valueChange</binding-value-change-event-type>
+     <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
+     <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+     <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
      <states-class>org.apache.flex.states.State</states-class>
      <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
      <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
@@ -112,6 +136,12 @@
       <namespace>
           <uri>library://ns.apache.org/flexjs/basic</uri>
           
+          <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+          
+      </namespace>
+      <namespace>
+          <uri>library://ns.apache.org/flexjs/basic</uri>
+          
           <manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>
           
       </namespace>
diff --git a/frameworks/air-config.xml b/frameworks/air-config.xml
index 4daa749..cecc140 100644
--- a/frameworks/air-config.xml
+++ b/frameworks/air-config.xml
@@ -27,6 +27,15 @@
    <swf-version>14</swf-version>
     
    <compiler>
+       
+      <!-- build both SWF and JS. -->
+      <targets>
+          <target>SWF</target>
+          <target>JSFlex</target>
+      </targets>
+
+      <define><name>COMPILE::SWF</name><value>AUTO</value></define>
+      <define><name>COMPILE::JS</name><value>AUTO</value></define>
 
       <!-- Turn on generation of accessible SWFs. -->
       <accessible>true</accessible>
@@ -59,8 +68,14 @@
 
       <!-- List of SWC files or directories to compile against but to omit from -->
       <!-- linking.                                                             -->
-      <external-library-path>
+      <swf-external-library-path>
           <path-element>{airHome}/frameworks/libs/air/airglobal.swc</path-element>
+      </swf-external-library-path>
+      
+      <!-- List of SWC files or directories to compile against but to omit from -->
+      <!-- linking.                                                             -->
+      <external-library-path>
+          <path-element>../js/libs/js.swc</path-element>
       </external-library-path>
       
       <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -76,11 +91,17 @@
       -->
       
       <!-- List of SWC files or directories that contain SWC files. -->
-      <library-path>
+      <swf-library-path>
          <path-element>libs</path-element>
          <path-element>{airHome}/frameworks/libs/air</path-element>
+      </swf-library-path>
+      
+      <!-- List of SWC files or directories that contain SWC files. -->
+      <library-path>
+          <path-element>js/FlexJS/libs</path-element>
       </library-path>
-     
+      
+      <allow-subclass-overrides>true</allow-subclass-overrides>
      <mxml>
          <children-as-data>true</children-as-data>
          <imports>
@@ -93,6 +114,9 @@
      <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
      <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
      <binding-value-change-event-type>valueChange</binding-value-change-event-type>
+     <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
+     <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+     <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
      <states-class>org.apache.flex.states.State</states-class>
      <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
      <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
@@ -112,6 +136,12 @@
       <namespace>
           <uri>library://ns.apache.org/flexjs/basic</uri>
           
+          <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+          
+      </namespace>
+      <namespace>
+          <uri>library://ns.apache.org/flexjs/basic</uri>
+          
           <manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>
           
       </namespace>
diff --git a/frameworks/asdoc-config.xml b/frameworks/asdoc-config.xml
index 60391d7..0221ab0 100644
--- a/frameworks/asdoc-config.xml
+++ b/frameworks/asdoc-config.xml
@@ -62,7 +62,7 @@
           <path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>

-          <path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>

+          <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>

           <path-element>${frameworks_dir}/projects/Language/src/main/flex</path-element>

@@ -147,7 +147,7 @@
             </namespace>

             <namespace>

                 <uri>library://ns.apache.org/flexjs/basic</uri>

-                <manifest>${frameworks_dir}/projects/HTML/src/main/resources/basic-manifest.xml</manifest>

+                <manifest>${frameworks_dir}/projects/Basic/src/main/resources/basic-manifest.xml</manifest>

             </namespace>

             <namespace>

                 <uri>library://ns.apache.org/flexjs/html5</uri>

@@ -467,7 +467,7 @@
             <path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex/org</path-element>

             <path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>

-            <path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>

+            <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>

             <path-element>${frameworks_dir}/projects/Mobile/src/main/flex</path-element>

diff --git a/frameworks/build.xml b/frameworks/build.xml
index aea5ea2..f330633 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -68,8 +68,11 @@
     </target>
 
     
-    <target name="prepare" depends="thirdparty-downloads"/>
-            
+    <target name="prepare" depends="thirdparty-downloads">
+        <mkdir dir="${basedir}/js/FlexJS/libs" />
+        <mkdir dir="${basedir}/libs" />
+    </target>
+
     <target name="thirdparty-downloads" unless="no.thirdparty-downloads" description="Downloads all the required thirdparty code.">
         <ant antfile="${basedir}/downloads.xml" dir="${basedir}"/>
     </target>
@@ -81,9 +84,9 @@
         <antcall target="Graphics"/>
         <antcall target="Binding"/>
         <antcall target="Collections"/>
+        <antcall target="Basic"/>
         <antcall target="HTML"/>
         <antcall target="Effects"/>
-       <!-- <antcall target="Basic"/> -->
         <antcall target="Flat"/>
         <antcall target="Charts"/>
         <antcall target="DragDrop"/>
diff --git a/frameworks/createjs-config-template.xml b/frameworks/createjs-config-template.xml
index d9c4341..49a8980 100644
--- a/frameworks/createjs-config-template.xml
+++ b/frameworks/createjs-config-template.xml
@@ -29,6 +29,11 @@
 

    <compiler>

 

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JS</target>

+      </targets>

+      

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

       <!--

@@ -74,6 +79,7 @@
          <path-element>../js/libs/GCL.swc</path-element>

       </library-path>

 

+      <allow-subclass-overrides>true</allow-subclass-overrides>

       <mxml>

           <children-as-data>true</children-as-data>

           <imports>

@@ -88,6 +94,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/createjs-config.xml b/frameworks/createjs-config.xml
index e29efb1..cf0eaf5 100644
--- a/frameworks/createjs-config.xml
+++ b/frameworks/createjs-config.xml
@@ -29,6 +29,11 @@
 

    <compiler>

 

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JS</target>

+      </targets>

+      

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

       <!--

@@ -74,6 +79,7 @@
          <path-element>../js/libs/GCL.swc</path-element>

       </library-path>

 

+      <allow-subclass-overrides>true</allow-subclass-overrides>

       <mxml>

           <children-as-data>true</children-as-data>

           <imports>

@@ -88,6 +94,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/flex-config-template.xml b/frameworks/flex-config-template.xml
index ab201b1..5fcb28f 100644
--- a/frameworks/flex-config-template.xml
+++ b/frameworks/flex-config-template.xml
@@ -29,6 +29,15 @@
 

    <compiler>

 

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>SWF</target>

+          <target>JSFlex</target>

+      </targets>

+    

+      <define><name>COMPILE::SWF</name><value>AUTO</value></define>

+      <define><name>COMPILE::JS</name><value>AUTO</value></define>

+    

       <!-- Turn on generation of accessible SWFs. -->

       <accessible>true</accessible>

 

@@ -60,8 +69,14 @@
 

       <!-- List of SWC files or directories to compile against but to omit from -->

       <!-- linking.                                                             -->

-      <external-library-path>

+      <swf-external-library-path>

           <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>

+      </swf-external-library-path>

+

+      <!-- List of SWC files or directories to compile against but to omit from -->

+      <!-- linking.                                                             -->

+      <external-library-path>

+          <path-element>../js/libs/js.swc</path-element>

       </external-library-path>

 

       <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->

@@ -77,11 +92,17 @@
       -->

 

       <!-- List of SWC files or directories that contain SWC files. -->

-      <library-path>

+      <swf-library-path>

          <path-element>libs</path-element>

          <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>

+      </swf-library-path>

+

+      <!-- List of SWC files or directories that contain SWC files. -->

+      <library-path>

+          <path-element>js/FlexJS/libs</path-element>

       </library-path>

 

+      <allow-subclass-overrides>true</allow-subclass-overrides>

       <mxml>

           <children-as-data>true</children-as-data>

           <imports>

@@ -96,6 +117,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

@@ -115,6 +137,12 @@
       <namespace>

           <uri>library://ns.apache.org/flexjs/basic</uri>

           

+          <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>

+          

+      </namespace>

+      <namespace>

+          <uri>library://ns.apache.org/flexjs/basic</uri>

+          

           <manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>

           

       </namespace>

diff --git a/frameworks/flex-config.xml b/frameworks/flex-config.xml
index 005bcd3..3744998 100644
--- a/frameworks/flex-config.xml
+++ b/frameworks/flex-config.xml
@@ -29,6 +29,15 @@
 

    <compiler>

 

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>SWF</target>

+          <target>JSFlex</target>

+      </targets>

+    

+      <define><name>COMPILE::SWF</name><value>AUTO</value></define>

+      <define><name>COMPILE::JS</name><value>AUTO</value></define>

+    

       <!-- Turn on generation of accessible SWFs. -->

       <accessible>true</accessible>

 

@@ -60,8 +69,14 @@
 

       <!-- List of SWC files or directories to compile against but to omit from -->

       <!-- linking.                                                             -->

-      <external-library-path>

+      <swf-external-library-path>

           <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>

+      </swf-external-library-path>

+

+      <!-- List of SWC files or directories to compile against but to omit from -->

+      <!-- linking.                                                             -->

+      <external-library-path>

+          <path-element>../js/libs/js.swc</path-element>

       </external-library-path>

 

       <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->

@@ -77,11 +92,17 @@
       -->

 

       <!-- List of SWC files or directories that contain SWC files. -->

-      <library-path>

+      <swf-library-path>

          <path-element>libs</path-element>

          <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>

+      </swf-library-path>

+

+      <!-- List of SWC files or directories that contain SWC files. -->

+      <library-path>

+          <path-element>js/FlexJS/libs</path-element>

       </library-path>

 

+      <allow-subclass-overrides>true</allow-subclass-overrides>

       <mxml>

           <children-as-data>true</children-as-data>

           <imports>

@@ -96,6 +117,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

@@ -115,6 +137,12 @@
       <namespace>

           <uri>library://ns.apache.org/flexjs/basic</uri>

           

+          <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>

+          

+      </namespace>

+      <namespace>

+          <uri>library://ns.apache.org/flexjs/basic</uri>

+          

           <manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>

           

       </namespace>

diff --git a/frameworks/jquery-config-template.xml b/frameworks/jquery-config-template.xml
index 6d9cc30..f97f278 100644
--- a/frameworks/jquery-config-template.xml
+++ b/frameworks/jquery-config-template.xml
@@ -28,6 +28,10 @@
    <swf-version>@swfversion@</swf-version>

 

    <compiler>

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JS</target>

+      </targets>

 

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

@@ -75,6 +79,7 @@
          <path-element>../js/libs/GCL.swc</path-element>

       </library-path>

 

+      <allow-subclass-overrides>true</allow-subclass-overrides>

       <mxml>

           <children-as-data>true</children-as-data>

           <imports>

@@ -89,6 +94,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/jquery-config.xml b/frameworks/jquery-config.xml
index 6a193f2..4bae5b3 100644
--- a/frameworks/jquery-config.xml
+++ b/frameworks/jquery-config.xml
@@ -28,6 +28,10 @@
    <swf-version>14</swf-version>

 

    <compiler>

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JS</target>

+      </targets>

 

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

@@ -75,6 +79,7 @@
          <path-element>../js/libs/GCL.swc</path-element>

       </library-path>

 

+      <allow-subclass-overrides>true</allow-subclass-overrides>

       <mxml>

           <children-as-data>true</children-as-data>

           <imports>

@@ -89,6 +94,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/js-config-template.xml b/frameworks/js-config-template.xml
index 4818f65..e2db2f8 100644
--- a/frameworks/js-config-template.xml
+++ b/frameworks/js-config-template.xml
@@ -28,6 +28,10 @@
    <swf-version>@swfversion@</swf-version>

 

    <compiler>

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JS</target>

+      </targets>

 

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

@@ -88,6 +92,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/js-config.xml b/frameworks/js-config.xml
index 3e5d58b..c66ccef 100644
--- a/frameworks/js-config.xml
+++ b/frameworks/js-config.xml
@@ -28,6 +28,10 @@
    <swf-version>14</swf-version>

 

    <compiler>

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JS</target>

+      </targets>

 

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

@@ -88,6 +92,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/js/FlexJS/build.xml b/frameworks/js/FlexJS/build.xml
index 66fe346..9f5b3e1 100644
--- a/frameworks/js/FlexJS/build.xml
+++ b/frameworks/js/FlexJS/build.xml
@@ -126,8 +126,10 @@
         <ant dir="${basedir}/projects/CreateJSJS" target="clean"/>
         <ant dir="${basedir}/projects/DragDropJS" target="clean"/>
         <ant dir="${basedir}/projects/EffectsJS" target="clean"/>
+        <ant dir="${basedir}/projects/ExpressJS" target="clean"/>
         <ant dir="${basedir}/projects/FlatJS" target="clean"/>
         <ant dir="${basedir}/projects/FormattersJS" target="clean"/>
+        <ant dir="${basedir}/projects/FontAwesomeJS" target="clean"/>
         <ant dir="${basedir}/projects/GoogleMapsJS" target="clean"/>
         <ant dir="${basedir}/projects/GraphicsJS" target="clean"/>
         <ant dir="${basedir}/projects/BasicJS" target="clean"/>
diff --git a/frameworks/js/FlexJS/projects/BasicJS/build.xml b/frameworks/js/FlexJS/projects/BasicJS/build.xml
index 5a39024..1ec3f06 100644
--- a/frameworks/js/FlexJS/projects/BasicJS/build.xml
+++ b/frameworks/js/FlexJS/projects/BasicJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml
index 1f22b4a..15c4654 100644
--- a/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml
@@ -57,7 +57,6 @@
             <path-element>../../../../../libs/CoreJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
             <path-element>../../../../../libs/CollectionsJS.swc</path-element>
-            <path-element>../../../../../libs/EffectsJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -79,8 +78,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Basic/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/BindingJS/build.xml b/frameworks/js/FlexJS/projects/BindingJS/build.xml
index 454fa2a..da57424 100644
--- a/frameworks/js/FlexJS/projects/BindingJS/build.xml
+++ b/frameworks/js/FlexJS/projects/BindingJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/ChartsJS/build.xml b/frameworks/js/FlexJS/projects/ChartsJS/build.xml
index f901286..118ca5f 100644
--- a/frameworks/js/FlexJS/projects/ChartsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/ChartsJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml
index 941d5ce..c89837e 100644
--- a/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml
@@ -55,7 +55,7 @@
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
 
         <namespaces>
@@ -73,8 +73,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Charts/src/main/resources/defaults.css</path>
     </include-file>
-    
+        
     <include-classes>
         <class>ChartsClasses</class>
     </include-classes>
diff --git a/frameworks/js/FlexJS/projects/CollectionsJS/build.xml b/frameworks/js/FlexJS/projects/CollectionsJS/build.xml
index f1f976d..979a985 100644
--- a/frameworks/js/FlexJS/projects/CollectionsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/CollectionsJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/CoreJS/build.xml b/frameworks/js/FlexJS/projects/CoreJS/build.xml
index 1c1f737..36412e1 100644
--- a/frameworks/js/FlexJS/projects/CoreJS/build.xml
+++ b/frameworks/js/FlexJS/projects/CoreJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/CreateJSJS/build.xml b/frameworks/js/FlexJS/projects/CreateJSJS/build.xml
index 75bb24e..76b4e72 100644
--- a/frameworks/js/FlexJS/projects/CreateJSJS/build.xml
+++ b/frameworks/js/FlexJS/projects/CreateJSJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/createjs-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/createjs-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml
index 4608d7e..5c65717 100644
--- a/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml
@@ -60,7 +60,7 @@
         
         <library-path>
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
         </library-path>
         
@@ -68,8 +68,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/CreateJS/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/DragDropJS/build.xml b/frameworks/js/FlexJS/projects/DragDropJS/build.xml
index 1a97cc8..2a3a2c1 100644
--- a/frameworks/js/FlexJS/projects/DragDropJS/build.xml
+++ b/frameworks/js/FlexJS/projects/DragDropJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <arg value="-compiler.strict-xml=true" />
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml
index 81a4671..b32bec8 100644
--- a/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
diff --git a/frameworks/js/FlexJS/projects/EffectsJS/build.xml b/frameworks/js/FlexJS/projects/EffectsJS/build.xml
index 698a40b..625b2d2 100644
--- a/frameworks/js/FlexJS/projects/EffectsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/EffectsJS/build.xml
@@ -34,7 +34,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -50,7 +50,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,29 +60,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -97,7 +80,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml
index 7c5217c..adfc6c1 100644
--- a/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-			<path-element>../../../../../libs/HTMLJS.swc</path-element>
+			<path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <source-path>
diff --git a/frameworks/js/FlexJS/projects/ExpressJS/build.xml b/frameworks/js/FlexJS/projects/ExpressJS/build.xml
index 49ce823..2116c79 100644
--- a/frameworks/js/FlexJS/projects/ExpressJS/build.xml
+++ b/frameworks/js/FlexJS/projects/ExpressJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml
index 26db1d9..9cabc17 100644
--- a/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml
@@ -57,7 +57,7 @@
             <path-element>../../../../../libs/CoreJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
             <path-element>../../../../../libs/CollectionsJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -75,8 +75,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Express/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/FlatJS/build.xml b/frameworks/js/FlexJS/projects/FlatJS/build.xml
index 45214de..7b97bf7 100644
--- a/frameworks/js/FlexJS/projects/FlatJS/build.xml
+++ b/frameworks/js/FlexJS/projects/FlatJS/build.xml
@@ -34,7 +34,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -50,7 +50,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,31 +60,14 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
-    </target>
+   </target>
     
     <target name="copy-js" >
         <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/>
@@ -97,7 +80,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml
index e272078..be699ce 100644
--- a/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -72,8 +72,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Flat/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-classes>
         <class>FlatClasses</class>
     </include-classes>
diff --git a/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml b/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml
index 7e7735e..155a0bb 100644
--- a/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml
+++ b/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml
@@ -34,7 +34,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -50,7 +50,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,29 +60,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -97,7 +80,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml
index 58f08b3..6582dab 100644
--- a/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -72,8 +72,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/FontAwesome/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-classes>
         <class>FAClasses</class>
     </include-classes>
diff --git a/frameworks/js/FlexJS/projects/FormattersJS/build.xml b/frameworks/js/FlexJS/projects/FormattersJS/build.xml
index 7708d84..e2af712 100644
--- a/frameworks/js/FlexJS/projects/FormattersJS/build.xml
+++ b/frameworks/js/FlexJS/projects/FormattersJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml
index 09e3956..f80f5bd 100644
--- a/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
diff --git a/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml b/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml
index 2656529..1521441 100644
--- a/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml
index 93c4572..c4fb8a9 100644
--- a/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml
@@ -58,7 +58,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -75,6 +75,11 @@
         <warn-no-constructor>false</warn-no-constructor>
     </compiler>
 
+    <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/GoogleMaps/src/main/resources/defaults.css</path>
+    </include-file>
+
     <include-classes>
         <class>GoogleStubClasses</class>
         <class>GoogleMapsClasses</class>
diff --git a/frameworks/js/FlexJS/projects/GraphicsJS/build.xml b/frameworks/js/FlexJS/projects/GraphicsJS/build.xml
index 628f069..193b70b 100644
--- a/frameworks/js/FlexJS/projects/GraphicsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/GraphicsJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <arg value="-compiler.strict-xml=true" />
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml
index dfc63c9..e4020d50 100644
--- a/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml
@@ -71,8 +71,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Graphics/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/HTML5JS/build.xml b/frameworks/js/FlexJS/projects/HTML5JS/build.xml
index 3843b20..4067a4f 100644
--- a/frameworks/js/FlexJS/projects/HTML5JS/build.xml
+++ b/frameworks/js/FlexJS/projects/HTML5JS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <arg value="-compiler.strict-xml=true" />
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml
index af4d531..3878ea2 100644
--- a/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
              if these swcs are on the external-library-path then their requires
              will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -71,6 +71,11 @@
         <warn-no-constructor>false</warn-no-constructor>
     </compiler>
 
+    <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/HTML5/src/main/resources/defaults.css</path>
+    </include-file>
+
     <include-classes>
         <class>HTML5Classes</class>
     </include-classes>
diff --git a/frameworks/js/FlexJS/projects/HTMLJS/build.xml b/frameworks/js/FlexJS/projects/HTMLJS/build.xml
index ee07b10..0721fd1 100644
--- a/frameworks/js/FlexJS/projects/HTMLJS/build.xml
+++ b/frameworks/js/FlexJS/projects/HTMLJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml
index 4a555f0..dcf7f6e 100644
--- a/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml
@@ -57,6 +57,7 @@
             <path-element>../../../../../libs/CoreJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
             <path-element>../../../../../libs/CollectionsJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -64,10 +65,6 @@
                 <uri>library://ns.apache.org/flexjs/basic</uri>
                 <manifest>../../../../../../../projects/HTML/src/main/resources/basic-manifest.xml</manifest>
             </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/svg</uri>
-                <manifest>../../../../../../../projects/HTML/src/main/resources/svg-manifest.xml</manifest>
-            </namespace>
         </namespaces>
         
         <source-path>
@@ -78,8 +75,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/HTML/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
@@ -89,7 +88,6 @@
     
     <include-namespaces>
         <uri>library://ns.apache.org/flexjs/basic</uri>
-        <uri>library://ns.apache.org/flexjs/svg</uri>
     </include-namespaces>
         
 
diff --git a/frameworks/js/FlexJS/projects/JQueryJS/build.xml b/frameworks/js/FlexJS/projects/JQueryJS/build.xml
index 41c057a..1197490 100644
--- a/frameworks/js/FlexJS/projects/JQueryJS/build.xml
+++ b/frameworks/js/FlexJS/projects/JQueryJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/jquery-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/jquery-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml
index 2eecdc8..8eda1ac 100644
--- a/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml
@@ -57,7 +57,7 @@
             <path-element>../../../../../libs/CoreJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
             <path-element>../../../../../libs/CollectionsJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -75,8 +75,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/JQuery/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/LanguageJS/build.xml b/frameworks/js/FlexJS/projects/LanguageJS/build.xml
index 5365aba..7d24dd3 100644
--- a/frameworks/js/FlexJS/projects/LanguageJS/build.xml
+++ b/frameworks/js/FlexJS/projects/LanguageJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml
index d8b59f1..f9fa1d2 100644
--- a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml
+++ b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml
@@ -34,7 +34,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -50,7 +50,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,29 +60,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -97,7 +80,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml
index 77c51d9..ff74c64 100644
--- a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml
@@ -26,12 +26,12 @@
     <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
     <binding-value-change-event-type>valueChange</binding-value-change-event-type>
     <define>
-      <name>COMPILE::SWF</name>
-      <value>false</value>
+        <name>COMPILE::SWF</name>
+        <value>false</value>
     </define>
     <define>
-      <name>COMPILE::JS</name>
-      <value>true</value>
+        <name>COMPILE::JS</name>
+        <value>true</value>
     </define>
     <keep-as3-metadata>
       <name>Bindable</name>
@@ -53,6 +53,7 @@
       <path-element>../../../../../libs/GraphicsJS.swc</path-element>
       <path-element>../../../../../libs/CollectionsJS.swc</path-element>
       <path-element>../../../../../libs/HTMLJS.swc</path-element>
+      <path-element>../../../../../libs/BasicJS.swc</path-element>
     </library-path>
     <source-path>
       <path-element>../../../../../../../projects/MaterialDesignLite/src/main/flex</path-element>
diff --git a/frameworks/js/FlexJS/projects/MobileJS/build.xml b/frameworks/js/FlexJS/projects/MobileJS/build.xml
index 8244c63..81b5fa9 100644
--- a/frameworks/js/FlexJS/projects/MobileJS/build.xml
+++ b/frameworks/js/FlexJS/projects/MobileJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,30 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -97,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml
index 4077eb9..493d762 100644
--- a/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml
@@ -60,7 +60,7 @@
                  will not be listed -->
             <path-element>../../../../../libs/CoreJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
-            <path-element>../../../../../libs/HTMLJS.swc</path-element>
+            <path-element>../../../../../libs/BasicJS.swc</path-element>
         </library-path>
         
         <namespaces>
@@ -82,8 +82,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Mobile/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/NetworkJS/build.xml b/frameworks/js/FlexJS/projects/NetworkJS/build.xml
index 053b6cc..ea30d4c 100644
--- a/frameworks/js/FlexJS/projects/NetworkJS/build.xml
+++ b/frameworks/js/FlexJS/projects/NetworkJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-            <arg value="-compiler.strict-xml=true" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/ReflectionJS/build.xml b/frameworks/js/FlexJS/projects/ReflectionJS/build.xml
index f058231..e7a82d0 100644
--- a/frameworks/js/FlexJS/projects/ReflectionJS/build.xml
+++ b/frameworks/js/FlexJS/projects/ReflectionJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,30 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="-compiler.strict-xml=true" />
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
     
@@ -97,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/StorageJS/build.xml b/frameworks/js/FlexJS/projects/StorageJS/build.xml
index c328fe2..a85e906 100644
--- a/frameworks/js/FlexJS/projects/StorageJS/build.xml
+++ b/frameworks/js/FlexJS/projects/StorageJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,32 +59,15 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-    
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <arg value="-compiler.strict-xml=true" />
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
-    
+        
     <target name="copy-js" >
         <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/>
         <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources">
@@ -96,7 +79,7 @@
     
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml
index 7a3296c..ed39c2c 100644
--- a/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml
@@ -75,8 +75,10 @@
     </compiler>
     
     <include-file>
+        <name>defaults.css</name>
+        <path>../../../../../../../projects/Storage/src/main/resources/defaults.css</path>
     </include-file>
-
+    
     <include-sources>
     </include-sources>
     
diff --git a/frameworks/js/FlexJS/projects/XMLJS/build.xml b/frameworks/js/FlexJS/projects/XMLJS/build.xml
index e82d048..5fc9389 100644
--- a/frameworks/js/FlexJS/projects/XMLJS/build.xml
+++ b/frameworks/js/FlexJS/projects/XMLJS/build.xml
@@ -33,7 +33,7 @@
     <property file="${basedir}/${target.name}.properties"/>
     <delete file="${basedir}/${target.name}.properties"/>
     
-    <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
     </target>
     
     <target name="clean">
@@ -49,7 +49,7 @@
         </delete>
     </target>
     
-    <target name="compile-asjs" depends="check-compiler">
+    <target name="compile" depends="check-compiler">
         <echo message="Cross-compiling ${target.name}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,30 +59,12 @@
             <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
             <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="+flexlib=${FLEX_HOME}/frameworks" />
-            <arg value="-js-output-type=FLEXJS" />
             <arg value="-compiler.strict-xml=true" />
-            <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
-            <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
             <arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
             <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
         </java>
-    </target>
-
-    <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
-        <echo message="Compiling target/${target.name}"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-        <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
-        <mkdir dir="${basedir}/target"/>
-        
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="-compiler.strict-xml=true" />
-            <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
-            <load-config filename="src/main/config/compile-js-config.xml" />
-        </compc>
         <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
     </target>
 
@@ -97,7 +79,7 @@
 
     <target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
diff --git a/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml
index 93a3615..ece82d1 100644
--- a/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml
@@ -71,6 +71,8 @@
         <warn-no-constructor>false</warn-no-constructor>
     </compiler>
     
+    <keep-asdoc>true</keep-asdoc>
+    
     <include-file>
     </include-file>
 
diff --git a/frameworks/node-config-template.xml b/frameworks/node-config-template.xml
index 701e978..4581e79 100644
--- a/frameworks/node-config-template.xml
+++ b/frameworks/node-config-template.xml
@@ -28,6 +28,10 @@
    <swf-version>@swfversion@</swf-version>

 

    <compiler>

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JSNode</target>

+      </targets>

 

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

@@ -89,6 +93,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/node-config.xml b/frameworks/node-config.xml
index 7c0632b..3fd79ce 100644
--- a/frameworks/node-config.xml
+++ b/frameworks/node-config.xml
@@ -28,6 +28,10 @@
    <swf-version>14</swf-version>

 

    <compiler>

+      <!-- build both SWF and JS. -->

+      <targets>

+          <target>JSNode</target>

+      </targets>

 

       <!-- List of path elements that form the roots of ActionScript class hierarchies. -->

       <!-- not set -->

@@ -89,6 +93,7 @@
       <binding-value-change-event-type>valueChange</binding-value-change-event-type>

       <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>

       <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>

+      <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>

       <states-class>org.apache.flex.states.State</states-class>

       <states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>

       <states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>

diff --git a/frameworks/projects/Basic/build.xml b/frameworks/projects/Basic/build.xml
index d05afa0..a365b60 100644
--- a/frameworks/projects/Basic/build.xml
+++ b/frameworks/projects/Basic/build.xml
@@ -37,7 +37,7 @@
     </target>
     
     <target name="copy-swc">
-        <!--<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />-->
+        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
     </target>
     
     <target name="check-for-tests" >
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <!--<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />-->
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Basic/pom.xml b/frameworks/projects/Basic/pom.xml
index 403e2d8..53bf122 100644
--- a/frameworks/projects/Basic/pom.xml
+++ b/frameworks/projects/Basic/pom.xml
@@ -66,6 +66,7 @@
             </include-file>
           </includeFiles>
           <allowSubclassOverrides>true</allowSubclassOverrides>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -83,7 +84,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -96,7 +97,7 @@
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -109,7 +110,7 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -122,7 +123,7 @@
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Basic/src/main/config/compile-as-config.xml b/frameworks/projects/Basic/src/main/config/compile-swf-config.xml
similarity index 93%
rename from frameworks/projects/Basic/src/main/config/compile-as-config.xml
rename to frameworks/projects/Basic/src/main/config/compile-swf-config.xml
index 1f92c15..2ce6eda 100644
--- a/frameworks/projects/Basic/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Basic/src/main/config/compile-swf-config.xml
@@ -27,7 +27,6 @@
             <path-element>../../../../../libs/Core.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
             <path-element>../../../../../libs/Collections.swc</path-element>
-            <path-element>../../../../../libs/Effects.swc</path-element>
         </external-library-path>
         
         <allow-subclass-overrides>true</allow-subclass-overrides>
@@ -38,6 +37,15 @@
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/Basic/src/main/flex/BasicClasses.as b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
index a81838b..4436e43 100644
--- a/frameworks/projects/Basic/src/main/flex/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
@@ -27,12 +27,13 @@
  */
 internal class BasicClasses
 {
-
     import org.apache.flex.html.ToolTip; ToolTip;
 	import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
+    import org.apache.flex.html.beads.DispatchInputFinishedBead; DispatchInputFinishedBead;
 	import org.apache.flex.html.accessories.PasswordInputBead; PasswordInputBead;
 	import org.apache.flex.html.accessories.TextPromptBead; TextPromptBead;
     import org.apache.flex.html.beads.AlertView; AlertView;
+    import org.apache.flex.html.beads.models.AlertModel; AlertModel;
 	COMPILE::SWF
 	{
 		import org.apache.flex.html.beads.BackgroundImageBead; BackgroundImageBead;
@@ -41,9 +42,10 @@
 	COMPILE::SWF
 	{
 		import org.apache.flex.html.beads.CheckBoxView; CheckBoxView;
-	    import org.apache.flex.html.beads.ComboBoxView; ComboBoxView;
 	}
+    import org.apache.flex.html.beads.ComboBoxView; ComboBoxView;
     import org.apache.flex.html.beads.ContainerView; ContainerView;
+	import org.apache.flex.html.beads.GroupView; GroupView;
 	COMPILE::SWF
 	{
 	    import org.apache.flex.html.beads.ControlBarMeasurementBead; ControlBarMeasurementBead;
@@ -57,13 +59,18 @@
 		import org.apache.flex.html.beads.ImageView; org.apache.flex.html.beads.ImageView;
 	}
 	import org.apache.flex.html.beads.ImageButtonView; ImageButtonView;
+	import org.apache.flex.html.beads.BinaryImageLoader; BinaryImageLoader;
+	import org.apache.flex.html.beads.models.BinaryImageModel; BinaryImageModel;
 	import org.apache.flex.html.beads.ListView; ListView;
 	COMPILE::SWF
 	{
 	    import org.apache.flex.html.beads.NumericStepperView; NumericStepperView;
 	}
     import org.apache.flex.html.beads.PanelView; PanelView;
+	import org.apache.flex.html.supportClasses.PanelLayoutProxy; PanelLayoutProxy;
+    import org.apache.flex.html.beads.SliderView; SliderView;
     import org.apache.flex.html.beads.PanelWithControlBarView; PanelWithControlBarView;
+    import org.apache.flex.html.beads.AccordionItemRendererView; AccordionItemRendererView;
 	COMPILE::SWF
 	{
 		import org.apache.flex.html.beads.RadioButtonView; RadioButtonView;
@@ -72,14 +79,15 @@
     	import org.apache.flex.html.beads.ScrollBarView; ScrollBarView;
 		import org.apache.flex.html.beads.SimpleAlertView; SimpleAlertView;
     	import org.apache.flex.html.beads.SingleLineBorderBead; SingleLineBorderBead;
-		import org.apache.flex.html.beads.SliderView; SliderView;
+        import org.apache.flex.html.beads.SliderThumbView; SliderThumbView;
+        import org.apache.flex.html.beads.SliderTrackView; SliderTrackView;
+		import org.apache.flex.html.beads.SingleLineBorderWithChangeListenerBead; SingleLineBorderWithChangeListenerBead;
 	}
-	import org.apache.flex.html.beads.SliderThumbView; SliderThumbView;
-	import org.apache.flex.html.beads.SliderTrackView; SliderTrackView;
 	import org.apache.flex.html.beads.SpinnerView; SpinnerView;
 	COMPILE::SWF
 	{
 		import org.apache.flex.html.beads.SolidBackgroundBead; SolidBackgroundBead;
+		import org.apache.flex.html.beads.SolidBackgroundWithChangeListenerBead; SolidBackgroundWithChangeListenerBead;
     	import org.apache.flex.html.beads.TextButtonMeasurementBead; TextButtonMeasurementBead;
 		import org.apache.flex.html.beads.TextFieldLabelMeasurementBead; TextFieldLabelMeasurementBead;
     	import org.apache.flex.html.beads.TextAreaView; TextAreaView;
@@ -87,16 +95,13 @@
     	import org.apache.flex.html.beads.TextFieldView; TextFieldView;
     	import org.apache.flex.html.beads.TextInputView; TextInputView;
 	    import org.apache.flex.html.beads.TextInputWithBorderView; TextInputWithBorderView;
-	    import org.apache.flex.html.beads.models.AlertModel; AlertModel;
 	}
+	import org.apache.flex.html.beads.models.AlertModel; AlertModel
 	import org.apache.flex.html.beads.models.ArraySelectionModel; ArraySelectionModel;
 	import org.apache.flex.html.beads.models.ArrayListSelectionModel; ArrayListSelectionModel;
     import org.apache.flex.html.beads.models.RangeModel; RangeModel;
     import org.apache.flex.html.beads.models.RangeModelExtended; RangeModelExtended;
-	COMPILE::SWF
-	{
-	    import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel;
-	}
+	import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel;
 	COMPILE::SWF
 	{
 		import org.apache.flex.html.beads.models.ImageModel; ImageModel;
@@ -118,23 +123,28 @@
 	COMPILE::SWF
 	{
 	    import org.apache.flex.html.beads.controllers.AlertController; AlertController;
-		import org.apache.flex.html.beads.controllers.ComboBoxController; ComboBoxController;
     	import org.apache.flex.html.beads.controllers.DropDownListController; DropDownListController;
 		import org.apache.flex.html.beads.controllers.EditableTextKeyboardController; EditableTextKeyboardController;
 	}
+    import org.apache.flex.html.beads.controllers.ComboBoxController; ComboBoxController;
+    import org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController; AccordionItemRendererMouseController;
     import org.apache.flex.html.beads.controllers.ItemRendererMouseController; ItemRendererMouseController;
     import org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController; ListSingleSelectionMouseController;
 	import org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController; TreeSingleSelectionMouseController;
+    import org.apache.flex.html.beads.controllers.SliderMouseController; SliderMouseController;
 	COMPILE::SWF
 	{
-		import org.apache.flex.html.beads.controllers.SliderMouseController; SliderMouseController;
 		import org.apache.flex.html.beads.controllers.SpinnerMouseController; SpinnerMouseController;
 	    import org.apache.flex.html.beads.controllers.VScrollBarMouseController; VScrollBarMouseController;
 		import org.apache.flex.html.beads.controllers.HScrollBarMouseController; HScrollBarMouseController;
 	}
 	import org.apache.flex.html.beads.layouts.ButtonBarLayout; ButtonBarLayout;
     import org.apache.flex.html.beads.layouts.VerticalLayout; VerticalLayout;
+    import org.apache.flex.html.beads.layouts.VerticalLayoutWithPaddingAndGap; VerticalLayoutWithPaddingAndGap;
+	import org.apache.flex.html.beads.layouts.VerticalFlexLayout; VerticalFlexLayout;
 	import org.apache.flex.html.beads.layouts.HorizontalLayout; HorizontalLayout;
+    import org.apache.flex.html.beads.layouts.HorizontalLayoutWithPaddingAndGap; HorizontalLayoutWithPaddingAndGap;
+	import org.apache.flex.html.beads.layouts.HorizontalFlexLayout; HorizontalFlexLayout;
     import org.apache.flex.html.beads.layouts.BasicLayout; BasicLayout;
 	import org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout; OneFlexibleChildHorizontalLayout;
 	import org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout; OneFlexibleChildVerticalLayout;
@@ -143,6 +153,7 @@
 	{
 		import org.apache.flex.html.beads.layouts.HScrollBarLayout; HScrollBarLayout;
     	import org.apache.flex.html.beads.layouts.VScrollBarLayout; VScrollBarLayout;
+		import org.apache.flex.html.supportClasses.ContainerContentArea; ContainerContentArea;
 	}
 	import org.apache.flex.html.beads.layouts.TileLayout; TileLayout;
     import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
@@ -152,13 +163,13 @@
 	import org.apache.flex.html.supportClasses.DataGroup; DataGroup;
 	import org.apache.flex.html.supportClasses.Viewport; Viewport;
 	import org.apache.flex.html.supportClasses.ScrollingViewport; ScrollingViewport;
-	import org.apache.flex.html.supportClasses.DataGridButtonBarButtonItemRenderer; DataGridButtonBarButtonItemRenderer;
+	import org.apache.flex.html.supportClasses.TextButtonItemRenderer; TextButtonItemRenderer;
 
 	import org.apache.flex.html.DataGridButtonBarTextButton; DataGridButtonBarTextButton;
 	import org.apache.flex.html.DataGridButtonBar; DataGridButtonBar;
 	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
 	import org.apache.flex.html.beads.DataGridView; DataGridView;
-	import org.apache.flex.html.beads.layouts.DataGridLayout; DataGridLayout;
+	import org.apache.flex.html.beads.DataGridPercentageView; DataGridPercentageView;
 	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
 	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
 	import org.apache.flex.html.beads.DecrementButtonView; DecrementButtonView;
@@ -174,6 +185,8 @@
 	import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn;
 	import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
 	import org.apache.flex.html.supportClasses.DateHeaderButton; DateHeaderButton;
+    import org.apache.flex.html.supportClasses.DateChooserList; DateChooserList;
+    import org.apache.flex.html.supportClasses.DateItemRenderer; DateItemRenderer;
 	import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
 
     import org.apache.flex.html.beads.TitleBarView; TitleBarView;
@@ -183,7 +196,6 @@
 	import org.apache.flex.html.beads.models.WebBrowserModel; WebBrowserModel;
 	
 	import org.apache.flex.core.ListBase; ListBase;
-	import org.apache.flex.core.ListBaseStrandChildren; ListBaseStrandChildren;
 	import org.apache.flex.core.FilledRectangle; FilledRectangle;
     import org.apache.flex.core.UIBase; UIBase;
     import org.apache.flex.core.SimpleApplication; SimpleApplication;
@@ -201,6 +213,8 @@
 	import org.apache.flex.svg.Text; Text;
 	import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;
 
+    import org.apache.flex.html.beads.models.DataProviderModel; DataProviderModel;
+    import org.apache.flex.html.beads.DataContainerView; DataContainerView;
 
 	COMPILE::SWF
 	{
@@ -208,6 +222,17 @@
 		import org.apache.flex.html.beads.VRuleView; VRuleView;
 		import org.apache.flex.html.beads.MultilineTextFieldView; MultilineTextFieldView;
 	}
+	
+	import org.apache.flex.html.SubAppLoader; SubAppLoader;
+	
+	import org.apache.flex.html.Table; Table;
+	import org.apache.flex.html.TableRow; TableRow;
+	import org.apache.flex.html.TableCell; TableCell;
+	import org.apache.flex.html.TableHeader; TableHeader;
+	import org.apache.flex.html.beads.TableCellView; TableCellView;
+	import org.apache.flex.html.beads.layouts.SimpleTableLayout; SimpleTableLayout;
+	import org.apache.flex.html.beads.layouts.TableCellLayout; TableCellLayout;
+	import org.apache.flex.html.beads.layouts.TableHeaderLayout; TableHeaderLayout;
 }
 
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
index 2c74a9e..c92ad95 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
@@ -89,6 +89,7 @@
      *  @productversion FlexJS 0.0
      */
     [Event(name="applicationComplete", type="org.apache.flex.events.Event")]
+    
     /**
      *  The Application class is the main class and entry point for a FlexJS
      *  application.  This Application class is different than the
@@ -103,7 +104,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-    public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher, IInitialViewApplication
+    public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher, IInitialViewApplication, IPopUpHost, IRenderedObject
     {
         /**
          *  Constructor.
@@ -128,6 +129,11 @@
 
                 loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
             }
+			COMPILE::JS {
+				element = document.getElementsByTagName('body')[0];
+				element.flexjs_wrapper = this;
+				element.className = 'Application';			
+			}
         }
 
         COMPILE::SWF
@@ -589,10 +595,6 @@
 		COMPILE::JS
 		public function start():void
 		{
-			element = document.getElementsByTagName('body')[0];
-			element.flexjs_wrapper = this;
-			element.className = 'Application';
-			
 			if (model is IBead) addBead(model as IBead);
 			if (controller is IBead) addBead(controller as IBead);
 			
@@ -656,5 +658,22 @@
         {
             return this;
         }
+        
+        COMPILE::SWF
+        override public function set width(value:Number):void
+        {
+            // just eat this.  
+            // The stageWidth will be set by SWF metadata. 
+            // Setting this directly doesn't do anything
+        }
+        
+        COMPILE::SWF
+        override public function set height(value:Number):void
+        {
+            // just eat this.  
+            // The stageWidth will be set by SWF metadata. 
+            // Setting this directly doesn't do anything
+        }
+
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
index 60111ef..8a54c91 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
@@ -105,6 +105,248 @@
             return _info;
         }
         
+        private var _width:Number;
+        
+        [Bindable("widthChanged")]
+        [PercentProxy("percentWidth")]
+        /**
+         * @flexjsignorecoercion String
+         */
+        public function get width():Number
+        {
+            var pixels:Number;
+            var strpixels:String = element.style.width as String;
+            if (strpixels !== null && strpixels.indexOf('%') != -1)
+                pixels = NaN;
+            else
+                pixels = parseFloat(strpixels);
+            if (isNaN(pixels)) {
+                pixels = element.offsetWidth;
+                if (pixels === 0 && element.scrollWidth !== 0) {
+                    // invisible child elements cause offsetWidth to be 0.
+                    pixels = element.scrollWidth;
+                }
+            }
+            return pixels;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set width(value:Number):void
+        {
+            if (explicitWidth != value)
+            {
+                explicitWidth = value;
+            }
+            
+            setWidth(value);
+        }
+        
+        private var _height:Number;
+        
+        [Bindable("heightChanged")]
+        [PercentProxy("percentHeight")]
+        /**
+         * @flexjsignorecoercion String
+         */
+        public function get height():Number
+        {
+            var pixels:Number;
+            var strpixels:String = element.style.height as String;
+            if (strpixels !== null && strpixels.indexOf('%') != -1)
+                pixels = NaN;
+            else
+                pixels = parseFloat(strpixels);
+            if (isNaN(pixels)) {
+                pixels = element.offsetHeight;
+                if (pixels === 0 && element.scrollHeight !== 0) {
+                    // invisible child elements cause offsetHeight to be 0.
+                    pixels = element.scrollHeight;
+                }
+            }
+            return pixels;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set height(value:Number):void
+        {
+            if (explicitHeight != value)
+            {
+                explicitHeight = value;
+            }
+            
+            setHeight(value);
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.ILayoutChild#setHeight
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function setHeight(value:Number, noEvent:Boolean = false):void
+        {
+            if (_height != value)
+            {
+                _height = value;
+                this.element.style.height = value.toString() + 'px';        
+                if (!noEvent)
+                    dispatchEvent(new Event("heightChanged"));
+            }            
+        }
+        
+        /**
+         *  @copy org.apache.flex.core.ILayoutChild#setWidth
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function setWidth(value:Number, noEvent:Boolean = false):void
+        {
+            if (_width != value)
+            {
+                _width = value;
+                this.element.style.width = value.toString() + 'px';        
+                if (!noEvent)
+                    dispatchEvent(new Event("widthChanged"));
+            }
+        }
+        
+        private var _explicitWidth:Number;
+        
+        /**
+         *  The explicitly set width (as opposed to measured width
+         *  or percentage width).
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get explicitWidth():Number
+        {
+            return _explicitWidth;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set explicitWidth(value:Number):void
+        {
+            if (_explicitWidth == value)
+                return;
+            
+            // width can be pixel or percent not both
+            if (!isNaN(value))
+                _percentWidth = NaN;
+            
+            _explicitWidth = value;
+            
+            dispatchEvent(new Event("explicitWidthChanged"));
+        }
+        
+        private var _explicitHeight:Number;
+        
+        /**
+         *  The explicitly set width (as opposed to measured width
+         *  or percentage width).
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get explicitHeight():Number
+        {
+            return _explicitHeight;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set explicitHeight(value:Number):void
+        {
+            if (_explicitHeight == value)
+                return;
+            
+            // height can be pixel or percent not both
+            if (!isNaN(value))
+                _percentHeight = NaN;
+            
+            _explicitHeight = value;
+            
+            dispatchEvent(new Event("explicitHeightChanged"));
+        }
+        
+        private var _percentWidth:Number;
+        
+        /**
+         *  The requested percentage width this component
+         *  should have in the parent container.  Note that
+         *  the actual percentage may be different if the 
+         *  total is more than 100% or if there are other
+         *  components with explicitly set widths.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get percentWidth():Number
+        {
+            return _percentWidth;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set percentWidth(value:Number):void
+        {
+            this._percentWidth = value;
+            this.element.style.width = value.toString() + '%';
+            if (!isNaN(value))
+                this._explicitWidth = NaN;
+            dispatchEvent(new Event("percentWidthChanged"));
+        }
+        
+        private var _percentHeight:Number;
+        
+        /**
+         *  The requested percentage height this component
+         *  should have in the parent container.  Note that
+         *  the actual percentage may be different if the 
+         *  total is more than 100% or if there are other
+         *  components with explicitly set heights.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function get percentHeight():Number
+        {
+            return _percentHeight;
+        }
+        
+        /**
+         *  @private
+         */
+        public function set percentHeight(value:Number):void
+        {
+            this._percentHeight = value;
+            this.element.style.height = value.toString() + '%';
+            if (!isNaN(value))
+                this._explicitHeight = NaN;
+            dispatchEvent(new Event("percentHeightChanged"));
+        }
+
 
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as
index 0dd0b53..0dcb0e3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as
@@ -18,12 +18,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
 {
-	import org.apache.flex.core.IMXMLDocument;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.ValueChangeEvent;
-	import org.apache.flex.states.State;
-	import org.apache.flex.utils.MXMLDataInterpreter;
 
     /**
      *  Indicates that the state change has completed.  All properties
@@ -59,8 +56,6 @@
      */
     [Event(name="childrenAdded", type="org.apache.flex.events.Event")]
     
-	[DefaultProperty("mxmlContent")]
-    
     /**
      *  The ContainerBase class is the base class for most containers
      *  in FlexJS.  It is usable as the root tag of MXML
@@ -71,7 +66,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class ContainerBase extends UIBase implements IMXMLDocument, IStatesObject, IContainer, IContentViewHost
+	public class ContainerBase extends GroupBase implements IStrandPrivate
 	{
         /**
          *  Constructor.
@@ -84,8 +79,6 @@
 		public function ContainerBase()
 		{
 			super();
-            
-			_strandChildren = new ContainerBaseStrandChildren(this);
 		}
 		
 		private var _strandChildren:ContainerBaseStrandChildren;
@@ -93,135 +86,105 @@
 		/**
 		 * @private
 		 */
-		public function get strandChildren():IParent
+		override public function get strandChildren():IParent
 		{
+			if (_strandChildren == null) {
+				_strandChildren = new ContainerBaseStrandChildren(this);
+			}
 			return _strandChildren;
 		}
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        override public function getElementAt(index:int):IChild
-        {
-            var contentView:IParent = view as IParent;
-            if (contentView != null) {
-                return contentView.getElementAt(index);
-            } else {
-                return super.getElementAt(index);
-            }
-        }        
-        
-        /**
-         *  @private
-         */
-        override public function getElementIndex(c:IChild):int
-        {
-			var contentView:IParent = view as IParent;
-			if (contentView != null) {
-				return contentView.getElementIndex(c);
-			} else {
-				return super.getElementIndex(c);
-			}
-        }
-        
-        /**
-         *  @private
-         */
-        override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-        {
-			var contentView:IParent = view as IParent;
-			if (contentView != null) {
-				contentView.addElement(c, dispatchEvent);
-                if (dispatchEvent)
-                    this.dispatchEvent(new Event("childrenAdded"));
-			}
-			else {
-				super.addElement(c);
-			}
-        }
-        
-        /**
-         *  @private
-         */
-        override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-        {
-			var contentView:IParent = view as IParent;
-			if (contentView != null) {
-				contentView.addElementAt(c, index, dispatchEvent);
-                if (dispatchEvent)
-                    this.dispatchEvent(new Event("childrenAdded"));
-			}
-			else {
-				super.addElementAt(c, index);
-			}
-        }
-        
-        /**
-         *  @private
-         */
-        override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-        {
-			var contentView:IParent = view as IParent;
-			if (contentView != null) {
-				contentView.removeElement(c, dispatchEvent);
-                if (dispatchEvent)
-                    this.dispatchEvent(new Event("childrenRemoved"));
-			}
-			else {
-				super.removeElement(c);
-			}
-        }
-        
-        /**
-         *  @private
-         */
-        public function childrenAdded():void
-        {
-            dispatchEvent(new Event("childrenAdded"));
-        }
-        
-        /**
-         *  A ContainerBase doesn't create its children until it is added to
-         *  a parent.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function addedToParent():void
+		
+		/*
+		 * The following functions are for the SWF-side only and re-direct element functions
+		 * to the content area, enabling scrolling and clipping which are provided automatically
+		 * in the JS-side.
+		 */
+		
+		/**
+		 * @private
+		 */
+		COMPILE::SWF
+		override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
 		{
-            if (!_initialized)
-            {
-    			// each MXML file can also have styles in fx:Style block
-    			ValuesManager.valuesImpl.init(this);
-            }
-            
-			super.addedToParent();
-			
-            if (!_initialized)
-            {
-    			MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
-			
-                dispatchEvent(new Event("initBindings"));
-    			dispatchEvent(new Event("initComplete"));
-                _initialized = true;
-            }
+			var layoutHost:ILayoutHost = view as ILayoutHost;
+			var contentView:IParent = layoutHost.contentView as IParent;
+			contentView.addElement(c, dispatchEvent);
 		}
 		
 		/**
 		 * @private
+		 */
+		COMPILE::SWF
+		override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
+		{
+			var layoutHost:ILayoutHost = view as ILayoutHost;
+			var contentView:IParent = layoutHost.contentView as IParent;
+			contentView.addElementAt(c, index, dispatchEvent);
+		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::SWF
+		override public function getElementIndex(c:IChild):int
+		{
+			var layoutHost:ILayoutHost = view as ILayoutHost;
+			var contentView:IParent = layoutHost.contentView as IParent;
+			return contentView.getElementIndex(c);
+		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::SWF
+		override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
+		{
+			var layoutHost:ILayoutHost = view as ILayoutHost;
+			var contentView:IParent = layoutHost.contentView as IParent;
+			contentView.removeElement(c, dispatchEvent);
+		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::SWF
+		override public function get numElements():int
+		{
+			var layoutHost:ILayoutHost = view as ILayoutHost;
+			var contentView:IParent = layoutHost.contentView as IParent;
+			return contentView.numElements;
+		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::SWF
+		override public function getElementAt(index:int):IChild
+		{
+			var layoutHost:ILayoutHost = view as ILayoutHost;
+			var contentView:IParent = layoutHost.contentView as IParent;
+			return contentView.getElementAt(index);
+		}
+
+		/*
+		 * IStrandPrivate
+		 *
+		 * These "internal" function provide a backdoor way for proxy classes to
+		 * operate directly at strand level. While these function are available on
+		 * both SWF and JS platforms, they really only have meaning on the SWF-side. 
+		 * Other subclasses may provide use on the JS-side.
+		 *
+		 * @see org.apache.flex.core.IContainer#strandChildren
+		 */
+		
+		/**
+		 * @private
          * @suppress {undefinedNames}
 		 * Support strandChildren.
 		 */
 		public function $numElements():int
 		{
-			return super.numElements();
+			return super.numElements;
 		}
 		
 		/**
@@ -274,170 +237,5 @@
 			return super.getElementAt(index);
 		}
 
-        private var _mxmlDescriptor:Array;
-        private var _mxmlDocument:Object = this;
-        private var _initialized:Boolean;
-        
-        /**
-         *  @copy org.apache.flex.core.Application#MXMLDescriptor
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get MXMLDescriptor():Array
-		{
-			return _mxmlDescriptor;
-		}
-
-        /**
-         *  @private
-         */
-        public function setMXMLDescriptor(document:Object, value:Array):void
-        {
-            _mxmlDocument = document;
-            _mxmlDescriptor = value;
-        }
-
-        /**
-         *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function generateMXMLAttributes(data:Array):void
-		{
-            MXMLDataInterpreter.generateMXMLProperties(this, data);
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var mxmlContent:Array;
-		
-        private var _states:Array;
-        
-        /**
-         *  The array of view states. These should
-         *  be instances of org.apache.flex.states.State.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get states():Array
-        {
-            return _states;
-        }
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion Class
-         *  @flexjsignorecoercion org.apache.flex.core.IBead
-         */
-        public function set states(value:Array):void
-        {
-            _states = value;
-            _currentState = _states[0].name;
-            
-			try{
-				if (getBeadByType(IStatesImpl) == null)
-                {
-                    var c:Class = ValuesManager.valuesImpl.getValue(this, "iStatesImpl") as Class;
-                    var b:Object = new c();
-					addBead(b as IBead);
-                }
-			}
-			//TODO:  Need to handle this case more gracefully
-			catch(e:Error)
-			{
-                COMPILE::SWF
-                {
-                    trace(e.message);                        
-                }
-			}
-            
-        }
-        
-        /**
-         *  <code>true</code> if the array of states
-         *  contains a state with this name.
-         * 
-         *  @param state The state namem.
-         *  @return True if state in state array
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function hasState(state:String):Boolean
-        {
-            for each (var s:State in _states)
-            {
-                if (s.name == state)
-                    return true;
-            }
-            return false;
-        }
-        
-        private var _currentState:String;
-        
-        [Bindable("currentStateChange")]
-        /**
-         *  The name of the current state.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get currentState():String
-        {
-            return _currentState;   
-        }
-
-        /**
-         *  @private
-         */
-        public function set currentState(value:String):void
-        {
-            var event:ValueChangeEvent = new ValueChangeEvent("currentStateChange", false, false, _currentState, value)
-            _currentState = value;
-            dispatchEvent(event);
-        }
-        
-        private var _transitions:Array;
-        
-        /**
-         *  The array of transitions.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get transitions():Array
-        {
-            return _transitions;   
-        }
-        
-        /**
-         *  @private
-         */
-        public function set transitions(value:Array):void
-        {
-            _transitions = value;   
-        }
-
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
index e961c1f..d831004 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
@@ -43,10 +43,10 @@
 		{
 			super();
 			
-			this.owner = owner as ContainerBase;
+			this.owner = owner as IStrandPrivate;
 		}
 		
-		public var owner:ContainerBase;
+		public var owner:IStrandPrivate;
 		
 		/**
 		 *  @private
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/DataContainerBase.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/DataContainerBase.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
index 6ba908d..d67686e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
@@ -108,7 +108,7 @@
         /**
          * allow access from overrides
          */
-		protected var _model:IBeadModel;
+		protected var _model:Object;
         
         /**
          * @flexjsignorecoercion Class 
@@ -127,11 +127,15 @@
             return _model;
         }
         
+        [Bindable("modelChanged")]
         public function set model(value:Object):void
         {
             if (_model != value)
             {
-                addBead(value as IBead);
+                if (value is IBead)
+                    addBead(value as IBead);
+                else
+                    _model = value;
                 dispatchEvent(new org.apache.flex.events.Event("modelChanged"));
             }
         }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IList.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IList.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IList.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/LayoutBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
similarity index 88%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/LayoutBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
index f23f035..adadc75 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/LayoutBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
@@ -53,6 +53,8 @@
 		{
 		}
 
+		private var sawInitComplete:Boolean;
+		
         /**
 		 * The strand/host container is also an ILayoutChild because
          * it can have its size dictated by the host's parent which is
@@ -116,12 +118,19 @@
 		protected function handleChildrenAdded(event:Event):void
 		{
 			COMPILE::SWF {
-				var n:Number = layoutView.numElements;
-				for(var i:int=0; i < n; i++) {
-					var child:IEventDispatcher = layoutView.getElementAt(i) as IEventDispatcher;
-					child.addEventListener("widthChanged", childResizeHandler);
-					child.addEventListener("heightChanged", childResizeHandler);
-					child.addEventListener("sizeChanged", childResizeHandler);
+				if (sawInitComplete)
+				{
+					performLayout();
+				}
+				else
+				{
+					var n:Number = layoutView.numElements;
+					for(var i:int=0; i < n; i++) {
+						var child:IEventDispatcher = layoutView.getElementAt(i) as IEventDispatcher;
+						child.addEventListener("widthChanged", childResizeHandler);
+						child.addEventListener("heightChanged", childResizeHandler);
+						child.addEventListener("sizeChanged", childResizeHandler);
+					}
 				}
 			}
 		}
@@ -163,7 +172,21 @@
 		 */
 		protected function handleInitComplete(event:Event):void
 		{
-			performLayout();
+			sawInitComplete = true;
+			
+			COMPILE::SWF
+			{
+			// Complete the setup if the height is sized to content or has been explicitly set
+            // and the width is sized to content or has been explicitly set
+			if ((host.isHeightSizedToContent() || !isNaN(host.explicitHeight)) &&
+                (host.isWidthSizedToContent() || !isNaN(host.explicitWidth)))
+	    		performLayout();
+			}
+			COMPILE::JS
+			{
+				// always run layout since there are no size change events
+	    		performLayout();
+			}
 		}
 		
 		/**
@@ -195,8 +218,10 @@
 				ml = 0;
 			if (marginRight == "auto")
 				mr = 0;
+			if (margin == "auto")
+			    ml = mr = mt = mb = 0;
 			
-			return {left:ml, top:mt, right:mr, bottom:mb};
+			return {left:ml, top:mt, right:mr, bottom:mb, auto: (marginLeft == "auto" && marginRight == "auto") || margin == "auto"};
 		}
 		
 		/**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as
index 562e74e..3ec846a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as
@@ -17,15 +17,12 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
-{
-	import org.apache.flex.core.IMXMLDocument;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.ValueChangeEvent;
-	import org.apache.flex.states.State;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-    
+{    
+	/*
+	 *************
+	 * THIS CLASS IS NO LONGER NEEDED. INHERIT FROM DataContainerBase
+	 */
+	
     /**
      *  The ListBase class is the base class for most lists
      *  in FlexJS.
@@ -35,7 +32,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class ListBase extends UIBase implements IContentViewHost, ILayoutParent
+	public class ListBase extends DataContainerBase
 	{
         /**
          *  Constructor.
@@ -47,89 +44,7 @@
          */
 		public function ListBase()
 		{
-			super();
-            
-			_strandChildren = new ListBaseStrandChildren(this);
+			super();            
 		}
-		
-		private var _strandChildren:ListBaseStrandChildren;
-		
-		/**
-		 * @private
-		 */
-		public function get strandChildren():IParent
-		{
-			return _strandChildren;
-		}
-		
-		/**
-		 * @private
-		 */
-		public function getLayoutHost():ILayoutHost
-		{
-			return view as ILayoutHost; 
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $numElements():int
-		{
-			return super.numElements();
-		}
-		
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			super.addElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			super.addElementAt(c, index, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			super.removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $getElementIndex(c:IChild):int
-		{
-			return super.getElementIndex(c);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $getElementAt(index:int):IChild
-		{
-			return super.getElementAt(index);
-		}
-
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
index 842ec95..d917b8d 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
@@ -32,6 +32,7 @@
 	COMPILE::SWF {
 	    import org.apache.flex.events.utils.MouseEventConverter;
 	}
+    import org.apache.flex.utils.StringUtil;
 	
 	/**
 	 *  Set a different class for click events so that
@@ -157,6 +158,7 @@
             COMPILE::SWF
             {
                 MouseEventConverter.setupInstanceConverters(this);
+                doubleClickEnabled = true; // make JS and flash consistent
             }
             
             COMPILE::JS
@@ -357,6 +359,8 @@
 			return w;
 		}
         
+        [Bindable("widthChanged")]
+        [PercentProxy("percentWidth")]
         /**
          * @flexjsignorecoercion String
          */
@@ -447,6 +451,8 @@
 			return h;
 		}
         
+        [Bindable("heightChanged")]
+        [PercentProxy("percentHeight")]
         /**
          * @flexjsignorecoercion String
          */
@@ -646,7 +652,7 @@
         COMPILE::JS
         public function set x(value:Number):void
         {
-            positioner.style.position = 'absolute';
+            //positioner.style.position = 'absolute';
             positioner.style.left = value.toString() + 'px';
         }
 
@@ -679,7 +685,7 @@
 			}
 			COMPILE::JS
 			{
-				positioner.style.position = 'absolute';
+				//positioner.style.position = 'absolute';
 				positioner.style.left = value.toString() + 'px';
 			}
         }
@@ -702,7 +708,7 @@
         COMPILE::JS
         public function set y(value:Number):void
         {
-            positioner.style.position = 'absolute';
+            //positioner.style.position = 'absolute';
             positioner.style.top = value.toString() + 'px';
         }
         
@@ -735,7 +741,7 @@
 			}
 			COMPILE::JS
 			{
-				positioner.style.position = 'absolute';
+				//positioner.style.position = 'absolute';
 				positioner.style.top = value.toString() + 'px';				
 			}
         }
@@ -793,7 +799,7 @@
                 } 
                 else 
                 {
-                    if (displayStyleForLayout) 
+                    if (displayStyleForLayout != null) 
                         positioner.style.display = displayStyleForLayout;
                     dispatchEvent(new Event('show'));
                 }
@@ -911,6 +917,10 @@
 				_id = value;
 				dispatchEvent(new Event("idChanged"));
 			}
+            COMPILE::JS
+            {
+                element.id = _id;
+            }
 		}
 		
         private var _style:Object;
@@ -984,18 +994,24 @@
         /**
          *  @private
          */
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
+        public function set className(value:String):void
+        {
+            if (_className != value)
+            {
                 COMPILE::JS
                 {
-                    element.className = typeNames ? value + ' ' + typeNames : value;             
+                    setClassName(typeNames ? StringUtil.trim(value + ' ' + typeNames) : value);             
                 }
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
+                _className = value;
+                dispatchEvent(new Event("classNameChanged"));
+            }
+        }
+        
+        COMPILE::JS
+        protected function setClassName(value:String):void
+        {
+            element.className = value;           
+        }
         
         /**
          *  @copy org.apache.flex.core.IUIBase#element
@@ -1177,6 +1193,10 @@
             COMPILE::JS
             {
                 var children:Array = internalChildren();
+                if (children.length == 0)
+                {
+                    return null;
+                }
                 return children[index].flexjs_wrapper;
             }
         }        
@@ -1454,7 +1474,7 @@
             if (positioner == null)
                 positioner = element;
             positioner.style.display = 'block';
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             
             element.flexjs_wrapper = this;
             
@@ -1526,7 +1546,7 @@
         
         COMPILE::SWF
         {
-        [SWFOverride(params="flash.events.Event")]
+        [SWFOverride(params="flash.events.Event", altparams="org.apache.flex.events.Event:org.apache.flex.events.MouseEvent")]
         override public function dispatchEvent(event:org.apache.flex.events.Event):Boolean
         {
             return super.dispatchEvent(event);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
index de37c99..0935c2c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
@@ -103,14 +103,12 @@
 		 */
 		override public function set x(value:Number):void
 		{
-			if (super.x != value) {
-				super.x = _x = value;
-                if (!style)
-                    style = { left: value };
-                else
-                    style.left = value;
-				dispatchEvent(new Event("xChanged"));
-			}
+			super.x = _x = value;
+			if (!style)
+				style = { left: value };
+			else
+				style.left = value;
+			dispatchEvent(new Event("xChanged"));
 		}
 		
         private var _y:Number;
@@ -120,14 +118,12 @@
 		 */
 		override public function set y(value:Number):void
 		{
-			if (super.y != value) {
-				super.y = _y = value;
-                if (!style)
-                    style = { top: value };
-                else
-                    style.top = value;
-				dispatchEvent(new Event("yChanged"));
-			}
+			super.y = _y = value;
+			if (!style)
+				style = { top: value };
+			else
+				style.top = value;
+			dispatchEvent(new Event("yChanged"));
 		}
 		
 		/**
@@ -750,7 +746,7 @@
 				_model = bead as IBeadModel;
             else if (bead is IBeadView)
                 _view = bead as IBeadView;
-			bead.strand = this;
+			bead.strand = this; // super.addBead already did this!
 		}
 		
         /**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as
index 2d0f2c4..27882f3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as
@@ -17,7 +17,18 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.core
-{    
+{    	
+	import org.apache.flex.core.IMXMLDocument;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.utils.MXMLDataInterpreter;
+	
+	/**
+	 * The default property uses when additional MXML content appears within an element's
+	 * definition in an MXML file.
+	 */
+	[DefaultProperty("mxmlContent")]
+	
     /**
      *  The View class is the class for most views in a FlexJS
      *  application.  It is generally used as the root tag of MXML
@@ -29,6 +40,84 @@
      *  @productversion FlexJS 0.0
      */
 	public class View extends ViewBase
-	{
+	{		
+		public function View()
+		{
+			super();
+		}
+		
+		private var _mxmlDescriptor:Array;
+		private var _mxmlDocument:Object = this;
+		private var _initialized:Boolean;
+		
+		/**
+		 * @private
+		 */
+		override public function addedToParent():void
+		{
+			if (!_initialized)
+			{
+				// each MXML file can also have styles in fx:Style block
+				ValuesManager.valuesImpl.init(this);
+			}
+			
+			super.addedToParent();
+			
+			if (!_initialized)
+			{
+				MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
+				
+				dispatchEvent(new Event("initBindings"));
+				dispatchEvent(new Event("initComplete"));
+				_initialized = true;
+				
+				// - why was this added here? childrenAdded(); //?? Is this necessary since MXMLDataInterpreter will already have called it
+			}
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.Application#MXMLDescriptor
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function get MXMLDescriptor():Array
+		{
+			return _mxmlDescriptor;
+		}
+		
+		/**
+		 *  @private
+		 */
+		public function setMXMLDescriptor(document:Object, value:Array):void
+		{
+			_mxmlDocument = document;
+			_mxmlDescriptor = value;
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function generateMXMLAttributes(data:Array):void
+		{
+			MXMLDataInterpreter.generateMXMLProperties(this, data);
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public var mxmlContent:Array;
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as
index 73092af..cd9b835 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as
@@ -23,36 +23,36 @@
     //--------------------------------------
     //  Events
     //--------------------------------------
-    
+
     /**
      *  Dispatched at startup. Attributes and sub-instances of
      *  the MXML document have been created and assigned.
      *  The component lifecycle is different
      *  than the Flex SDK.  There is no creationComplete event.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
 	[Event(name="initComplete", type="org.apache.flex.events.Event")]
-    
+
 	[DefaultProperty("mxmlContent")]
-    
+
     /**
      *  The ViewBase class is the base class for most views in a FlexJS
      *  application.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class ViewBase extends ContainerBase implements IPopUpHost, IApplicationView, ILayoutParent
+	public class ViewBase extends GroupBase implements IPopUpHost, IApplicationView
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -61,19 +61,19 @@
 		public function ViewBase()
 		{
 			super();
-            
+
 			className = "flexjs";
 		}
-		
+
 		private var _applicationModel:Object;
-		
+
 		[Bindable("modelChanged")]
-        
+
         /**
          *  A reference to the Application's model.  Usually,
          *  a view is displaying the main model for an
          *  application.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -83,7 +83,7 @@
 		{
 			return _applicationModel;
 		}
-        
+
         /**
          *  @private
          */
@@ -92,20 +92,6 @@
             _applicationModel = value;
             dispatchEvent(new Event("modelChanged"));
         }
-		
-		/**
-		 * Implements the ILayoutParent protocol by returning the bead that
-		 * is acting as the host for layout.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-		 */
-		public function getLayoutHost():ILayoutHost
-		{
-			return getBeadByType(ILayoutHost) as ILayoutHost;
-		}
 
     }
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Accordion.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Accordion.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Accordion.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Accordion.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as
index b7f50dc..d117923 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as
@@ -127,14 +127,34 @@
             titleBar = new TitleBar();
             addElement(titleBar);
             titleBar.element.id = 'titleBar';
+            titleBar.percentWidth = 100;
+            titleBar.height = 24;
+            titleBar.element.style.top = "0px";
+            titleBar.element.style.right = "0px";
+            titleBar.element.style.left = "0px";
+            titleBar.element.style.marginBottom = "6px";
+
             
             label = new Label();
             addElement(label);
+            label.element.style.display = "block";
+            label.element.style.padding = "6px";
+            label.element.style.left = "0px";
+            label.element.style.right = "0px";
+            label.element.style.whiteSpace = "normal";
+
             label.element.id = 'message';
             
             // add a place for the buttons
             buttonArea = new Container();
+            buttonArea.percentWidth = 100;
+            buttonArea.height = 28;
             addElement(buttonArea);
+            buttonArea.element.style.marginTop = "6px";
+            buttonArea.element.style.marginBottom = "6px";
+            buttonArea.element.style.padding = "2px";
+            buttonArea.element.style.left = "0px";
+            buttonArea.element.style.right = "0px";
             buttonArea.element.id = 'buttonArea';
             
             return element;
@@ -157,7 +177,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : void
+        static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : Alert
 		{
 			var alert:Alert = new Alert();
 			alert.message = text;
@@ -168,11 +188,12 @@
             
             COMPILE::JS
             {
-                alert.positioner.style.position = 'relative';
-                alert.positioner.style.width = '200px';
                 alert.positioner.style.margin = 'auto';
-                alert.positioner.style.top = '100px';
+                alert.positioner.style.left = "50%";
+                alert.positioner.style.top = "50%";
+                alert.positioner.style.width = "200px";
             }
+            return alert;
 		}
 		
 		/**
@@ -206,6 +227,10 @@
 		public function set title(value:String):void
 		{
 			IAlertModel(model).title = value;
+            COMPILE::JS {
+                titleBar.title = value;
+            }
+
 		}
 		
 		/**
@@ -223,6 +248,10 @@
 		public function set message(value:String):void
 		{
 			IAlertModel(model).message = value;
+            COMPILE::JS {
+                label.text = value;
+            }
+
 		}
 		
 		/**
@@ -248,24 +277,28 @@
                     var ok:TextButton = new TextButton();
                     buttonArea.addElement(ok);
                     ok.text = 'OK';
+                    ok.element.style.margin = "4px";
                     goog.events.listen(ok.element, 'click', dismissAlert);
                 }
                 if (flags & Alert.CANCEL) {
                     var cancel:TextButton = new TextButton();
                     buttonArea.addElement(cancel);
                     cancel.text = 'Cancel';
+                    cancel.element.style.margin = "4px";
                     goog.events.listen(cancel.element, 'click', dismissAlert);
                 }
                 if (flags & Alert.YES) {
                     var yes:TextButton = new TextButton();
                     buttonArea.addElement(yes);
                     yes.text = 'YES';
+                    yes.element.style.margin = "4px";
                     goog.events.listen(yes.element, 'click', dismissAlert);
                 }
                 if (flags & Alert.NO) {
                     var nob:TextButton = new TextButton();
                     buttonArea.addElement(nob);
                     nob.text = 'NO';
+                    nob.element.style.margin = "4px";
                     goog.events.listen(nob.element, 'click', dismissAlert);
                 }
                 
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/BinaryImage.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/BinaryImage.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
index e4c58e7..0dffead 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as
@@ -18,23 +18,26 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
 {
+	import org.apache.flex.html.beads.models.ButtonBarModel;
+	
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
 
 	/**
 	 *  The ButtonBar class is a component that displays a set of Buttons. The ButtonBar
-	 *  is actually a List with a default horizontal layout and an itemRenderer that 
+	 *  is actually a List with a default horizontal layout and an itemRenderer that
 	 *  produces Buttons. The ButtonBar uses the following beads:
-	 * 
+	 *
 	 *  org.apache.flex.core.IBeadModel: the data model for the ButtonBar, including the dataProvider.
 	 *  org.apache.flex.core.IBeadView: constructs the parts of the component.
 	 *  org.apache.flex.core.IBeadController: handles input events.
 	 *  org.apache.flex.core.IBeadLayout: sizes and positions the component parts.
 	 *  org.apache.flex.core.IDataProviderItemRendererMapper: produces itemRenderers.
 	 *  org.apache.flex.core.IItemRenderer: the class or class factory to use.
-	 *  
+	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -54,7 +57,25 @@
 		{
 			super();
 		}
-        
+		
+		public function get buttonWidths():Array
+		{
+			return ButtonBarModel(model).buttonWidths;
+		}
+		public function set buttonWidths(value:Array):void
+		{
+			ButtonBarModel(model).buttonWidths = value;
+		}
+		
+		public function get widthType():Number
+		{
+			return ButtonBarModel(model).widthType;
+		}
+		public function set widthType(value:Number):void
+		{
+			ButtonBarModel(model).widthType = value;
+		}
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -62,14 +83,12 @@
         override protected function createElement():WrappedHTMLElement
         {
             element = document.createElement('div') as WrappedHTMLElement;
-            element.style.overflow = 'auto';
             positioner = element;
-            positioner.style.position = 'relative';
-            
+
             className = 'ButtonBar';
-            
+
             element.flexjs_wrapper = this;
-            
+
             return element;
         }
 	}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
index a30f0cf..72d19e1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as
@@ -84,7 +84,6 @@
             element.setAttribute('type', 'button');
             
             positioner = element;
-            positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
             
             /* AJH comment out until we figure out why it is needed
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CSSCheckBox.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CSSCheckBox.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
index 632b539..d8e8568 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as
@@ -57,6 +57,7 @@
      *  The CheckBox class implements the common user interface
      *  control.  The CheckBox includes its text label.
      *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
@@ -105,6 +106,7 @@
         /**
          *  <code>true</code> if the check mark is displayed.
          *
+         *  @default false
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -130,6 +132,16 @@
 		}
 	}
 
+    /**
+     *  Dispatched when the user checks or un-checks the CheckBox.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+	[Event(name="change", type="org.apache.flex.events.Event")]
+
     COMPILE::JS
     public class CheckBox extends UIBase
     {
@@ -153,7 +165,7 @@
             element.appendChild(document.createTextNode(''));
 
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
 			_icon.element.flexjs_wrapper = this;
 
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as
index fa91fec..d8fa7d5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as
@@ -18,15 +18,11 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
 {
-	import org.apache.flex.core.IComboBoxModel;
+    import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
 
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
+    import org.apache.flex.core.IComboBoxModel;
+    import org.apache.flex.html.beads.models.ComboBoxModel;
 	
 	[Event(name="change", type="org.apache.flex.events.Event")]
 	
@@ -40,9 +36,6 @@
 	 *  so forth.
 	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the component.
 	 *  org.apache.flex.core.IBeadController: the bead that handles input and output.
-	 *  org.apache.flex.core.IPopUp: the bead responsible for displaying the selection list.
-	 *  org.apache.flex.core.IDataProviderItemRendererMapper: the bead responsible for creating the itemRenders.
-	 *  org.apache.flex.core.IItemRenderer: the class or factory used to display an item in the component.
 	 * 
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
@@ -52,7 +45,7 @@
 	public class ComboBox extends UIBase
 	{
 		/**
-		 *  constructor.
+		 *  Constructor.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -62,6 +55,8 @@
 		public function ComboBox()
 		{
 			super();
+            
+            className = "ComboBox";
 		}
 		
 		/**
@@ -81,6 +76,7 @@
 			IComboBoxModel(model).dataProvider = value;
 		}
 		
+        [Bindable("change")]
 		/**
 		 *  The index of the currently selected item. Changing this item changes
 		 *  the selectedItem value.
@@ -99,6 +95,7 @@
 			IComboBoxModel(model).selectedIndex = value;
 		}
 		
+        [Bindable("change")]
 		/**
 		 *  The item that is currently selected. Changing this item changes
 		 *  the selectedIndex.
@@ -117,161 +114,5 @@
 			IComboBoxModel(model).selectedItem = value;
 		}
 		
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            var button:WrappedHTMLElement;
-            var input:WrappedHTMLElement;
-            
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            input = document.createElement('input') as WrappedHTMLElement;
-            input.style.position = 'absolute';
-            input.style.width = '80px';
-            element.appendChild(input);
-            
-            button = document.createElement('div') as WrappedHTMLElement;
-            button.style.position = 'absolute';
-            button.style.top = '0px';
-            button.style.right = '0px';
-            button.style.background = '#bbb';
-            button.style.width = '16px';
-            button.style.height = '20px';
-            button.style.margin = '0';
-            button.style.border = 'solid #609 1px';
-            goog.events.listen(button, 'click', buttonClicked);
-            element.appendChild(button);
-            
-            positioner = element;
-            positioner.style.position = 'relative';
-            
-            // add a click handler so that a click outside of the combo box can
-            // dismiss the pop-up should it be visible.
-            goog.events.listen(document, 'click',
-                dismissPopup);
-            
-            input.flexjs_wrapper = this;
-            
-            return element;
-        }        
-
-        COMPILE::JS
-        private var popup:HTMLElement;
-        
-        /**
-         * @param event The event.
-         * @flexjsignorecoercion HTMLSelectElement
-         */
-        COMPILE::JS
-        private function selectChanged(event:Event):void
-        {
-            var select:HTMLSelectElement;
-            
-            select = event.currentTarget as HTMLSelectElement;
-            
-            selectedItem = select.options[select.selectedIndex].value;
-            
-            popup.parentNode.removeChild(popup);
-            popup = null;
-            
-            dispatchEvent(event);
-        }
-        
-        
-        /**
-         * @param event The event.
-         */
-        COMPILE::JS
-        private function dismissPopup(event:Event):void
-        {
-            // remove the popup if it already exists
-            if (popup) {
-                popup.parentNode.removeChild(popup);
-                popup = null;
-            }
-        }
-        
-        
-        /**
-         * @export
-         * @param {Object} event The event.
-         * @flexjsignorecoercion HTMLInputElement
-         * @flexjsignorecoercion HTMLElement
-         * @flexjsignorecoercion HTMLSelectElement
-         * @flexjsignorecoercion HTMLOptionElement
-         * @flexjsignorecoercion Array
-         */
-        COMPILE::JS
-        private function buttonClicked(event:Event):void
-        {
-            var dp:Array;
-            var i:int;
-            var input:HTMLInputElement;
-            var left:Number;
-            var n:int;
-            var opt:HTMLOptionElement;
-            var pn:HTMLElement;
-            var popup:HTMLElement;
-            var select:HTMLSelectElement;
-            var si:int;
-            var top:Number;
-            var width:Number;
-            
-            event.stopPropagation();
-            
-            if (popup) {
-                dismissPopup(null);
-                
-                return;
-            }
-            
-            input = element.childNodes.item(0) as HTMLInputElement;
-            
-            pn = element;
-            top = pn.offsetTop + input.offsetHeight;
-            left = pn.offsetLeft;
-            width = pn.offsetWidth;
-            
-            popup = document.createElement('div') as HTMLElement;
-            popup.className = 'popup';
-            popup.id = 'test';
-            popup.style.position = 'absolute';
-            popup.style.top = top.toString() + 'px';
-            popup.style.left = left.toString() + 'px';
-            popup.style.width = width.toString() + 'px';
-            popup.style.margin = '0px auto';
-            popup.style.padding = '0px';
-            popup.style.zIndex = '10000';
-            
-            select = document.createElement('select') as HTMLSelectElement;
-            select.style.width = width.toString() + 'px';
-            goog.events.listen(select, 'change', selectChanged);
-            
-            dp = dataProvider as Array;
-            n = dp.length;
-            for (i = 0; i < n; i++) {
-                opt = document.createElement('option') as HTMLOptionElement;
-                opt.text = dp[i];
-                select.add(opt, null);
-            }
-            
-            select.size = n;
-            
-            si = selectedIndex;
-            if (si < 0) {
-                select.value = null;
-            } else {
-                select.value = dp[si];
-            }
-            
-            this.popup = popup;
-            
-            popup.appendChild(select);
-            document.body.appendChild(popup);
-        }
-
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as
index ee30b7f..cbcf526 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as
@@ -19,17 +19,18 @@
 package org.apache.flex.html
 {
 	import org.apache.flex.core.ContainerBase;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IUIBase;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
+	import org.apache.flex.core.IMXMLDocument;
+	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
+	import org.apache.flex.utils.MXMLDataInterpreter;
 	
+	/**
+	 * The default property uses when additional MXML content appears within an element's
+	 * definition in an MXML file.
+	 */
 	[DefaultProperty("mxmlContent")]
-    
+
+	
     /**
      *  The Container class implements a basic container for
      *  other controls and containers.  The position and size
@@ -58,6 +59,7 @@
      *  control and not a Container because the Alert does not
      *  support an arbitrary set of children.
      *  
+     *  @toplevel
      *  @see org.apache.flex.html.beads.layout
      *  @see org.apache.flex.html.supportClasses.ScrollingViewport
      *  @langversion 3.0
@@ -65,7 +67,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */    
-	public class Container extends ContainerBase
+	public class Container extends ContainerBase implements IMXMLDocument
 	{
         /**
          *  Constructor.
@@ -79,30 +81,79 @@
 		{
 			super();
 		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;
-            
-            // absolute positioned children need a non-null
-            // position value in the parent.  It might
-            // get set to 'absolute' if the container is
-            // also absolutely positioned
-            positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            
-            /*addEventListener('childrenAdded',
-            runLayoutHandler);
-            addEventListener('elementRemoved',
-            runLayoutHandler);*/
-            
-            return element;
-        }        
+		
+		private var _mxmlDescriptor:Array;
+		private var _mxmlDocument:Object = this;
+		private var _initialized:Boolean;
+		
+		/**
+		 * @private
+		 */
+		override public function addedToParent():void
+		{
+			if (!_initialized)
+			{
+				// each MXML file can also have styles in fx:Style block
+				ValuesManager.valuesImpl.init(this);
+			}
+			
+			super.addedToParent();
+			
+			if (!_initialized)
+			{
+				MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
+				
+				dispatchEvent(new Event("initBindings"));
+				dispatchEvent(new Event("initComplete"));
+				_initialized = true;
+				
+				//?? why is this here? childrenAdded(); //?? Is this needed since MXMLDataInterpreter will have already called it
+			}
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.Application#MXMLDescriptor
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function get MXMLDescriptor():Array
+		{
+			return _mxmlDescriptor;
+		}
+		
+		/**
+		 *  @private
+		 */
+		public function setMXMLDescriptor(document:Object, value:Array):void
+		{
+			_mxmlDocument = document;
+			_mxmlDescriptor = value;
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function generateMXMLAttributes(data:Array):void
+		{
+			MXMLDataInterpreter.generateMXMLProperties(this, data);
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public var mxmlContent:Array;
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
index da65539..588bd8c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
@@ -18,36 +18,36 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
 {
-	
+
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IContainer;
 	import org.apache.flex.core.ValuesManager;
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
 
 	/**
 	 *  The ControlBar class is used within a Panel as a place to position
-	 *  additional controls. The ControlBar appears at the bottom of the 
+	 *  additional controls. The ControlBar appears at the bottom of the
 	 *  org.apache.flex.html.Panel
 	 *  and is not part of the Panel's scrollable content area. The ControlBar
 	 *  is a Container and implements the org.apache.flex.core.IChrome interface, indicating that is
 	 *  outside of the Container's content area. The ControlBar uses the following
 	 *  beads:
-	 * 
+	 *
 	 *  org.apache.flex.core.IBeadModel: the data model for the component.
 	 *  org.apache.flex.core.IMeasurementBead: helps determine the overlay size of the ControlBar for layout.
 	 *  org.apache.flex.core.IBorderBead: if present, displays a border around the component.
 	 *  org.apache.flex.core.IBackgroundBead: if present, displays a solid background below the ControlBar.
-	 *  
+	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class ControlBar extends Container implements IContainer, IChrome
+	public class ControlBar extends Group implements IChrome
 	{
 		/**
 		 *  constructor.
@@ -60,40 +60,36 @@
 		public function ControlBar()
 		{
 			super();
-			
+
 			className = "ControlBar";
 		}
-		
+
 		/**
 		 * @private
 		 */
 		override public function addedToParent():void
 		{
-			super.addedToParent();	
+			super.addedToParent();
 			
 			if( getBeadByType(IBeadLayout) == null ) {
 				var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBeadLayout;
 				addBead(layout);
 			}
 		}
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            element = document.createElement('div') as WrappedHTMLElement;
-            element.className = 'ControlBar';
-            element.style.display = 'inline';
-            typeNames = 'ControlBar';
-            
-            positioner = element;
-            positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            
+			element = document.createElement('div') as WrappedHTMLElement;
+			
+			positioner = element;
+			element.flexjs_wrapper = this;
+
             return element;
-        }        
+        }
 
 	}
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataContainer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataContainer.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as
index c271134..5a17c4a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as
@@ -22,7 +22,10 @@
 	import org.apache.flex.core.IDataGridModel;
 	import org.apache.flex.core.IDataGridPresentationModel;
 	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.GroupBase;
+	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.html.beads.models.DataGridPresentationModel;
+	import org.apache.flex.events.Event;
 	
 	[Event(name="change", type="org.apache.flex.events.Event")]
 	
@@ -34,12 +37,13 @@
 	 *  view bead (usually org.apache.flex.html.beads.DataGridView) constructs these parts while 
 	 *  itemRenderer factories contruct the elements to display the data in each cell.
 	 *  
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class DataGrid extends UIBase
+	public class DataGrid extends GroupBase
 	{
 		/**
 		 *  constructor.
@@ -103,6 +107,15 @@
 		{
 			return IDataGridModel(model).selectedIndex;
 		}
+		public function set selectedIndex(value:int):void
+		{
+			IDataGridModel(model).selectedIndex = value;
+		}
+		
+		/**
+		 * @private
+		 */
+		private var _presentationModel:IDataGridPresentationModel;
 		
 		/**
 		 *  The DataGrid's presentation model
@@ -114,16 +127,22 @@
 		 */
 		public function get presentationModel():IDataGridPresentationModel
 		{
-			var beadMod:IBead = getBeadByType(IDataGridPresentationModel);
-			var presModel:IDataGridPresentationModel;
-			
-			if (beadMod == null) {
-				presModel = new DataGridPresentationModel();
-				addBead(presModel);
-			} else {
-				presModel = beadMod as IDataGridPresentationModel;
+			if (_presentationModel == null) {
+				var c:Class = ValuesManager.valuesImpl.getValue(this, "iDataGridPresentationModel");
+				if (c) {
+					var presModel:Object = new c();
+					_presentationModel = presModel as IDataGridPresentationModel;
+					if (_presentationModel != null) {
+						addBead(_presentationModel as IBead);
+					}
+				}
 			}
-			return presModel;
+			
+			return _presentationModel;
+		}
+		public function set presentationModel(value:IDataGridPresentationModel):void
+		{
+			_presentationModel = value;
 		}
 				
 		/**
@@ -143,24 +162,10 @@
 			presentationModel.rowHeight = value;
 		}
 		
-		/**
-		 * @private
-		 * The DataGrid needs to know whenever its size is being changed so the columns can be
-		 * be aligned properly, so the noEvent value must always be false.
-		 */
-		override public function setWidth(value:Number, noEvent:Boolean=false):void
+		override public function addedToParent():void
 		{
-			super.setWidth(value,false);
-		}
-		
-		/**
-		 * @private
-		 * The DataGrid needs to know whenever its size is being changed so the columns can be
-		 * be aligned properly, so the noEvent value must always be false.
-		 */
-		override public function setHeight(value:Number, noEvent:Boolean=false):void
-		{
-			super.setHeight(value,false);
+			super.addedToParent();
+			dispatchEvent(new Event("initComplete"));
 		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as
index 62b5a3e..971ed75 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as
@@ -19,7 +19,7 @@
 package org.apache.flex.html
 {
 	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.core.UIBase;
+	import org.apache.flex.html.Group;
 
 	/**
 	 * The change event is dispatched when the selectedDate is changed.
@@ -29,12 +29,13 @@
 	/**
 	 *  The DateChooser class is a component that displays a calendar.
 	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class DateChooser extends UIBase
+	public class DateChooser extends Group
 	{
 		/**
 		 *  constructor.
@@ -47,11 +48,9 @@
 		public function DateChooser()
 		{
 			super();
-			className = "DateChooser";
-
-			// fix the DateChooser's size
-			width = 280;
-			height = 240;
+			
+			// default to today
+			selectedDate = new Date();
 		}
 
 		/**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as
index a4d9d27..c953773 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as
@@ -34,6 +34,7 @@
 	 * and a pop-up calendar control for picking a date as an alternative to
 	 * the text field.
 	 *  
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
index dd069b2..d547f27 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
@@ -23,24 +23,25 @@
     COMPILE::JS
     {
         import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
         import org.apache.flex.html.beads.models.ArraySelectionModel;
     }
-    
+
     //--------------------------------------
     //  Events
     //--------------------------------------
-    
+
     /**
      *  Dispatched when the user selects an item.
-     *  
+     *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
     [Event(name="change", type="org.apache.flex.events.Event")]
-    
+
     /**
      *  The DropDownList class implements the basic equivalent of
      *  the <code>&lt;select&gt;</code> tag in HTML.
@@ -48,23 +49,23 @@
      *  choose from an array of strings.  More complex controls
      *  would display icons as well as strings, or colors instead
      *  of strings or just about anything.
-     * 
-     *  The default behavior only lets the user choose one and 
+     *
+     *  The default behavior only lets the user choose one and
      *  only one item.  More complex controls would allow
      *  mutiple selection by not dismissing the dropdown as soon
      *  as a selection is made.
-     * 
-     *  
+     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
-     */    
+     */
 	public class DropDownList extends Button
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -77,12 +78,12 @@
                 model = new ArraySelectionModel();
             }
 		}
-		
+
         /**
          *  The data set to be displayed.  Usually a simple
          *  array of strings.  A more complex component
          *  would allow more complex data and data sets.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -108,14 +109,14 @@
                 var n:int;
                 var opt:HTMLOptionElement;
                 var dd:HTMLSelectElement = element as HTMLSelectElement;
-                
+
                 model.dataProvider = value;
                 dp = dd.options;
                 n = dp.length;
                 for (i = 0; i < n; i++) {
                     dd.remove(0);
                 }
-                
+
                 var lf:String = labelField;
                 n = value.length;
                 for (i = 0; i < n; i++) {
@@ -129,11 +130,11 @@
 
             }
         }
-        
+
         [Bindable("change")]
         /**
          *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -156,12 +157,12 @@
                 (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex;
             }
         }
-        
+
 
         [Bindable("change")]
         /**
          *  @copy org.apache.flex.core.ISelectionModel#selectedItem
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -184,7 +185,7 @@
                 (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex;
             }
         }
-                        
+
         /**
          *  The name of field within the data used for display. Each item of the
          *  data should have a property with this name.
@@ -202,7 +203,7 @@
         {
             ISelectionModel(model).labelField = value;
         }
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          * @flexjsignorecoercion HTMLSelectElement
@@ -214,15 +215,15 @@
             (element as HTMLSelectElement).size = 1;
             goog.events.listen(element, 'change',
                 changeHandler);
-            
+
             positioner = element;
-            positioner.style.position = 'relative';
-            
+            //positioner.style.position = 'relative';
+
             element.flexjs_wrapper = this;
-            
+
             return element;
-        } 
-        
+        }
+
         /**
          * @flexjsignorecoercion HTMLSelectElement
          */
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
index d7b0459..ef258c2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
@@ -18,28 +18,27 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
 {
-    import org.apache.flex.core.ContainerBase;
-    
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
     }
-    
+
     [DefaultProperty("mxmlContent")]
 
     /**
      *  The Form class is a simple form.
-     *  
+     *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-    public class Form extends ContainerBase
+    public class Form extends Group
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -49,23 +48,23 @@
         {
             super();
         }
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
-        {HTMLFormElement
+        {
             element = document.createElement('form') as WrappedHTMLElement;
-             
+
             positioner = element;
-             
-            positioner.style.position = 'relative';
+
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
             return element;
         }
 
-        
+
         private var _action:String = "#";
 
         [Bindable("actionChange")]
@@ -95,5 +94,5 @@
                 this.dispatchEvent('actionChange');
             }
         }
-    }        
-}
\ No newline at end of file
+    }
+}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Group.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Group.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as
index 9f38883..2a19648 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as
@@ -38,12 +38,13 @@
      *  </basic:Container>
      *  </code>
      *  
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */    
-	public class HContainer extends Container implements IContainer
+	public class HContainer extends Container
 	{
         /**
          *  Constructor.
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HGroup.as
similarity index 74%
copy from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
copy to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HGroup.as
index 3ec846a..c228d26 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HGroup.as
@@ -16,35 +16,31 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{    
-	/*
-	 *************
-	 * THIS CLASS IS NO LONGER NEEDED. INHERIT FROM DataContainerBase
-	 */
-	
+package org.apache.flex.html
+{
     /**
-     *  The ListBase class is the base class for most lists
-     *  in FlexJS.
-     *  
+     *  This Group subclass uses HorizontalLayout as its default layout.
+     *
+     *  @toplevel
+     *  @see org.apache.flex.html.beads.layout
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
+     *  @productversion FlexJS 0.8
      */
-	public class ListBase extends DataContainerBase
+	public class HGroup extends Group
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
+         *  @productversion FlexJS 0.8
          */
-		public function ListBase()
+		public function HGroup()
 		{
-			super();            
+			super();
 		}
-    }
+	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
index 7c2fb2f..3017a34 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
@@ -17,26 +17,27 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
-{	
+{
 	import org.apache.flex.core.UIBase;
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
-	
+
     /**
      *  The HRule class displays a horizontal line
      *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
-     */    
+     */
 	public class HRule extends UIBase
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -46,7 +47,7 @@
 		{
 			super();
         }
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -55,9 +56,9 @@
         {
             element = document.createElement('hr') as WrappedHTMLElement;
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
             return element;
-        }        
+        }
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
index 9268f9d..6b206c1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
@@ -18,28 +18,23 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
 {
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ImageBase;
+
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
-        import org.apache.flex.html.beads.models.ImageModel;
-        import org.apache.flex.html.beads.ImageView;
+        import org.apache.flex.core.WrappedHTMLElement;
     }
-	
-	/**
-	 *  The Image class is a component that displays a bitmap. The Image uses
-	 *  the following beads:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model for the Image, including the source property.
-	 *  org.apache.flex.core.IBeadView: constructs the visual elements of the component.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class Image extends UIBase
+
+	  /**
+	   *  Load Images.
+	   *
+	   *  @toplevel
+	   *  @langversion 3.0
+	   *  @playerversion Flash 10.2
+	   *  @playerversion AIR 2.6
+	   *  @productversion FlexJS 0.0
+	   */
+	public class Image extends ImageBase
 	{
 		/**
 		 *  constructor.
@@ -53,25 +48,7 @@
 		{
 			super();
 		}
-		
-		/**
-		 *  The location of the bitmap, usually a URL.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IImageModel
-		 */
-		public function get src():String
-		{
-			return (model as IImageModel).url;
-		}
-		public function set src(value:String):void
-		{
-			(model as IImageModel).url = value;
-		}
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -81,13 +58,25 @@
             element = document.createElement('img') as WrappedHTMLElement;
             element.className = 'Image';
             typeNames = 'Image';
-            
+
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
-         
+
             return element;
-        }        
+        }
+
+		COMPILE::JS
+		override public function get imageElement():Element
+		{
+			return element;
+		}
+
+		COMPILE::JS
+		override public function applyImageData(binaryDataAsString:String):void
+		{
+			(element as HTMLImageElement).src = binaryDataAsString;
+		}
 
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
index 8bdcc6a..ccdbc3b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
@@ -22,23 +22,24 @@
     import org.apache.flex.html.beads.models.ImageAndTextModel;
     COMPILE::JS
     {
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
-	
+
     /**
      *  The ImageTextButton class implements a basic button that
      *  displays and image and text.
-     *  
+     *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
-     */    
+     */
 	public class ImageAndTextButton extends TextButton
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -48,7 +49,7 @@
 		{
 			super();
 		}
-		
+
         /**
          *  @private
          */
@@ -57,7 +58,7 @@
         {
             return ImageAndTextModel(model).text;
         }
-        
+
         /**
          *  @private
          */
@@ -67,13 +68,13 @@
             ImageAndTextModel(model).text = value;
             COMPILE::JS
             {
-                setInnerHTML();                    
+                setInnerHTML();
             }
         }
-        
+
         /**
          *  The URL of an icon to use in the button
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -83,7 +84,7 @@
         {
             return ImageAndTextModel(model).image;
         }
-        
+
         /**
          *  @private
          */
@@ -92,10 +93,10 @@
             ImageAndTextModel(model).image = value;
             COMPILE::JS
             {
-                setInnerHTML();                    
+                setInnerHTML();
             }
         }
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -104,13 +105,13 @@
         {
             element = document.createElement('button') as WrappedHTMLElement;
             element.setAttribute('type', 'button');
-            
+
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
-            
+
             return element;
-        }        
+        }
 
         /**
          */
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
index f61f5ee..4b89037 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
@@ -19,6 +19,9 @@
 package org.apache.flex.html
 {
     import org.apache.flex.core.SimpleCSSStyles;
+	import org.apache.flex.events.Event;
+    import org.apache.flex.html.beads.models.ImageModel;
+
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
@@ -27,6 +30,7 @@
     /**
      *  The ImageButton class presents an image as a button.
      *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
@@ -52,18 +56,19 @@
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
 		COMPILE::JS
-		override protected function createElement():WrappedHTMLElement
-		{
-			element = document.createElement("input") as WrappedHTMLElement;
-			positioner = element;
-			element.flexjs_wrapper = this;
+        override protected function createElement():WrappedHTMLElement
+        {
+            element = document.createElement('button') as WrappedHTMLElement;
+            element.setAttribute('type', 'button');
 
-			var inputElement:HTMLInputElement = element as HTMLInputElement;
-			inputElement.type = "image";
+            positioner = element;
+            //positioner.style.position = 'relative';
+            element.flexjs_wrapper = this;
 
-			return element;
-		}
+            return element;
+        }
 
+		[Bindable("srcChanged")]
 		/**
 		 * Sets the image for the button. This is a URL.
 		 * TODO: figure out how to set the source in the style, rather than using
@@ -71,19 +76,28 @@
 		 */
         public function get src():String
         {
-            return style.backgroundImage;
+            return ImageModel(model).url;
         }
 
         public function set src(url:String):void
         {
-            if (!style)
-                style = new SimpleCSSStyles();
-            style.backgroundImage = url;
-
-            COMPILE::JS {
-            	var inputElement:HTMLInputElement = element as HTMLInputElement;
-				inputElement.src = url;
+            ImageModel(model).url = url;
+            COMPILE::SWF
+            {
+                if (!style)
+                    style = new SimpleCSSStyles();
+                style.backgroundImage = url;
             }
+
+            COMPILE::JS
+            {
+                var inner:String = '';
+                if (url)
+                    inner = "<img src='" + url + "'/>";
+                element.innerHTML = inner;
+            }
+
+			dispatchEvent(new Event("srcChanged"));
         }
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as
index 17c8b3f..fb2481f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as
@@ -18,52 +18,39 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html
 {
-	import org.apache.flex.core.ContainerBaseStrandChildren;
-	import org.apache.flex.core.IContentViewHost;
-	import org.apache.flex.core.IDataProviderItemRendererMapper;
-	import org.apache.flex.core.IFactory;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererProvider;
-	import org.apache.flex.core.IListPresentationModel;
 	import org.apache.flex.core.IRollOverModel;
 	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.ListBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.html.beads.ListView;
-        import org.apache.flex.html.supportClasses.DataGroup;
-    }
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.beads.models.ListPresentationModel;
-	
+
+	COMPILE::JS
+	{
+		import org.apache.flex.core.WrappedHTMLElement;
+	}
+
 	/**
 	 *  Indicates that the initialization of the list is complete.
-	 *  
+	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
 	[Event(name="initComplete", type="org.apache.flex.events.Event")]
-	
+
 	/**
 	 * The change event is dispatched whenever the list's selection changes.
-	 *  
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
     [Event(name="change", type="org.apache.flex.events.Event")]
-    
+
 	/**
 	 *  The List class is a component that displays multiple data items. The List uses
 	 *  the following bead types:
-	 * 
+	 *
 	 *  org.apache.flex.core.IBeadModel: the data model, which includes the dataProvider, selectedItem, and
 	 *  so forth.
 	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the list.
@@ -71,13 +58,13 @@
 	 *  org.apache.flex.core.IBeadLayout: the bead responsible for the size and position of the itemRenderers.
 	 *  org.apache.flex.core.IDataProviderItemRendererMapper: the bead responsible for creating the itemRenders.
 	 *  org.apache.flex.core.IItemRenderer: the class or factory used to display an item in the list.
-	 *  
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class List extends ListBase implements IItemRendererProvider
+	public class List extends DataContainer
 	{
 		/**
 		 *  constructor.
@@ -91,41 +78,6 @@
 		{
 			super();
 		}
-		
-		/**
-		 *  The name of field within the data used for display. Each item of the
-		 *  data should have a property with this name.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get labelField():String
-		{
-			return ISelectionModel(model).labelField;
-		}
-		public function set labelField(value:String):void
-		{
-			ISelectionModel(model).labelField = value;
-		}
-		
-		/**
-		 *  The data being display by the List.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get dataProvider():Object
-        {
-            return ISelectionModel(model).dataProvider;
-        }
-        public function set dataProvider(value:Object):void
-        {
-            ISelectionModel(model).dataProvider = value;
-        }
 
 		/**
 		 *  The index of the currently selected item. Changing this value
@@ -161,25 +113,7 @@
 		{
 			IRollOverModel(model).rollOverIndex = value;
 		}
-			
-		/**
-		 *  The presentation model for the list.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get presentationModel():IListPresentationModel
-		{
-			var presModel:IListPresentationModel = getBeadByType(IListPresentationModel) as IListPresentationModel;
-			if (presModel == null) {
-				presModel = new ListPresentationModel();
-				addBead(presModel);
-			}
-			return presModel;
-		}
-		
+
 		/**
 		 *  The default height of each cell in every column
 		 *
@@ -196,9 +130,9 @@
 		{
 			presentationModel.rowHeight = value;
 		}
-		
+
 		/**
-		 *  The item currently selected. Changing this value also 
+		 *  The item currently selected. Changing this value also
 		 *  changes the selectedIndex property.
 		 *
 		 *  @langversion 3.0
@@ -214,75 +148,11 @@
 		{
 			ISelectionModel(model).selectedItem = value;
 		}
-		
-		private var _itemRenderer:IFactory;
-		
-		/**
-		 *  The class or factory used to display each item.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
+
+		/*
+		 * UIBase
 		 */
-		public function get itemRenderer():IFactory
-		{
-			return _itemRenderer;
-		}
-		public function set itemRenderer(value:IFactory):void
-		{
-			_itemRenderer = value;
-		}
-		
-		/**
-		 * Returns whether or not the itemRenderer property has been set.
-		 *
-		 *  @see org.apache.flex.core.IItemRendererProvider
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hasItemRenderer():Boolean
-		{
-			var result:Boolean = false;
-			
-			COMPILE::SWF {
-				result = _itemRenderer != null;
-			}
-			
-			COMPILE::JS {
-				var test:* = _itemRenderer;
-				result = _itemRenderer !== null && test !== undefined;
-			}
-			
-			return result;
-		}
-		
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-            super.addedToParent();
-            
-            if (getBeadByType(IDataProviderItemRendererMapper) == null)
-            {
-                var mapper:IDataProviderItemRendererMapper = new (ValuesManager.valuesImpl.getValue(this, "iDataProviderItemRendererMapper")) as IDataProviderItemRendererMapper;
-                addBead(mapper);
-            }
-			var itemRendererFactory:IItemRendererClassFactory = getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-			if (!itemRendererFactory)
-			{
-				itemRendererFactory = new (ValuesManager.valuesImpl.getValue(this, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				addBead(itemRendererFactory);
-			}
-			
-			dispatchEvent(new Event("initComplete"));
-		}
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -291,21 +161,8 @@
         {
             super.createElement();
             className = 'List';
-            
-            return element;
-        }        
 
-        /**
-         * @flexjsignorecoercion org.apache.flex.html.beads.ListView 
-         * @flexjsignorecoercion org.apache.flex.html.supportClasses.DataGroup 
-         */
-        COMPILE::JS
-        override public function internalChildren():Array
-        {
-            var listView:ListView = getBeadByType(ListView) as ListView;
-            var dg:DataGroup = listView.dataGroup as DataGroup;
-            var renderers:Array = dg.internalChildren();
-            return renderers;
-        };
+            return element;
+        }
    	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as
index 1807381..4bfa105 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as
@@ -19,7 +19,7 @@
 package org.apache.flex.html
 {
 	import org.apache.flex.states.State;
-	
+
 	import org.apache.flex.core.IBead;
     import org.apache.flex.core.ILayoutHost;
     import org.apache.flex.core.IParent;
@@ -27,28 +27,28 @@
 	import org.apache.flex.core.IStrand;
     import org.apache.flex.core.IStatesImpl;
 	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.html.beads.ContainerView;
+    import org.apache.flex.html.beads.GroupView;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.ValueChangeEvent;
 	import org.apache.flex.utils.MXMLDataInterpreter;
 
     [DefaultProperty("mxmlContent")]
-    
+
     /**
      *  The MXMLBeadView class extends ContainerView
      *  and adds support for databinding and specification
      *  of children in MXML.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class MXMLBeadView extends ContainerView implements IStrand, ILayoutHost
+	public class MXMLBeadView extends GroupView implements IStrand, ILayoutHost
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -58,12 +58,12 @@
 		{
 			super();
 		}
-		
+
         [Bindable("strandChanged")]
         /**
          *  An MXMLBeadView doesn't create its children until it is added to
          *  the strand.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -74,21 +74,21 @@
             super.strand = value;
             // each MXML file can also have styles in fx:Style block
             ValuesManager.valuesImpl.init(this);
-            
-            dispatchEvent(new Event("strandChanged"));  
-            
+
+            dispatchEvent(new Event("strandChanged"));
+
             for each (var bead:IBead in beads)
                 addBead(bead);
-            
+
             dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
 
             MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), MXMLDescriptor);
-            
-            dispatchEvent(new Event("initBindings"))
-            dispatchEvent(new Event("initComplete"))
+
             dispatchEvent(new Event("childrenAdded"));
+            dispatchEvent(new Event("initBindings"));
+            dispatchEvent(new Event("initComplete"));
         }
-        
+
         [Bindable("__NoChangeEvent__")]
         /**
          *  The model object.
@@ -97,10 +97,10 @@
         {
             return _strand["model"];
         }
-        
+
         /**
          *  @copy org.apache.flex.core.Application#MXMLDescriptor
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -110,10 +110,10 @@
         {
             return null;
         }
-        
+
         /**
          *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -123,23 +123,23 @@
         {
             MXMLDataInterpreter.generateMXMLProperties(this, data);
         }
-        
+
         /**
          *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
         public var mxmlContent:Array;
-        
+
         private var _states:Array;
-        
+
         /**
          *  The array of view states. These should
          *  be instances of org.apache.flex.states.State.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -149,7 +149,7 @@
         {
             return _states;
         }
-        
+
         /**
          *  @private
          */
@@ -157,7 +157,7 @@
         {
             _states = value;
             _currentState = _states[0].name;
-            
+
             try{
                 if (getBeadByType(IStatesImpl) == null)
                     addBead(new (ValuesManager.valuesImpl.getValue(this, "iStatesImpl")) as IBead);
@@ -167,19 +167,19 @@
             {
                 COMPILE::SWF
                 {
-                    trace(e.message);                        
+                    trace(e.message);
                 }
             }
-            
+
         }
-        
+
         /**
          *  <code>true</code> if the array of states
          *  contains a state with this name.
-         * 
+         *
          *  @param state The state namem.
          *  @return True if state in state array
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -194,13 +194,13 @@
             }
             return false;
         }
-        
+
         private var _currentState:String;
-        
+
         [Bindable("currentStateChange")]
         /**
          *  The name of the current state.
-         * 
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -208,9 +208,9 @@
          */
         public function get currentState():String
         {
-            return _currentState;   
+            return _currentState;
         }
-        
+
         /**
          *  @private
          */
@@ -220,12 +220,12 @@
             _currentState = value;
             dispatchEvent(event);
         }
-        
+
         private var _transitions:Array;
-        
+
         /**
          *  The array of transitions.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -233,48 +233,48 @@
          */
         public function get transitions():Array
         {
-            return _transitions;   
+            return _transitions;
         }
-        
+
         /**
          *  @private
          */
         public function set transitions(value:Array):void
         {
-            _transitions = value;   
+            _transitions = value;
         }
 
         /**
          *  @copy org.apache.flex.core.Application#beads
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
         public var beads:Array;
-        
+
         private var _beads:Array;
-        
+
         /**
          *  @copy org.apache.flex.core.IStrand#addBead()
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
-         */        
+         */
         public function addBead(bead:IBead):void
         {
             if (!_beads)
                 _beads = [];
             _beads.push(bead);
-            bead.strand = this;            
+            bead.strand = this;
         }
-        
+
         /**
          *  @copy org.apache.flex.core.IStrand#getBeadByType()
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -289,16 +289,16 @@
             }
             return null;
         }
-        
+
         /**
          *  @copy org.apache.flex.core.IStrand#removeBead()
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function removeBead(value:IBead):IBead	
+        public function removeBead(value:IBead):IBead
         {
             var n:int = _beads.length;
             for (var i:int = 0; i < n; i++)
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
index e919295..876c597 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
@@ -24,6 +24,8 @@
     {
         import goog.events;
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.events.IEventDispatcher;
+        import org.apache.flex.core.IBead;
     }
 
 	[Event(name="valueChange", type="org.apache.flex.events.Event")]
@@ -37,6 +39,7 @@
 	 *  org.apache.flex.core.IBeadView: constructs the parts of the component.
 	 *  org.apache.flex.core.IBeadController: handles the input events.
 	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -160,7 +163,7 @@
         {
             element = document.createElement('div') as WrappedHTMLElement;
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
 
             input = new TextInput();
             input.className = "NumericStepperInput";
@@ -170,6 +173,7 @@
             input.positioner.style.width = '100px';
 
             spinner = new Spinner();
+			spinner.addBead(model as IBead);
             addElement(spinner);
 
             /* TODO: ajh move to view and css */
@@ -182,6 +186,12 @@
 
             input.text = String(spinner.value);
 
+			IEventDispatcher(model).addEventListener("valueChange",modelChangeHandler);
+			IEventDispatcher(model).addEventListener("minimumChange",modelChangeHandler);
+			IEventDispatcher(model).addEventListener("maximumChange",modelChangeHandler);
+			IEventDispatcher(model).addEventListener("stepSizeChange",modelChangeHandler);
+			IEventDispatcher(model).addEventListener("snapIntervalChange",modelChangeHandler);
+
             return element;
         }
 
@@ -197,6 +207,14 @@
             dispatchEvent(new Event('valueChange'));
         };
 
+        /**
+         * @private
+         */
+        COMPILE::JS
+        private function modelChangeHandler(event:Event):void
+        {
+            input.text = String(model.value);
+        }
 
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as
index e9c5986..ab3b114 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as
@@ -19,6 +19,9 @@
 package org.apache.flex.html
 {
 	import org.apache.flex.core.IPanelModel;
+	import org.apache.flex.core.IChild;
+	import org.apache.flex.html.beads.PanelView;
+	import org.apache.flex.events.Event;
 
     COMPILE::JS
     {
@@ -40,6 +43,7 @@
 	 *  org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
 	 *  org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
 	 *  
+     *  @toplevel
 	 *  @see PanelWithControlBar
 	 *  @see ControlBar
 	 *  @see TitleBar
@@ -48,7 +52,7 @@
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class Panel extends Container
+	public class Panel extends Group
 	{
 		/**
 		 *  constructor.
@@ -61,6 +65,23 @@
 		public function Panel()
 		{
 			super();
+			
+			className = "Panel";
+		}
+		
+		public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
+		{
+			super.addElement(c, dispatchEvent);
+		}
+		
+		public function get $numElements():Number
+		{
+			return super.numElements;
+		}
+		
+		public function $getElementAt(index:Number):IChild
+		{
+			return super.getElementAt(index);
 		}
 		
 		/**
@@ -109,13 +130,67 @@
 			IPanelModel(model).showCloseButton = value;
 		}
 		
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            super.createElement();
-            element.className = "Panel";
-            typeNames = "Panel";
-            return element;
-        }
+		
+		/**
+		 * @private
+		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+		 */
+		override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
+		{
+			var panelView:PanelView = view as PanelView;
+			panelView.contentArea.addElement(c, dispatchEvent);
+			panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
+		}
+		
+		/**
+		 * @private
+		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+		 */
+		override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
+		{
+			var panelView:PanelView = view as PanelView;
+			panelView.contentArea.addElementAt(c, index, dispatchEvent);
+			panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
+		}
+		
+		/**
+		 * @private
+		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+		 */
+		override public function getElementIndex(c:IChild):int
+		{
+			var panelView:PanelView = view as PanelView;
+			return panelView.contentArea.getElementIndex(c);
+		}
+		
+		/**
+		 * @private
+		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+		 */
+		override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
+		{
+			var panelView:PanelView = view as PanelView;
+			panelView.contentArea.removeElement(c, dispatchEvent);
+		}
+		
+		/**
+		 * @private
+		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+		 */
+		override public function get numElements():int
+		{
+			var panelView:PanelView = view as PanelView;
+			return panelView.contentArea.numElements;
+		}
+		
+		/**
+		 * @private
+		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+		 */
+		override public function getElementAt(index:int):IChild
+		{
+			var panelView:PanelView = view as PanelView;
+			return panelView.contentArea.getElementAt(index);
+		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
index 7659d9d..d5ff4b1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
@@ -33,12 +33,13 @@
 	 *  org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
 	 *  org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
 	 *  
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class PanelWithControlBar extends Container
+	public class PanelWithControlBar extends Panel
 	{
 		/**
 		 *  constructor.
@@ -54,52 +55,6 @@
 		}
 		
 		/**
-		 *  The string to display in the org.apache.flex.html.TitleBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return IPanelModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			IPanelModel(model).title = value;
-		}
-		
-		/**
-		 *  The HTML string to display in the org.apache.flex.html.TitleBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlTitle():String
-		{
-			return IPanelModel(model).htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			IPanelModel(model).htmlTitle = value;
-		}
-		
-		/**
-		 * Whether or not to show a Close button in the org.apache.flex.html.TitleBar.
-		 */
-		public function get showCloseButton():Boolean
-		{
-			return IPanelModel(model).showCloseButton;
-		}
-		public function set showCloseButton(value:Boolean):void
-		{
-			IPanelModel(model).showCloseButton = value;
-		}
-		
-		/**
 		 *  The items in the org.apache.flex.html.ControlBar. Setting this property automatically
 		 *  causes the ControlBar to display.
 		 *
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
index 9aa2254..a7dd387 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
@@ -51,6 +51,7 @@
 	 *  org.apache.flex.core.IBeadModel: the data model, which includes the groupName.
 	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the RadioButton..
 	 *
+	 *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -221,6 +222,8 @@
 		}
 	}
 
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
     COMPILE::JS
     public class RadioButton extends UIBase
     {
@@ -250,7 +253,7 @@
             element = labelFor as WrappedHTMLElement;
 
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
 
             (element as WrappedHTMLElement).flexjs_wrapper = this;
             (textNode as WrappedHTMLElement).flexjs_wrapper = this;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
index 9dcb348..0d254e5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
@@ -21,14 +21,15 @@
     COMPILE::JS
     {
         import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
-        
+
 	/**
 	 *  The SimpleList class is a component that displays data in a vertical column. This
-	 *  component differs from org.apache.flex.html.List in that it displays 
+	 *  component differs from org.apache.flex.html.List in that it displays
 	 *  only string values and maps to the &lt;select&gt; HTML element.
-	 *  
+	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -48,7 +49,7 @@
 		{
 			super();
 		}
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          * @flexjsignorecoercion HTMLSelectElement
@@ -61,12 +62,12 @@
             goog.events.listen(element, 'change',
                 changeHandler);
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             className = 'SimpleList';
-            
+
             return element;
-        }   
-        
+        }
+
         /**
          * @flexjsignorecoercion HTMLSelectElement
          */
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
index d10891c..fc2889b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
@@ -23,24 +23,23 @@
 
     COMPILE::JS
     {
-        import org.apache.flex.html.beads.SliderTrackView;
-        import org.apache.flex.html.beads.SliderThumbView;
         import org.apache.flex.html.beads.controllers.SliderMouseController;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
 
 	[Event(name="valueChange", type="org.apache.flex.events.Event")]
-	
+
 	/**
 	 *  The Slider class is a component that displays a range of values using a
 	 *  track and a thumb control. The Slider uses the following bead types:
-	 * 
+	 *
 	 *  org.apache.flex.core.IBeadModel: the data model, typically an IRangeModel, that holds the Slider values.
 	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the Slider.
 	 *  org.apache.flex.core.IBeadController: the bead that handles input.
 	 *  org.apache.flex.core.IThumbValue: the bead responsible for the display of the thumb control.
 	 *  org.apache.flex.core.ITrackView: the bead responsible for the display of the track.
-	 *  
+	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -59,16 +58,16 @@
 		public function Slider()
 		{
 			super();
-			
+
 			className = "Slider";
-			
+
 			IRangeModel(model).value = 0;
 			IRangeModel(model).minimum = 0;
 			IRangeModel(model).maximum = 100;
 			IRangeModel(model).stepSize = 1;
 			IRangeModel(model).snapInterval = 1;
 		}
-		
+
 		/**
 		 *  The current value of the Slider.
 		 *
@@ -85,7 +84,7 @@
 		{
 			IRangeModel(model).value = newValue;
 		}
-		
+
 		/**
 		 *  The minimum value of the Slider.
 		 *
@@ -102,7 +101,7 @@
 		{
 			IRangeModel(model).minimum = value;
 		}
-		
+
 		/**
 		 *  The maximum value of the Slider.
 		 *
@@ -119,7 +118,7 @@
 		{
 			IRangeModel(model).maximum = value;
 		}
-		
+
 		/**
 		 *  The modulus of the Slider value. The thumb will be positioned
 		 *  at the nearest multiple of this value.
@@ -137,7 +136,7 @@
 		{
 			IRangeModel(model).snapInterval = value;
 		}
-        
+
 		/**
 		 *  The amount to move the thumb when the track is selected. This value is
 		 *  adjusted to fit the nearest snapInterval.
@@ -156,15 +155,6 @@
             IRangeModel(model).stepSize = value;
         }
 
-        COMPILE::JS
-        private var track:SliderTrackView;
-        
-        COMPILE::JS
-        private var thumb:SliderThumbView;
-        
-        COMPILE::JS
-        private var controller:SliderMouseController;
-        
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -172,28 +162,22 @@
         override protected function createElement():WrappedHTMLElement
         {
             element = document.createElement('div') as WrappedHTMLElement;
-            element.style.width = '200px';
+
+			// just to give it some default values
+            element.style.width = '100px';
             element.style.height = '30px';
-            
-            track = new SliderTrackView();
-            addBead(track);
-            
-            thumb = new SliderThumbView();
-            addBead(thumb);
-            
-            controller = new SliderMouseController();
-            addBead(controller);
-            
+
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
-            
+
             className = 'Slider';
-            
+
             return element;
-        } 
-        
+        }
+
         /**
+		 * @private
          */
         COMPILE::JS
         public function snap(value:Number):Number
@@ -211,23 +195,5 @@
                 return n + si;
             return n;
         }
-        
-        
-        /**
-         * @param {number} value The value used to calculate new position of the thumb.
-         * @return {void} Moves the thumb to the corresponding position.
-         */
-        COMPILE::JS
-        public function setThumbFromValue(value:Number):void
-        {
-            var min:Number = model.minimum;
-            var max:Number = model.maximum;
-            var p:Number = (value - min) / (max - min);
-            var xloc:Number = p * (parseInt(track.element.style.width, 10) -
-                parseInt(thumb.element.style.width, 10));
-            
-            thumb.element.style.left = "" + xloc + 'px';
-        }        
-
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
index 65b5290..2cc160e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
@@ -37,6 +37,7 @@
 	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the Spinner.
 	 *  org.apache.flex.core.IBeadController: a bead that handles the input events.
 	 *
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -155,7 +156,7 @@
         {
             element = document.createElement('div') as WrappedHTMLElement;
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
 
             element.style.verticalAlign = 'middle';
             element.flexjs_wrapper = this;
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SubAppLoader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SubAppLoader.as
similarity index 97%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SubAppLoader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SubAppLoader.as
index 3cbcf00..6fc5d67 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SubAppLoader.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SubAppLoader.as
@@ -81,7 +81,7 @@
 		{
 			COMPILE::SWF {				
 				if (swfLoader != null) {
-					$displayObjectContainer.removeChild(swfLoader);
+					removeChild(swfLoader);
 				}
 				
 				swfLoader = new Loader();
@@ -125,7 +125,7 @@
 				var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null);
 				swfLoader.load(url, loaderContext);
 				if (swfLoader.parent == null) {
-					$displayObjectContainer.addChild(swfLoader);
+					addChild(swfLoader);
 				}
 			}
 				
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Table.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Table.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableCell.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableCell.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableHeader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableHeader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableRow.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableRow.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
index c912dd4..2eb9c72 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
@@ -25,7 +25,7 @@
     COMPILE::JS
     {
         import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
 
     /**
@@ -41,18 +41,18 @@
     /**
      *  The TextArea class implements the basic control for
      *  multi-line text input.
-     *  
+     *
      *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
-     */    
+     */
 	public class TextArea extends UIBase
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -67,10 +67,10 @@
                 model.addEventListener("textChange", textChangeHandler);
             }
 		}
-		
+
         /**
          *  @copy org.apache.flex.html.Label#text
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -82,7 +82,7 @@
 		{
             COMPILE::SWF
             {
-                return ITextModel(model).text;                    
+                return ITextModel(model).text;
             }
             COMPILE::JS
             {
@@ -108,10 +108,10 @@
                 dispatchEvent(new Event('textChange'));
             }
 		}
-		
+
         /**
          *  @copy org.apache.flex.html.Label#html
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -145,7 +145,7 @@
                 dispatchEvent(new Event('textChange'));
             }
 		}
-		
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -154,14 +154,14 @@
         {
             element = document.createElement('textarea') as WrappedHTMLElement;
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
 
             goog.events.listen(element, 'input', textChangeHandler);
-            
+
             element.flexjs_wrapper = this;
             element.className = 'TextArea';
             typeNames = 'TextArea';
-            
+
             return element;
         }
 
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
index a08c9b3..b2997c2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
@@ -35,7 +35,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class TextButton extends ButtonBase
+	public class TextButton extends Button
 	{
         /**
          *  Constructor.
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
index c8df45d..0a63c95 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
@@ -23,7 +23,7 @@
     COMPILE::JS
     {
         import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;            
+        import org.apache.flex.core.WrappedHTMLElement;
     }
 
 	/**
@@ -39,17 +39,18 @@
     /**
      *  The TextInput class implements the basic control for
      *  single-line text input.
-     *  
+     *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
-     */    
+     */
 	public class TextInput extends UIBase
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -61,13 +62,13 @@
 
             COMPILE::SWF
             {
-                model.addEventListener("textChange", textChangeHandler);                    
+                model.addEventListener("textChange", textChangeHandler);
             }
 		}
-		
+
         /**
          *  @copy org.apache.flex.html.Label#text
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -79,7 +80,7 @@
 		{
             COMPILE::SWF
             {
-                return ITextModel(model).text;                    
+                return ITextModel(model).text;
             }
             COMPILE::JS
             {
@@ -97,7 +98,7 @@
             {
                 inSetter = true;
                 ITextModel(model).text = value;
-                inSetter = false;                    
+                inSetter = false;
             }
             COMPILE::JS
             {
@@ -105,22 +106,22 @@
                 dispatchEvent(new Event('textChange'));
             }
 		}
-		
+
         /**
          *  @copy org.apache.flex.html.Label#html
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          *  @flexjsignorecoercion HTMLInputElement
          */
-		[Bindable(event="change")] 
+		[Bindable(event="change")]
 		public function get html():String
 		{
             COMPILE::SWF
             {
-                return ITextModel(model).html;                    
+                return ITextModel(model).html;
             }
             COMPILE::JS
             {
@@ -136,7 +137,7 @@
 		{
             COMPILE::SWF
             {
-                ITextModel(model).html = value;                    
+                ITextModel(model).html = value;
             }
             COMPILE::JS
             {
@@ -146,7 +147,7 @@
 		}
 
         private var inSetter:Boolean;
-        
+
 		/**
 		 *  dispatch change event in response to a textChange event
 		 *
@@ -160,7 +161,7 @@
             if (!inSetter)
                 dispatchEvent(new Event(Event.CHANGE));
 		}
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
@@ -168,20 +169,20 @@
         override protected function createElement():WrappedHTMLElement
         {
             element = document.createElement('input') as WrappedHTMLElement;
-            element.setAttribute('type', 'input');
+            element.setAttribute('type', 'text');
             element.className = 'TextInput';
             typeNames = 'TextInput';
-            
+
             //attach input handler to dispatch flexjs change event when user write in textinput
             //goog.events.listen(element, 'change', killChangeHandler);
             goog.events.listen(element, 'input', textChangeHandler);
-            
+
             positioner = element;
-            positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
-            
+
             return element;
-        }        
-        
+        }
+
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
index 3902330..2764731 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
@@ -41,12 +41,13 @@
 	 *  org.apache.flex.core.IMeasurementBead: a bead that helps determine the size of the 
 	 *  org.apache.flex.html.TitleBar for layout.
 	 * 
+     *  @toplevel
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class TitleBar extends Container implements IChrome
+	public class TitleBar extends Group implements IChrome
 	{
 		/**
 		 *  constructor.
@@ -135,11 +136,8 @@
             element = document.createElement('div') as WrappedHTMLElement;
             
             positioner = element;
-            positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
             
-            className = 'TitleBar';
-            
             return element;
         }        
 	}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
index be86d41..6061898 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
@@ -23,10 +23,16 @@
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.events.Event;
 
+    COMPILE::SWF
+    {
+        import flash.events.MouseEvent;
+    }
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
+        import org.apache.flex.events.MouseEvent;
     }
 
     //--------------------------------------
@@ -44,6 +50,16 @@
 	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
 
     /**
+     *  Dispatched when ToggleTextButton is being selected/unselected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+
+    /**
      *  The ToggleButton class is a TextButton that supports
      *  a selected property.
      *
@@ -65,18 +81,19 @@
 		public function ToggleTextButton()
 		{
 			super();
+            COMPILE::SWF
+            {
+                addEventListener(MouseEvent.CLICK, internalMouseHandler);
+            }
             COMPILE::JS
             {
                 this.typeNames = 'toggleTextButton';
             }
 		}
 
-        COMPILE::JS
-        private var _selected:Boolean;
-
-        COMPILE::JS
-        private var SELECTED:String = "selected";
-
+        private var _selected:Boolean = false;
+        
+        [Bindable("change")]
         /**
          *  <code>true</code> if the Button is selected.
          *
@@ -105,59 +122,29 @@
             COMPILE::SWF
             {
                 IToggleButtonModel(model).selected = value;
+                internalSelected()
+                dispatchEvent(new Event("change"));
             }
             COMPILE::JS
             {
                 if (_selected != value)
                 {
                     _selected = value;
-
-                    var className:String = this.className;
-                    var typeNames:String = this.typeNames;
-                    if (value) {
-                        if (typeNames.indexOf(SELECTED) == -1) {
-                            typeNames = typeNames + SELECTED;
-                            if (className)
-                                element.className = typeNames + ' ' + className;
-                            else
-                                element.className = typeNames;
-                        }
-                    }
-                    else {
-                        if (typeNames.indexOf(SELECTED) == typeNames.length - SELECTED.length) {
-                            typeNames = typeNames.substring(0, typeNames.length - SELECTED.length);
-                            if (className)
-                                element.className = typeNames + ' ' + className;
-                            else
-                                element.className = typeNames;
-                        }
-                    }
+                    
+                    internalSelected();
+                    
+                    dispatchEvent(new Event("change"));
                 }
             }
         }
 
-        /**
-         *  @private
-         *  add another class selector
-         */
-        override public function get className():String
-        {
-            // we don't have a model yet so just pass through otherwise you will loop
-            if (!parent)
-                return super.className;
-
-            var name:String = super.className;
-            if (selected)
-                return "toggleTextButton_Selected" + (name ? " " + name : "");
-            else
-                return "toggleTextButton" + (name ? " " + name : "");
-        }
-
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
             super.createElement();
             element.addEventListener("click", clickHandler, false);
+            internalSelected();
+            
             return element;
         }
 
@@ -166,5 +153,52 @@
         {
             selected = !selected;
         }
+        
+        COMPILE::SWF
+        private function internalMouseHandler(event:MouseEvent) : void
+        {
+            selected = !selected;
+        }
+
+        private function internalSelected():void
+        {
+            COMPILE::SWF
+            {
+                var name:String = super.className;
+                if (selected)
+                {
+                    className = "toggleTextButton_Selected" + (name ? " " + name : "");
+                }
+                else
+                {
+                    className = "toggleTextButton" + (name ? " " + name : "");
+                }
+            }
+            COMPILE::JS
+            {
+                var isToggleTextButtonSelected:Boolean = element.classList.contains("toggleTextButton_Selected");
+                if (!isToggleTextButtonSelected && _selected == true)
+                {
+                    element.classList.add("toggleTextButton_Selected");
+                }
+                else if (isToggleTextButtonSelected && _selected == false)
+                {
+                    element.classList.toggle("toggleTextButton_Selected");
+                }
+                
+                var isToggleTextButton:Boolean = element.classList.contains("toggleTextButton");
+                if (!isToggleTextButton && _selected == false)
+                {
+                    element.classList.add("toggleTextButton");
+                }
+                else if (isToggleTextButton && _selected == true)
+                {
+                    element.classList.toggle("toggleTextButton");
+                }
+                
+                typeNames = element.className;
+            }
+        }
+
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as
index 92ebdca..13df0e8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as
@@ -38,12 +38,13 @@
      *  </basic:Container>
      *  </code>
      *  
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */    
-	public class VContainer extends Container implements IContainer
+	public class VContainer extends Container
 	{
         /**
          *  Constructor.
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VGroup.as
similarity index 74%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VGroup.as
index 3ec846a..03d3e4f 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VGroup.as
@@ -16,35 +16,31 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{    
-	/*
-	 *************
-	 * THIS CLASS IS NO LONGER NEEDED. INHERIT FROM DataContainerBase
-	 */
-	
+package org.apache.flex.html
+{
     /**
-     *  The ListBase class is the base class for most lists
-     *  in FlexJS.
-     *  
+     *  This Group subclass uses VerticalLayout as its default layout.
+     *
+     *  @toplevel
+     *  @see org.apache.flex.html.beads.layout
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
+     *  @productversion FlexJS 0.8
      */
-	public class ListBase extends DataContainerBase
+	public class VGroup extends Group
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
+         *  @productversion FlexJS 0.8
          */
-		public function ListBase()
+		public function VGroup()
 		{
-			super();            
+			super();
 		}
-    }
+	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
index 89e372d..bdf05eb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
@@ -27,6 +27,7 @@
     /**
      *  The VRule class displays a vertical line
      *
+     *  @toplevel
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
@@ -60,7 +61,7 @@
             element.style.borderBottom = 'none';
             element.style.borderRight = 'none';
             positioner = element;
-           // positioner.style.position = 'relative';
+            //positioner.style.position = 'relative';
             element.flexjs_wrapper = this;
             return element;
         }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
index 3b23f5b..85ffb4f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
@@ -30,6 +30,7 @@
 	}
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	COMPILE::SWF
@@ -81,7 +82,8 @@
 			}
 			COMPILE::JS
 			{
-				IEventDispatcher(value).addEventListener("keypress",validateInput);									
+                var host:UIBase = _strand as UIBase;
+                host.element.addEventListener("keypress", validateInput, false);
 			}
 		}
 		
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
index 99e2866..64fa0f7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
@@ -142,6 +142,11 @@
 				if (!promptAdded) UIBase(_strand).addChild(promptField);
 				promptField.text = prompt;
 				promptAdded = true;
+                promptField.x = 2;
+                promptField.y = 2;
+                promptField.width = UIBase(_strand).width-5;
+                promptField.height = UIBase(_strand).height-4;
+
 			}
 		}
 	}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as
index 5788d47..ddd73cf 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as
@@ -28,6 +28,7 @@
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
+    import org.apache.flex.events.MouseEvent;
 	import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.html.Alert;
@@ -182,7 +183,7 @@
 		/**
 		 * @private
 		 */
-		private function handleOK(event:Event):void
+		private function handleOK(event:MouseEvent):void
 		{
 			// create some custom event where the detail value
 			// is the OK button flag. Do same for other event handlers
@@ -192,7 +193,7 @@
 		/**
 		 * @private
 		 */
-		private function handleCancel(event:Event):void
+		private function handleCancel(event:MouseEvent):void
 		{
 			dispatchCloseEvent(Alert.CANCEL);
 		}
@@ -200,7 +201,7 @@
 		/**
 		 * @private
 		 */
-		private function handleYes(event:Event):void
+		private function handleYes(event:MouseEvent):void
 		{
 			dispatchCloseEvent(Alert.YES);
 		}
@@ -208,7 +209,7 @@
 		/**
 		 * @private
 		 */
-		private function handleNo(event:Event):void
+		private function handleNo(event:MouseEvent):void
 		{
 			dispatchCloseEvent(Alert.NO);
 		}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
index 7de01ef..0be56d9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
@@ -89,13 +89,13 @@
             var className:String = IStyleableObject(_strand).className;
             if (toggleButtonModel.selected)
             {
-                if (className.indexOf(SELECTED) == className.length - SELECTED.length)
+                if (className && className.indexOf(SELECTED) == className.length - SELECTED.length)
                     IStyleableObject(_strand).className = className.substring(0, className.length - SELECTED.length);
                 setupSkins();
             }
             else
             {
-                if (className.indexOf(SELECTED) == -1)
+                if (className && className.indexOf(SELECTED) == -1)
                     IStyleableObject(_strand).className += SELECTED;
                 setupSkins();                
             }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CenterElement.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CenterElement.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CenterElement.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CenterElement.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
index 83c261a..3adb9de 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
@@ -18,53 +18,46 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Sprite;
-	
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.core.IPopUpHost;
+	import org.apache.flex.core.BeadViewBase;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Button;
 	import org.apache.flex.html.TextInput;
+	import org.apache.flex.html.Button;
+	import org.apache.flex.html.TextButton;
+	import org.apache.flex.html.List;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.core.IComboBoxModel;
+	import org.apache.flex.utils.UIUtils;
+	import org.apache.flex.utils.PointUtils;
+	import org.apache.flex.core.IPopUpHost;
+	import org.apache.flex.geom.Point;
+	import org.apache.flex.html.beads.IComboBoxView;
 	
 	/**
 	 *  The ComboBoxView class creates the visual elements of the org.apache.flex.html.ComboBox 
 	 *  component. The job of the view bead is to put together the parts of the ComboBox such as the TextInput
 	 *  control and org.apache.flex.html.Button to trigger the pop-up.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class ComboBoxView extends BeadViewBase implements IBeadView, IComboBoxView
+	public class ComboBoxView extends BeadViewBase implements IComboBoxView
 	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
 		public function ComboBoxView()
 		{
+			super();
 		}
 		
-		private var textInput:TextInput;
-		private var button:Button;
-		private var selectionModel:IComboBoxModel;
+		private var input:TextInput;
 		
 		/**
-		 *  The value of the TextInput component of the ComboBox.
+		 *  The TextInput component of the ComboBox.
 		 * 
 		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
 		 *
@@ -73,125 +66,85 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get text():String
+		public function get textInputField():Object
 		{
-			return textInput.text;
-		}
-		public function set text(value:String):void
-		{
-			textInput.text = value;
+			return input;
 		}
 		
+		private var button:TextButton;
+		
 		/**
-		 *  The HTML value of the TextInput component of the ComboBox.
+		 *  The Button component of the ComboBox.
 		 * 
-		 *  @copy org.apache.flex.html.beads.IComboBoxView#html
+		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get html():String
+		public function get popupButton():Object
 		{
-			return textInput.html;
-		}
-		public function set html(value:String):void
-		{
-			textInput.html = value;
+			return button;
 		}
 		
+		private var list:UIBase;
+		
 		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
+		 *  The pop-up list component of the ComboBox.
+		 * 
+		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get strand():IStrand
+		public function get popUp():Object
 		{
-			return _strand;
+			return list;
 		}
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-        
-			selectionModel = value.getBeadByType(IComboBoxModel) as IComboBoxModel;
-			selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-            
-			textInput = new TextInput();
-			IParent(strand).addElement(textInput);
-			textInput.width = 100;
-			textInput.height = 18;
-			
-			upSprite = new Sprite();
-			drawButton( upSprite, "up", 18, 18 );
-			overSprite = new Sprite();
-			drawButton( overSprite, "over", 18, 18 );
-			downSprite = new Sprite();
-			drawButton( downSprite, "down", 18, 18 );
-			
-			button = new Button();
-            button.upState = upSprite;
-            button.overState = overSprite;
-            button.downState = downSprite;
-			DisplayObjectContainer(strand).addChild(button);
-			button.width = 18;
-			button.height = 18;
-			button.x = textInput.width;
-			button.y = textInput.y;
-			
-			// listen for events on the text input and modify the list and selection
-			textInput.addEventListener("change", textChangeHandler,false,0,true);
-		}
-		
-		private var upSprite:Sprite;
-		private var overSprite:Sprite;
-		private var downSprite:Sprite;
 		
 		/**
 		 * @private
 		 */
-		private function drawButton( sprite:Sprite, mode:String, width:Number, height:Number ) : void
+		override public function set strand(value:IStrand):void
 		{
-			sprite.graphics.clear();
-			sprite.graphics.lineStyle(1,0xFFFFFF);
-			sprite.graphics.drawRect(0, 0, width-1, height-1);
-			sprite.graphics.lineStyle(-1);
+			super.strand = value;
 			
-			if( mode == "over" ) sprite.graphics.beginFill(0xCCCCCC);
-			else if( mode == "down" ) sprite.graphics.beginFill(0x888888);
-			sprite.graphics.drawRect(0, 0, width-1, height-1);
-			sprite.graphics.endFill();
+			var host:UIBase = value as UIBase;
 			
-			sprite.graphics.beginFill(0x333333);
-			sprite.graphics.moveTo(4,4);
-			sprite.graphics.lineTo(width-4,4);
-			sprite.graphics.lineTo(int(width/2),height-4);
-			sprite.graphics.lineTo(4,4);
-			sprite.graphics.endFill();
+			input = new TextInput();
+			input.className = "ComboBoxTextInput";			
+			
+			button = new TextButton();
+			button.className = "ComboBoxButton";
+			button.text = '\u25BC';
+			
+			if (isNaN(host.width)) input.width = 100;
+			
+			host.addElement(input);
+			host.addElement(button);
+			
+			var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
+			list = new popUpClass() as UIBase;
+			list.visible = false;
+			
+			var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
+			model.addEventListener("selectedIndexChanged", handleItemChange);
+			model.addEventListener("selectedItemChanged", handleItemChange);
+			
+			IEventDispatcher(_strand).addEventListener("sizeChanged", handleSizeChange);
+			
+			// set initial value and positions using default sizes
+			handleItemChange(null);
+			handleSizeChange(null);
 		}
 		
-		private var _popUp:IStrand;
-		
 		/**
-		 *  The pop-up component that holds the selection list.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get popUp():IStrand
-		{
-			return _popUp;
-		}
-		
-		private var _popUpVisible:Boolean;
-		
-		/**
-		 *  This property is true if the pop-up selection list is currently visible.
+		 *  Returns whether or not the pop-up is visible.
+		 * 
+		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -200,49 +153,75 @@
 		 */
 		public function get popUpVisible():Boolean
 		{
-			return _popUpVisible;
+			if (list) return list.visible;
+			else return false;
 		}
 		public function set popUpVisible(value:Boolean):void
 		{
-			if (value != _popUpVisible)
-			{
-				_popUpVisible = value;
-				if (value)
-				{
-					if (!_popUp)
-					{
-						var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-						_popUp = new popUpClass() as IStrand;
-					}
-					var root:Object = DisplayObject(_strand).root;
-					var host:DisplayObjectContainer = DisplayObject(_strand).parent;
-					while (host && !(host is IPopUpHost))
-						host = host.parent;
-                    if (host)
-    					IPopUpHost(host).addElement(popUp as IChild);
+			if (value && !list.visible) {
+				var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
+				list.model = model;
+				list.width = input.width;
+				list.height = 200;
+				list.visible = true;
+				
+				var origin:Point = new Point(0, button.y+button.height);
+				var relocated:Point = PointUtils.localToGlobal(origin,_strand);
+				list.x = relocated.x
+				list.y = relocated.y;
+				COMPILE::JS {
+					list.element.style.position = "absolute";
 				}
-				else
-				{
-					DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);                    
-				}
+				
+				var popupHost:IPopUpHost = UIUtils.findPopUpHost(_strand as IUIBase);
+				popupHost.addElement(list);
+			}
+			else if (list.visible) {
+				UIUtils.removePopUp(list);
+				list.visible = false;
 			}
 		}
 		
 		/**
 		 * @private
 		 */
-		private function selectionChangeHandler(event:Event):void
+		private function handleSizeChange(event:Event):void
 		{
-			text = selectionModel.selectedItem.toString();
+			var host:UIBase = UIBase(_strand);
+			
+			input.x = 0;
+			input.y = 0;
+			if (host.isWidthSizedToContent()) {
+				input.width = 100;
+			} else {
+				input.width = host.width - 20;
+			}
+			
+			button.x = input.width;
+			button.y = 0;
+			button.width = 20;
+			button.height = input.height;
+			
+			COMPILE::JS {
+				input.element.style.position = "absolute";
+				button.element.style.position = "absolute";
+			}
+				
+			if (host.isHeightSizedToContent()) {
+				host.height = input.height;
+			}
+			if (host.isWidthSizedToContent()) {
+				host.width = input.width + button.width;
+			}
 		}
 		
 		/**
 		 * @private
 		 */
-		private function textChangeHandler(event:Event):void
-		{	
-			var newEvent:Event = new Event("change");
-			IEventDispatcher(strand).dispatchEvent(newEvent);
+		private function handleItemChange(event:Event):void
+		{
+			var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
+			input.text = model.selectedItem as String;
 		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
index d62e799..ac723a9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
@@ -17,18 +17,20 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
-{		
+{
 	import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.ContainerBase;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
+	import org.apache.flex.core.IChild;
 	import org.apache.flex.core.IContainer;
 	import org.apache.flex.core.IContainerView;
 	import org.apache.flex.core.IContentViewHost;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.IParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
@@ -39,37 +41,40 @@
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.geom.Size;
+	import org.apache.flex.geom.Size;
+	import org.apache.flex.html.Container;
 	import org.apache.flex.html.beads.models.ViewportModel;
 	import org.apache.flex.html.supportClasses.Border;
 	import org.apache.flex.html.supportClasses.ContainerContentArea;
 	import org.apache.flex.html.supportClasses.Viewport;
 	import org.apache.flex.utils.CSSContainerUtils;
-    
+
 	/**
 	 * This class creates and manages the contents of a Container. On the ActionScript
 	 * side, a Container has a contentView into which the offical children can be
 	 * placed. When adding an element that implements IChrome, that element is not
 	 * placed into the contentView, but is made a child of the Container directly.
-	 * 
+	 *
 	 * Containers also have a layout associated with them which controls the size and
 	 * placement of the elements in the contentView. When a Container does not have an
 	 * explicit size (including a percent size), the content dictates the size of the
 	 * Container.
-     *  
+     *
+	 *  @viewbead
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
 	 */
-	public class ContainerView extends BeadViewBase implements IBeadView, IContainerView, ILayoutHost
+	COMPILE::SWF
+	public class ContainerView extends GroupView
 	{
 		/**
      	 *  The ContainerView class is the default view for
          *  the org.apache.flex.core.ContainerBase classes.
          *  It lets you use some CSS styles to manage the border, background
          *  and padding around the content area.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -78,41 +83,26 @@
 		public function ContainerView()
 		{
 			super();
-			
-			layoutRunning = false;
 		}
-		
+
 		/**
 		 * The sub-element used as the parent of the container's elements. This does not
 		 * include the chrome elements.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get contentView():IParentIUIBase
+		override public function get contentView():ILayoutView
 		{
-			return viewport.contentView as IParentIUIBase;
+			return viewport.contentView as ILayoutView;
 		}
-		
-		/**
-		 * The view that can be resized.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get resizableView():IUIBase
-		{
-			return host;
-		}
-		
+
 		/**
 		 * The viewport used to present the content and may display
 		 * scroll bars (depending on the actual type of viewport).
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -122,11 +112,11 @@
 		{
 			return _viewport;
 		}
-		
+
 		/**
 		 * The data model used by the viewport to determine how it should
 		 * present the content area.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -136,62 +126,14 @@
 		{
 			return _viewportModel;
 		}
-		
+
 		private var _viewportModel:IViewportModel;
 		private var _viewport:IViewport;
 		private var layoutRunning:Boolean;
-		
-		/**
-		 * @private
-		 */
-		public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			contentView.addElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			contentView.addElementAt(c, index, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		public function getElementIndex(c:IChild):int
-		{
-			return contentView.getElementIndex(c);
-		}
-		
-		/**
-		 * @private
-		 */
-		public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			contentView.removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		public function get numElements():int
-		{
-			return contentView.numElements;
-		}
-		
-		/**
-		 * @private
-		 */
-		public function getElementAt(index:int):IChild
-		{
-			return contentView.getElementAt(index);
-		}
-		
+
 		/**
 		 * Strand setter.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -200,127 +142,37 @@
 		override public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			super.strand = value;
-			
+
             createViewport();
-			
-			(host as IContentViewHost).strandChildren.addElement(viewport.contentView, false);
-			
-			displayBackgroundAndBorder(host as UIBase);
-			
-			// listen for initComplete to signal that the strand is set with its size
-			// and beads.
-			host.addEventListener("initComplete", initCompleteHandler);
+
+			var chost:IContainer = host as IContainer;
+			chost.strandChildren.addElement(viewport.contentView);
+
+			super.strand = value;
 		}
-		
-		/**
-		 * Handles the initComplete event by completing the setup and kicking off the
-		 * presentation of the Container.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function initCompleteHandler(event:Event):void
-		{
-            var ilc:ILayoutChild = host as ILayoutChild;
-			// Complete the setup if the height is sized to content or has been explicitly set
-            // and the width is sized to content or has been explicitly set
-			if ((ilc.isHeightSizedToContent() || !isNaN(ilc.explicitHeight)) &&
-                (ilc.isWidthSizedToContent() || !isNaN(ilc.explicitWidth))) {
-				completeSetup();
-				
-				var num:Number = contentView.numElements;
-				if (num > 0) performLayout(event);
-			}
-			else {
-				// otherwise, wait until the unknown sizes have been set and then finish
-				host.addEventListener("sizeChanged", deferredSizeHandler);
-                host.addEventListener("widthChanged", deferredSizeHandler);
-                host.addEventListener("heightChanged", deferredSizeHandler);
-			}
-		}
-		
-		/**
-		 * Handles the case where the size of the host is not immediately known, usually do
-		 * to one of its dimensions being indicated as a percent size.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		private function deferredSizeHandler(event:Event):void
-		{
-            host.removeEventListener("sizeChanged", deferredSizeHandler);
-            host.removeEventListener("widthChanged", deferredSizeHandler);
-            host.removeEventListener("heightChanged", deferredSizeHandler);
-			completeSetup();
-			
-			var num:Number = contentView.numElements;
-			if (num > 0) 
-            {
-                performLayout(event);
-            }
-		}
-		
+
 		/**
 		 * Called when the host is ready to complete its setup (usually after its size has been
 		 * determined).
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected function completeSetup():void
+		override protected function completeSetup():void
 		{
+			super.completeSetup();
+
 			// when the first layout is complete, set up listeners for changes
 			// to the childrens' sizes.
-			host.addEventListener("layoutComplete", childrenChangedHandler);
-			
-			host.addEventListener("childrenAdded", performLayout);
-			host.addEventListener("layoutNeeded", performLayout);
-			host.addEventListener("widthChanged", resizeHandler);
-			host.addEventListener("heightChanged", resizeHandler);
-			host.addEventListener("sizeChanged", resizeHandler);
-			host.addEventListener("viewCreated", viewCreatedHandler);
+//			host.addEventListener("layoutComplete", childrenChangedHandler);
 		}
-		
-		/**
-		 * Handles the viewCreated event by performing the first layout if
-		 * there are children already present (ie, from MXML).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function viewCreatedHandler(event:Event):void
-		{			
-			if ((host as UIBase).numElements > 0) {
-				performLayout(null);
-			}
-		}
-		
-        /**
-         * Calculate the space taken up by non-content children like a TItleBar in a Panel.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected function getChromeMetrics():Rectangle
-        {
-            return new Rectangle(0, 0, 0, 0);
-        }
-        
+
 		/**
 		 * Creates the Viewport (or ScrollableViewport) through which the content
 		 * area is presented.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -340,7 +192,7 @@
                     }
                 }
 			}
-			
+
 			if (viewport == null) {
 				_viewport = _strand.getBeadByType(IViewport) as IViewport;
 				if (viewport == null) {
@@ -351,72 +203,48 @@
 						_strand.addBead(viewport);
 					}
 				}
-			}			
+			}
+		}
+
+		/**
+		 * Calculate the space taken up by non-content children like a TitleBar in a Panel.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		protected function getChromeMetrics():Rectangle
+		{
+			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+			return paddingMetrics;
 		}
 		
 		/**
 		 *  Positions the viewport, then sets any known sizes of the Viewport prior
          *  to laying out its content.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected function layoutViewBeforeContentLayout():void
+		override public function beforeLayout():void
 		{
             var host:ILayoutChild = this.host as ILayoutChild;
             var vm:IViewportModel = viewportModel;
+			var hostWidth:Number = host.width;
+			var hostHeight:Number = host.height;
+
             vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
-            vm.chromeMetrics = getChromeMetrics();
-            viewport.setPosition(vm.borderMetrics.left + vm.chromeMetrics.left,
-                                 vm.borderMetrics.top + vm.chromeMetrics.top)
-            viewport.layoutViewportBeforeContentLayout(
-                !host.isWidthSizedToContent() ? 
-			        host.width - vm.borderMetrics.left - vm.borderMetrics.right -
-                        vm.chromeMetrics.left - vm.chromeMetrics.right : NaN,
-                !host.isHeightSizedToContent() ? 
-                    host.height - vm.borderMetrics.top - vm.borderMetrics.bottom -
-                        vm.chromeMetrics.top - vm.chromeMetrics.bottom : NaN);
-			
+
+            viewport.setPosition(vm.borderMetrics.left, vm.borderMetrics.top);
+
+			viewport.layoutViewportBeforeContentLayout(
+				host.isWidthSizedToContent() ? NaN : hostWidth - vm.borderMetrics.left - vm.borderMetrics.right,
+				host.isHeightSizedToContent() ? NaN : hostHeight - vm.borderMetrics.top - vm.borderMetrics.bottom);
 		}
-		
-		/**
-		 * Executes the layout associated with this container. Once the layout has been
-		 * run, it may affect the size of the host or may cause the host to present scroll
-		 * bars view its viewport.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function performLayout(event:Event):void
-		{
-			layoutRunning = true;
-			
-			layoutViewBeforeContentLayout();
-			
-			var host:UIBase = _strand as UIBase;
-			
-			var layout:IBeadLayout = _strand.getBeadByType(IBeadLayout) as IBeadLayout;
-			if (layout == null) {
-				var c:Class = ValuesManager.valuesImpl.getValue(host, "iBeadLayout");
-				if (c) {
-					layout = new c() as IBeadLayout;
-					_strand.addBead(layout);
-				}
-			}
-			
-			if (layout) {
-				layout.layout();
-			}
-			
-			layoutViewAfterContentLayout();
-			
-			layoutRunning = false;
-		}
-		
+
 		/**
 		 * @private
 		 */
@@ -425,128 +253,137 @@
 		/**
 		 * Adjusts the size of the host, or adds scrollbars to the viewport, after
 		 * the layout has been run.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected function layoutViewAfterContentLayout():void
+		override public function afterLayout():void
 		{
-			var host:UIBase = _strand as UIBase;
-            var vm:IViewportModel = viewportModel;
-            
+			if (adjusting) return;
+
 			adjusting = true;
-			
-            var viewportSize:Size = viewport.layoutViewportAfterContentLayout();
-            
-			if (host.isWidthSizedToContent() && host.isHeightSizedToContent()) {					
-				host.setWidthAndHeight(viewportSize.width + vm.borderMetrics.left + vm.borderMetrics.right +
-                                           vm.chromeMetrics.left + vm.chromeMetrics.right, 
-					                   viewportSize.height + vm.borderMetrics.top + vm.borderMetrics.bottom +
-                                           vm.chromeMetrics.top + vm.chromeMetrics.bottom,
-                                       false);
-			}
-			else if (!host.isWidthSizedToContent() && host.isHeightSizedToContent())
-			{
-				host.setHeight(viewportSize.height + vm.borderMetrics.top + vm.borderMetrics.bottom +
-                    vm.chromeMetrics.top + vm.chromeMetrics.bottom, false);
-			}
-			else if (host.isWidthSizedToContent() && !host.isHeightSizedToContent())
-			{
-				host.setWidth(viewportSize.width + vm.borderMetrics.left + vm.borderMetrics.right +
-                    vm.chromeMetrics.left + vm.chromeMetrics.right, false);
-			}			
+
+			super.afterLayout();
+
+			var contentSize:Size = calculateContentSize();
+			viewport.layoutViewportAfterContentLayout(contentSize);
+
 			adjusting = false;
 		}
-		
+
 		/**
 		 * Handles dynamic changes to the host's size by running the layout once
 		 * the viewport has been adjusted.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected function resizeHandler(event:Event):void
-		{
-			if (!adjusting) {
-				performLayout(event);
-			}
-		}
-		
+//		override protected function resizeHandler(event:Event):void
+//		{
+//			if (!adjusting) {
+//				performLayout(event);
+//			}
+//		}
+
 		/**
 		 * Whenever children are added, listeners are added to detect changes
-		 * in their size. 
-		 *  
+		 * in their size.
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected function childrenChangedHandler(event:Event):void
-		{
-			var host:UIBase = _strand as UIBase;
-			host.removeEventListener(event.type, childrenChangedHandler);
-			
-			var n:Number = contentView.numElements;
-			for (var i:int=0; i < n; i++) {
-				var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-				child.addEventListener("widthChanged", childResizeHandler);
-				child.addEventListener("heightChanged", childResizeHandler);
-				child.addEventListener("sizeChanged", childResizeHandler);
-			}
-		}
-				
+//		protected function childrenChangedHandler(event:Event):void
+//		{
+//			var host:UIBase = _strand as UIBase;
+//			host.removeEventListener(event.type, childrenChangedHandler);
+//
+//			var n:Number = contentView.numElements;
+//			for (var i:int=0; i < n; i++) {
+//				var child:IUIBase = contentView.getElementAt(i) as IUIBase;
+//				child.addEventListener("widthChanged", childResizeHandler);
+//				child.addEventListener("heightChanged", childResizeHandler);
+//				child.addEventListener("sizeChanged", childResizeHandler);
+//			}
+//		}
+	}
+
+	COMPILE::JS
+	public class ContainerView extends GroupView //??implements IParent
+	{
+		private var _viewport:IViewport;
+
 		/**
-		 * This event handles changes to the size of children of the container by running
-		 * the layout again and adjusting the size of the container or viewport as necessary. 
-		 *  
+		 * The viewport used to present the content and may display
+		 * scroll bars (depending on the actual type of viewport).
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected function childResizeHandler(event:Event):void
+		protected function get viewport():IViewport
 		{
-			// during this process we don't want the layout to trigger
-			// an endless event chain should any children get resized
-			// by the layout.
-			if (layoutRunning) return;			
-			performLayout(event);
+			return _viewport;
 		}
 		
-		protected function displayBackgroundAndBorder(host:UIBase) : void
+		/**
+		 * The sub-element used as the parent of the container's elements. This does not
+		 * include the chrome elements.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function get contentView():ILayoutView
 		{
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(host, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (host.getBeadByType(IBackgroundBead) == null)
-					var c:Class = ValuesManager.valuesImpl.getValue(host, "iBackgroundBead");
-				if (c) {
-					host.addBead( new c() as IBead );
+			if (viewport != null) {
+				return viewport.contentView as ILayoutView;
+			} else {
+				return host as ILayoutView;
+			}
+		}
+
+		/**
+		 * Strand setter.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			super.strand = value;
+
+			var c:Class;
+
+			if (viewport == null) {
+				_viewport = _strand.getBeadByType(IViewport) as IViewport;
+				if (viewport == null) {
+					c = ValuesManager.valuesImpl.getValue(host, "iViewport");
+					if (c)
+					{
+						_viewport = new c() as IViewport;
+						_strand.addBead(viewport);
+					}
 				}
 			}
 			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(host, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(host, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (host.getBeadByType(IBorderBead) == null) {
-					c = ValuesManager.valuesImpl.getValue(host, "iBorderBead");
-					if (c) {
-						host.addBead( new c() as IBead );
-					}
+			if (viewport != null) {
+				var chost:IContainer = host as IContainer;
+				// add the viewport's contentView to this host ONLY if
+				// the contentView is not the host itself, which is likely
+				// most situations.
+				if (chost != viewport.contentView) {
+					chost.addElement(viewport.contentView);
 				}
 			}
 		}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as
index 8393057..3b387d9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as
@@ -18,249 +18,283 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.ISelectableItemRenderer;
+	import org.apache.flex.core.IDataGridPresentationModel;
 	import org.apache.flex.core.ISelectionModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.html.DataGrid;
 	import org.apache.flex.html.DataGridButtonBar;
 	import org.apache.flex.html.Container;
 	import org.apache.flex.html.beads.layouts.ButtonBarLayout;
-	import org.apache.flex.html.beads.layouts.VerticalLayout;
-	import org.apache.flex.html.beads.layouts.HorizontalLayout;
-	import org.apache.flex.html.beads.layouts.IDataGridLayout;
-	import org.apache.flex.html.beads.models.ArraySelectionModel;
-	import org.apache.flex.html.beads.models.DataGridPresentationModel;
+	import org.apache.flex.html.beads.models.ButtonBarModel;
 	import org.apache.flex.html.supportClasses.DataGridColumn;
 	import org.apache.flex.html.supportClasses.DataGridColumnList;
-	import org.apache.flex.html.supportClasses.ScrollingViewport;
 	import org.apache.flex.html.supportClasses.Viewport;
-
-	/**
-	 *  The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
-	 *  This class constructs the items that make the DataGrid: Lists for each column and a
-	 *  org.apache.flex.html.ButtonBar for the column headers.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridView implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridView()
-		{
-		}
-
-		private var _strand:IStrand;
-		private var _header:DataGridButtonBar;
-		private var _listArea:Container;
-		
-		private var _lists:Array;
-		
-		/**
-		 * An array of List objects the comprise the columns of the DataGrid.
-		 */
-		public function get columnLists():Array
-		{
-			return _lists;
-		}
-		
-		/**
-		 * The area used to hold the columns
-		 *
-		 */
-		public function get listArea():Container
-		{
-			return _listArea;
-		}
-
-		/**
-		 * @private
-		 */
-		public function get host():IUIBase
-		{
-			return _strand as IUIBase;
-		}
-		
-		/**
-		 * Returns the component used as the header for the DataGrid.
-		 */
-		public function get header():IUIBase
-		{
-			return _header;
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-			var host:UIBase = value as UIBase;
-
-			_header = new DataGridButtonBar();
-			_header.id = "dataGridHeader";
-
-			var scrollPort:ScrollingViewport = new ScrollingViewport();
-
-			_listArea = new Container();
-			_listArea.id = "dataGridListArea";
-			_listArea.className = "DataGridListArea";
-			_listArea.addBead(scrollPort);
-			
-			if (_strand.getBeadByType(IBeadLayout) == null) {
-				var c:Class = ValuesManager.valuesImpl.getValue(host, "iBeadLayout");
-				if (c)
-				{
-					var layout:IBeadLayout = new c() as IBeadLayout;
-					_strand.addBead(layout);
-				}
-			}
-
-			finishSetup(null);
-		}
-
-		/**
-		 * @private
-		 */
-		private function finishSetup(event:Event):void
-		{
-			var host:UIBase = _strand as UIBase;
-
-			// see if there is a presentation model already in place. if not, add one.
-			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
-			if (presentationModel == null) {
-				presentationModel = new DataGridPresentationModel();
-				_strand.addBead(presentationModel);
-			}
-
-			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-			IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
-
-			var columnLabels:Array = new Array();
-
-			for(var i:int=0; i < sharedModel.columns.length; i++) {
-				var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-				columnLabels.push(dgc.label);
-			}
-
-			var bblayout:ButtonBarLayout = new ButtonBarLayout();
-			var buttonBarModel:ArraySelectionModel = new ArraySelectionModel();
-			buttonBarModel.dataProvider = columnLabels;
-
-			_header.addBead(buttonBarModel);
-			_header.addBead(bblayout);
-			_header.addBead(new Viewport());
-			host.addElement(_header);
-
-			host.addElement(_listArea);
-
-			handleDataProviderChanged(event);
-		}
-
-		/**
-		 * @private
-		 */
-		private function handleSizeChanges(event:Event):void
-		{	
-			var layoutBead:IDataGridLayout = _strand.getBeadByType(IBeadLayout) as IDataGridLayout;
-			layoutBead.header = _header;
-			layoutBead.columns = _lists;
-			layoutBead.listArea = _listArea;
-			layoutBead.layout();
-		}
-
-		/**
-		 * @private
-		 */
-		private function handleDataProviderChanged(event:Event):void
-		{
-			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-
-			if (_lists == null || _lists.length == 0) {
-				createLists();
-			}
-
-			for (var i:int=0; i < _lists.length; i++)
-			{
-				var list:DataGridColumnList = _lists[i] as DataGridColumnList;
-				var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
-				listModel.dataProvider = sharedModel.dataProvider;
-			}
-
-			host.dispatchEvent(new Event("layoutNeeded"));
-		}
-
-		/**
-		 * @private
-		 */
-		private function handleColumnListChange(event:Event):void
-		{
-			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-			var list:DataGridColumnList = event.target as DataGridColumnList;
-			sharedModel.selectedIndex = list.selectedIndex;
-
-			for(var i:int=0; i < _lists.length; i++) {
-				if (list != _lists[i]) {
-					var otherList:DataGridColumnList = _lists[i] as DataGridColumnList;
-					otherList.selectedIndex = list.selectedIndex;
-				}
-			}
-
-			host.dispatchEvent(new Event('change'));
-		}
-
-		/**
-		 * @private
-		 */
-		private function createLists():void
-		{
-			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
-			var listWidth:Number = host.width / sharedModel.columns.length;
-
-			_lists = new Array();
-
-			for (var i:int=0; i < sharedModel.columns.length; i++) {
-				var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-
-				var list:DataGridColumnList = new DataGridColumnList();
-				list.id = "dataGridColumn"+String(i);
-				list.addBead(sharedModel);
-				list.itemRenderer = dataGridColumn.itemRenderer;
-				list.labelField = dataGridColumn.dataField;
-				list.addEventListener('change',handleColumnListChange);
-				list.addBead(presentationModel);
-
-				_listArea.addElement(list);
-				_lists.push(list);
-			}
-
-			host.dispatchEvent(new Event("layoutNeeded"));
-		}
+	
+	COMPILE::SWF {
+		import org.apache.flex.core.SimpleCSSStyles;
 	}
+		
+		/**
+		 *  The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
+		 *  This class constructs the items that make the DataGrid: Lists for each column and a
+		 *  org.apache.flex.html.ButtonBar for the column headers.
+		 *
+		 *  @viewbead
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public class DataGridView extends GroupView implements IBeadView
+		{
+			/**
+			 *  constructor.
+			 *
+			 *  @langversion 3.0
+			 *  @playerversion Flash 10.2
+			 *  @playerversion AIR 2.6
+			 *  @productversion FlexJS 0.0
+			 */
+			public function DataGridView()
+			{
+				super();
+			}
+			
+			private var _strand:IStrand;
+			private var _header:DataGridButtonBar;
+			private var _listArea:Container;
+			
+			private var _lists:Array;
+			
+			/**
+			 * An array of List objects the comprise the columns of the DataGrid.
+			 */
+			public function get columnLists():Array
+			{
+				return _lists;
+			}
+			
+			/**
+			 * The area used to hold the columns
+			 *
+			 */
+			public function get listArea():Container
+			{
+				return _listArea;
+			}
+			
+			/**
+			 * Returns the component used as the header for the DataGrid.
+			 */
+			public function get header():IUIBase
+			{
+				return _header;
+			}
+			
+			/**
+			 *  @copy org.apache.flex.core.IBead#strand
+			 *
+			 *  @langversion 3.0
+			 *  @playerversion Flash 10.2
+			 *  @playerversion AIR 2.6
+			 *  @productversion FlexJS 0.0
+			 */
+			override public function set strand(value:IStrand):void
+			{
+				super.strand = value;
+				_strand = value;
+				
+				var host:DataGrid = value as DataGrid;
+				
+				_header = new DataGridButtonBar();
+				_header.height = 30;
+				_header.percentWidth = 100;
+				
+				_listArea = new Container();
+				_listArea.percentWidth = 100;
+				_listArea.className = "DataGridListArea";
+				
+				COMPILE::SWF {
+					_header.style = new SimpleCSSStyles();
+					_header.style.flexGrow = 0;
+					
+					_listArea.style = new SimpleCSSStyles();
+					_listArea.style.flexGrow = 1;
+				}
+				COMPILE::JS {
+					_header.element.style["flex-grow"] = "0";
+					_header.element.style["min-height"] = "30px";
+					_listArea.element.style["flex-grow"] = "1";
+				}
+				
+				IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
+			}
+			
+			/**
+			 * @private
+			 */
+			private function finishSetup(event:Event):void
+			{
+				var host:DataGrid = _strand as DataGrid;
+				
+				if (_lists == null || _lists.length == 0) {
+					createLists();
+				}
+				
+				// see if there is a presentation model already in place. if not, add one.
+				var presentationModel:IDataGridPresentationModel = host.presentationModel;
+				var sharedModel:IDataGridModel = host.model as IDataGridModel;
+				IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
+				IEventDispatcher(sharedModel).addEventListener("selectedIndexChanged", handleSelectedIndexChanged);
+				
+				var columnLabels:Array = new Array();
+				var buttonWidths:Array = new Array();
+				
+				var marginBorderOffset:int = 0;
+				COMPILE::SWF {
+					marginBorderOffset = 1;
+				}
+					
+				for(var i:int=0; i < sharedModel.columns.length; i++) {
+					var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+					columnLabels.push(dgc.label);
+					var colWidth:Number = dgc.columnWidth - marginBorderOffset;
+					buttonWidths.push(colWidth);
+					
+					var list:DataGridColumnList = _lists[i] as DataGridColumnList;
+					if (!isNaN(colWidth)) {
+						list.width = Number(colWidth - marginBorderOffset);
+					} else {
+						COMPILE::SWF {
+							list.style = new SimpleCSSStyles();
+							list.style.flexGrow = 1;
+						}
+							COMPILE::JS {
+								list.element.style["flex-grow"] = "1";
+							}
+					}
+				}
+					
+				var bblayout:ButtonBarLayout = new ButtonBarLayout();
+				_header.buttonWidths = buttonWidths
+				_header.widthType = ButtonBarModel.PIXEL_WIDTHS;
+				_header.dataProvider = columnLabels;
+				_header.addBead(bblayout);
+				_header.addBead(new Viewport());
+				host.addElement(_header);
+				
+				host.addElement(_listArea);
+				
+				handleDataProviderChanged(event);
+				
+				host.addEventListener("widthChanged", handleSizeChanges);
+				host.addEventListener("heightChanged", handleSizeChanges);
+			}
+			
+			/**
+			 * @private
+			 */
+			private function handleSizeChanges(event:Event):void
+			{	
+				_header.dispatchEvent(new Event("layoutChanged"));
+				_listArea.dispatchEvent(new Event("layoutChanged"));
+			}
+			
+			/**
+			 * @private
+			 */
+			private function handleDataProviderChanged(event:Event):void
+			{
+				var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+				
+				for (var i:int=0; i < _lists.length; i++)
+				{
+					var list:DataGridColumnList = _lists[i] as DataGridColumnList;
+					var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
+					listModel.dataProvider = sharedModel.dataProvider;
+				}
+				
+				host.dispatchEvent(new Event("layoutNeeded"));
+			}
+			
+			/**
+			 * @private
+			 */
+			private function handleSelectedIndexChanged(event:Event):void
+			{
+				var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+				var newIndex:int = sharedModel.selectedIndex;
+				
+				for (var i:int=0; i < _lists.length; i++)
+				{
+					var list:DataGridColumnList = _lists[i] as DataGridColumnList;
+					list.selectedIndex = newIndex;
+				}
+			}
+			
+			/**
+			 * @private
+			 */
+			private function handleColumnListChange(event:Event):void
+			{
+				var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+				var list:DataGridColumnList = event.target as DataGridColumnList;
+				sharedModel.selectedIndex = list.selectedIndex;
+				
+				for(var i:int=0; i < _lists.length; i++) {
+					if (list != _lists[i]) {
+						var otherList:DataGridColumnList = _lists[i] as DataGridColumnList;
+						otherList.selectedIndex = list.selectedIndex;
+					}
+				}
+				
+				host.dispatchEvent(new Event('change'));
+			}
+			
+			/**
+			 * @private
+			 */
+			private function createLists():void
+			{
+				var host:DataGrid = _strand as DataGrid;
+				
+				var sharedModel:IDataGridModel = host.model as IDataGridModel;
+				var presentationModel:IDataGridPresentationModel = host.presentationModel;
+				
+				_lists = new Array();
+				
+				for (var i:int=0; i < sharedModel.columns.length; i++) {
+					var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+					
+					var list:DataGridColumnList = new DataGridColumnList();
+					list.id = "dataGridColumn"+String(i);
+					list.addBead(sharedModel);
+					list.itemRenderer = dataGridColumn.itemRenderer;
+					list.labelField = dataGridColumn.dataField;
+					list.addEventListener('change',handleColumnListChange);
+					list.addBead(presentationModel);
+					
+					if (i == 0) {
+						list.className = "first";
+					} else if (i == sharedModel.columns.length-1) {
+						list.className = "last";
+					} else {
+						list.className = "middle";
+					}
+					
+					_listArea.addElement(list);
+					_lists.push(list);
+				}
+				
+				host.dispatchEvent(new Event("layoutNeeded"));
+			}
+		}
 }
 
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
index fdfd9b3..bcd837b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
@@ -24,7 +24,7 @@
 	import org.apache.flex.core.IItemRendererParent;
 	import org.apache.flex.core.IListPresentationModel;
 	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IDataProviderModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.SimpleCSSStyles;
@@ -36,6 +36,11 @@
 	import org.apache.flex.events.ItemRendererEvent;
 	import org.apache.flex.html.List;
 	
+	import org.apache.flex.core.IList;
+	import org.apache.flex.core.IChild;
+	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.IParentIUIBase;
+	
 	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
 	
     /**
@@ -64,11 +69,11 @@
 		{
 			super(target);
 		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var labelField:String;
-		
+
+		protected var dataProviderModel:IDataProviderModel;
+
+		protected var labelField:String;
+
 		private var _strand:IStrand;
 		
         /**
@@ -82,21 +87,22 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
 			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
 		}
 		
+		/**
+		 * @private
+		 */
 		private function finishSetup(event:Event):void
-		{
-			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+		{			
+			dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
+			dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			labelField = dataProviderModel.labelField;
 			
-			labelField = (listView.host as List).labelField;
-			
-			if (!itemRendererFactory)
-			{
+			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
+			// already have been loaded by DataContainerBase.addedToParent function.
+			_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+			if (itemRendererFactory == null) {
 				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
 				_strand.addBead(_itemRendererFactory);
 			}
@@ -136,24 +142,25 @@
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
-         */
-		protected var dataGroup:IItemRendererParent;
-		
-		private function dataProviderChangeHandler(event:Event):void
+         */		
+		protected function dataProviderChangeHandler(event:Event):void
 		{
-			var dp:Array = selectionModel.dataProvider as Array;
+			var dp:Array = dataProviderModel.dataProvider as Array;
 			if (!dp)
 				return;
 			
-			dataGroup.removeAllElements();
+			var list:IList = _strand as IList;
+			var dataGroup:IItemRendererParent = list.dataGroup;
 			
-			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+			dataGroup.removeAllItemRenderers();
+			
 			var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
 			
 			var n:int = dp.length; 
 			for (var i:int = 0; i < n; i++)
 			{				
 				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+				dataGroup.addItemRenderer(ir);
 				ir.index = i;
 				ir.labelField = labelField;
 				if (presentationModel) {
@@ -161,8 +168,8 @@
 					style.marginBottom = presentationModel.separatorThickness;
 					UIBase(ir).style = style;
 					UIBase(ir).height = presentationModel.rowHeight;
+					UIBase(ir).percentWidth = 100;
 				}
-				dataGroup.addElement(ir);
 				ir.data = dp[i];
 				
 				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
index 42b159c..c35f07f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
@@ -25,7 +25,7 @@
 	import org.apache.flex.core.IItemRendererParent;
 	import org.apache.flex.core.IListPresentationModel;
 	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IDataProviderModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.SimpleCSSStyles;
@@ -35,7 +35,8 @@
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.events.ItemRendererEvent;
-	import org.apache.flex.html.List;
+	//import org.apache.flex.html.List;
+	import org.apache.flex.core.IList;
 	
 	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
 	
@@ -66,7 +67,7 @@
 			super(target);
 		}
 		
-		protected var selectionModel:ISelectionModel;
+		protected var dataProviderModel:IDataProviderModel;
 		
 		protected var labelField:String;
 		
@@ -83,26 +84,21 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
 			IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
 		}
 		
 		private function finishSetup(event:Event):void
-		{
-			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+		{			
+			dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
+			dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			labelField = dataProviderModel.labelField;
 			
-			labelField = (listView.host as List).labelField;
-			
-			if (!itemRendererFactory)
-			{
-				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-				if (_itemRendererFactory == null) {
-					_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-					_strand.addBead(_itemRendererFactory);
-				}
+			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
+			// already have been loaded by DataContainerBase.addedToParent function.
+			_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+			if (itemRendererFactory == null) {
+				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+				_strand.addBead(_itemRendererFactory);
 			}
 			
 			dataProviderChangeHandler(null);
@@ -132,17 +128,6 @@
 			_itemRendererFactory = value;
 		}
 		
-        /**
-         *  The org.apache.flex.core.IItemRendererParent that will
-         *  parent the item renderers.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected var dataGroup:IItemRendererParent;
-		
 		/**
 		 * @private
 		 */
@@ -158,29 +143,29 @@
 		 */
 		protected function dataProviderChangeHandler(event:Event):void
 		{
-			var dp:IArrayList = selectionModel.dataProvider as IArrayList;
+			var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
 			if (!dp)
 				return;
 			
-			dataGroup.removeAllElements();
+			var list:IList = _strand as IList;
+			var dataGroup:IItemRendererParent = list.dataGroup;
 			
-			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+			dataGroup.removeAllItemRenderers();
+			
 			var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
 			
 			var n:int = dp.length; 
 			for (var i:int = 0; i < n; i++)
 			{				
 				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+				dataGroup.addItemRenderer(ir);
 				if (presentationModel) {
-					UIBase(ir).height = presentationModel.rowHeight;
-					
-					// ensure that the IR spans the width of its column
 					var style:SimpleCSSStyles = new SimpleCSSStyles();
-					style.right = 0;
-					style.left = 0;
+					style.marginBottom = presentationModel.separatorThickness;
 					UIBase(ir).style = style;
+					UIBase(ir).height = presentationModel.rowHeight;
+					UIBase(ir).percentWidth = 100;
 				}
-				dataGroup.addElement(ir);
 				setData(ir, dp.getItemAt(i), i);
 				
 				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
index d399cfb..554a9c9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
@@ -24,6 +24,7 @@
 	import org.apache.flex.core.IDataProviderItemRendererMapper;
 	import org.apache.flex.core.IItemRendererClassFactory;
 	import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.IList;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
@@ -69,13 +70,21 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			selectionModel = value.getBeadByType(IDataGridModel) as IDataGridModel;
-			var listView:IListView = value.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
+			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
+		}
+		
+		/**
+		 * @private
+		 */
+		private function finishSetup(event:Event):void
+		{			
+			selectionModel = _strand.getBeadByType(IDataGridModel) as IDataGridModel;
 			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 			
-			if (!itemRendererFactory)
-			{
+			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
+			// already have been loaded by DataContainerBase.addedToParent function.
+			_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+			if (itemRendererFactory == null) {
 				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
 				_strand.addBead(_itemRendererFactory);
 			}
@@ -110,7 +119,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		protected var dataGroup:IItemRendererParent;
+//		protected var dataGroup:IItemRendererParent;
 		
 		/**
 		 * @private
@@ -121,8 +130,11 @@
 			if (!dp)
 				return;
 			
-			dataGroup.removeAllElements();
+			var list:IList = _strand as IList;
+			var dataGroup:IItemRendererParent = list.dataGroup;
 			
+			dataGroup.removeAllItemRenderers();
+						
 			var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
 			if (view == null) return;
 						
@@ -130,9 +142,9 @@
 			for (var i:int = 0; i < n; i++)
 			{
 				var tf:DataItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as DataItemRenderer;
+				dataGroup.addItemRenderer(tf);
 				tf.index = i;
 				tf.labelField = view.column.dataField;
-				dataGroup.addElement(tf);
 				tf.data = dp[i];
 			}
 			
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
index 5c9c59c..1cf4f57 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
@@ -24,7 +24,7 @@
 	import org.apache.flex.core.IItemRendererParent;
 	import org.apache.flex.core.IListPresentationModel;
 	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IDataProviderModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.SimpleCSSStyles;
@@ -95,7 +95,7 @@
 		override protected function setData(ir:ISelectableItemRenderer, data:Object, index:int):void
 		{
 			// Set the listData with the depth of this item
-			var flatList:FlattenedList = selectionModel.dataProvider as FlattenedList;
+			var flatList:FlattenedList = dataProviderModel.dataProvider as FlattenedList;
 			var depth:int = flatList.getDepth(data);
 			var isOpen:Boolean = flatList.isOpen(data);
 			var hasChildren:Boolean = flatList.hasChildren(data);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
index a24810b..e8c28bd 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
@@ -18,17 +18,13 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IDocument;
 	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.collections.ArrayList;
-	
-	/**
+    import org.apache.flex.html.supportClasses.DataProviderNotifierBase;
+
+    /**
 	 *  The DataProviderChangeNotifier notifies listeners when a selection model's
 	 *  ArrayList dataProvider has changed.
 	 *  
@@ -37,7 +33,7 @@
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class DataProviderChangeNotifier implements IBead, IDocument
+	public class DataProviderChangeNotifier extends DataProviderNotifierBase
 	{
 		/**
 		 *  constructor.
@@ -51,144 +47,31 @@
 		{
 		}
 		
-		protected var _dataProvider:ArrayList;
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
+		override protected function destinationChangedHandler(event:Event):void
 		{
-			_strand = value;
-			
-			if (_strand[destinationPropertyName] == null) {
-				var model:IBeadModel = UIBase(_strand).model as IBeadModel;
-				IEventDispatcher(model).addEventListener(changeEventName, destinationChangedHandler);
-			}
-			else {
-				destinationChangedHandler(null);
-			}
-		}
-		
-		private function destinationChangedHandler(event:Event):void
-		{
-			if (_dataProvider == null) {
+			if (dataProvider == null)
+			{
 				var object:Object = document[sourceID];
-				_dataProvider = object[propertyName] as ArrayList;
+				dataProvider = object[propertyName] as ArrayList;
 			}
-			else {
-				_dataProvider.removeEventListener("itemAdded", handleItemAdded);
-				_dataProvider.removeEventListener("itemRemoved", handleItemRemoved);
-				_dataProvider.removeEventListener("itemUpdated", handleItemUpdated);
+			else
+			{
+                dataProvider.removeEventListener("itemAdded", handleDataProviderChanges);
+                dataProvider.removeEventListener("itemRemoved", handleDataProviderChanges);
+                dataProvider.removeEventListener("itemUpdated", handleDataProviderChanges);
+                dataProvider.removeEventListener("collectionChanged", handleDataProviderChanges);
 			}
-			
-			_dataProvider.addEventListener("itemAdded", handleItemAdded);
-			_dataProvider.addEventListener("itemRemoved", handleItemRemoved);
-			_dataProvider.addEventListener("itemUpdated", handleItemUpdated);
+
+            dataProvider.addEventListener("itemAdded", handleDataProviderChanges);
+            dataProvider.addEventListener("itemRemoved", handleDataProviderChanges);
+            dataProvider.addEventListener("itemUpdated", handleDataProviderChanges);
+            dataProvider.addEventListener("collectionChanged", handleDataProviderChanges);
 		}
-		
-		protected var document:Object;
-		
-		/**
-		 * @private
-		 */
-		public function setDocument(document:Object, id:String = null):void
+
+		private function handleDataProviderChanges(event:Event):void
 		{
-			this.document = document;
-		}
-		
-		private var _destinationPropertyName:String;
-		
-		public function get destinationPropertyName():String
-		{
-			return _destinationPropertyName;
-		}
-		public function set destinationPropertyName(value:String):void
-		{
-			_destinationPropertyName = value;
-		}
-		
-		private var _changeEventName:String;
-		
-		public function get changeEventName():String
-		{
-			return _changeEventName;
-		}
-		public function set changeEventName(value:String):void
-		{
-			_changeEventName = value;
-		}
-		
-		private var _sourceID:String;
-		
-		/**
-		 *  The ID of the object holding the ArrayList, usually a model.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get sourceID():String
-		{
-			return _sourceID;
-		}
-		public function set sourceID(value:String):void
-		{
-			_sourceID = value;
-		}
-		
-		private var _propertyName:String;
-		
-		/**
-		 *  The property in the sourceID that is the ArrayList.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get propertyName():String
-		{
-			return _propertyName;
-		}
-		
-		public function set propertyName(value:String):void
-		{
-			_propertyName = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleItemAdded(event:Event):void
-		{
-			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleItemRemoved(event:Event):void
-		{
-			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleItemUpdated(event:Event):void
-		{
-			var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			selectionModel.dispatchEvent(new Event("dataProviderChanged"));
+            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+            selectionModel.dispatchEvent(new Event("dataProviderChanged"));
 		}
 	}
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
index 54b2550..ca1a0ee 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
@@ -23,24 +23,31 @@
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.SimpleCSSStyles;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.html.Container;
+	import org.apache.flex.html.Group;
+	import org.apache.flex.html.List;
 	import org.apache.flex.html.TextButton;
+	import org.apache.flex.html.beads.GroupView;
+	import org.apache.flex.html.beads.layouts.HorizontalLayout;
 	import org.apache.flex.html.beads.layouts.TileLayout;
 	import org.apache.flex.html.beads.models.DateChooserModel;
-	import org.apache.flex.html.supportClasses.DateChooserButton;
 	import org.apache.flex.html.supportClasses.DateHeaderButton;
+	import org.apache.flex.html.supportClasses.DateChooserHeader;
+	import org.apache.flex.html.supportClasses.DateChooserList;
 
 	/**
 	 * The DateChooserView class is a view bead for the DateChooser. This class
 	 * creates the elements for the DateChooser: the buttons to move between
 	 * months, the labels for the days of the week, and the buttons for each day
 	 * of the month.
+	 *  @viewbead	 
 	 */
-	public class DateChooserView extends BeadViewBase implements IBeadView
+	public class DateChooserView extends GroupView implements IBeadView
 	{
 		/**
 		 *  constructor
@@ -52,45 +59,33 @@
 		 */
 		public function DateChooserView()
 		{
+			super();
 		}
 		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
 		override public function set strand(value:IStrand):void
 		{
 			super.strand = value;
-			_strand = value;
-
-			// make sure there is a model.
+			
 			model = _strand.getBeadByType(IBeadModel) as DateChooserModel;
 			if (model == null) {
 				model = new (ValuesManager.valuesImpl.getValue(_strand,"iBeadModel")) as DateChooserModel;
 			}
 			model.addEventListener("displayedMonthChanged",handleModelChange);
 			model.addEventListener("displayedYearChanged",handleModelChange);
-
-			var host:UIBase = value as UIBase;
-			host.addEventListener("widthChanged", handleSizeChange);
-			host.addEventListener("heightChanged", handleSizeChange);
-
+			
 			createChildren();
-			layoutContents();
+			updateDisplay();
 		}
-
+		
+		private var model:DateChooserModel;
+		
 		private var _prevMonthButton:DateHeaderButton;
 		private var _nextMonthButton:DateHeaderButton;
-		private var _dayButtons:Array;
 		private var monthLabel:DateHeaderButton;
-		private var dayContainer:Container;
-
-		private var model:DateChooserModel;
-
+		private var monthButtonsContainer:Group;
+		private var dayNamesContainer:DateChooserHeader;
+		private var daysContainer:DateChooserList;
+		
 		/**
 		 *  The button that causes the previous month to be displayed by the DateChooser.
 		 *
@@ -103,7 +98,7 @@
 		{
 			return _prevMonthButton;
 		}
-
+		
 		/**
 		 *  The button that causes the next month to be displayed by the DateChooser.
 		 *
@@ -116,213 +111,136 @@
 		{
 			return _nextMonthButton;
 		}
-
-		/**
-		 * The array of DateChooserButton instances that represent each day of the month.
-		 */
-		public function get dayButtons():Array
+		
+		public function get dayList():List
 		{
-			return _dayButtons;
+			return daysContainer;
 		}
-
-		private function handleSizeChange(event:Event):void
-		{
-			layoutContents();
-		}
-
-		private function layoutContents():void
-		{
-			var sw:Number = UIBase(_strand).width;
-			var sh:Number = UIBase(_strand).height;
-
-			_prevMonthButton.x = 0;
-			_prevMonthButton.y = 0;
-
-			_nextMonthButton.x = sw - _nextMonthButton.width;
-			_nextMonthButton.y = 0;
-
-			monthLabel.x = (sw - monthLabel.width)/2;
-			monthLabel.y = 0;
-
-			dayContainer.x = 0;
-			dayContainer.y = monthLabel.y + monthLabel.height + 5;
-			dayContainer.width = sw;
-			dayContainer.height = sh - (monthLabel.height+5);
-			
-			COMPILE::SWF {
-				displayBackgroundAndBorder(_strand as UIBase);
-			}
-
-			IEventDispatcher(_strand).dispatchEvent( new Event("layoutNeeded") );
-			IEventDispatcher(dayContainer).dispatchEvent( new Event("layoutNeeded") );
-		}
-
+		
+		private const controlHeight:int = 26;
+		private const commonButtonWidth:int = 40;
+		
 		/**
 		 * @private
 		 */
 		private function createChildren():void
 		{
+			// HEADER BUTTONS
+			
+			monthButtonsContainer = new Group();
+			monthButtonsContainer.height = controlHeight;
+			monthButtonsContainer.id = "dateChooserMonthButtons";
+			monthButtonsContainer.className = "DateChooserMonthButtons";
+			monthButtonsContainer.style = new SimpleCSSStyles();
+			monthButtonsContainer.style.flexGrow = 0;
+			COMPILE::JS {
+				monthButtonsContainer.element.style["flex-grow"] = "0";
+			}
+			
 			_prevMonthButton = new DateHeaderButton();
-			_prevMonthButton.width = 40;
-			_prevMonthButton.height = 20;
+			_prevMonthButton.width = commonButtonWidth;
 			_prevMonthButton.text = "<";
-			UIBase(_strand).addElement(_prevMonthButton);
-
-			_nextMonthButton = new DateHeaderButton();
-			_nextMonthButton.width = 40;
-			_nextMonthButton.height = 20;
-			_nextMonthButton.text = ">";
-			UIBase(_strand).addElement(_nextMonthButton);
-
+			if (_prevMonthButton.style == null) {
+				_prevMonthButton.style = new SimpleCSSStyles();
+			}
+			_prevMonthButton.style.flexGrow = 0;
+			COMPILE::JS {
+				_prevMonthButton.element.style["flex-grow"] = "0";
+			}
+			monthButtonsContainer.addElement(_prevMonthButton);
+			
 			monthLabel = new DateHeaderButton();
 			monthLabel.text = "Month Here";
-			monthLabel.width = 100;
-			monthLabel.height = 20;
-			UIBase(_strand).addElement(monthLabel);
-
-			dayContainer = new Container();
-			var tileLayout:TileLayout = new TileLayout();
-			dayContainer.addBead(tileLayout);
-            UIBase(_strand).addElement(dayContainer, false);
-
-			tileLayout.numColumns = 7;
-
-			// the calendar has 7 columns with 6 rows, the first row are the day names
-			for(var i:int=0; i < 7; i++) {
-				var dayName:DateChooserButton = new DateChooserButton();
-				dayName.text = model.dayNames[i];
-				dayName.dayOfMonth = 0;
-				dayContainer.addElement(dayName, false);
+			if (monthLabel.style == null) {
+				monthLabel.style = new SimpleCSSStyles();
 			}
-
-			_dayButtons = new Array();
-
-			for(i=0; i < 42; i++) {
-				var date:DateChooserButton = new DateChooserButton();
-				date.text = String(i+1);
-				dayContainer.addElement(date, false);
-				dayButtons.push(date);
+			monthLabel.style.flexGrow = 1;
+			COMPILE::JS {
+				monthLabel.element.style["flex-grow"] = "1";
 			}
-
-			IEventDispatcher(dayContainer).dispatchEvent( new Event("itemsCreated") );
-
-			updateCalendar();
-		}
-
-		/**
-		 * @private
-		 */
-		private function updateCalendar():void
-		{
-			monthLabel.text = model.monthNames[model.displayedMonth] + " " +
-				String(model.displayedYear);
-
-			var firstDay:Date = new Date(model.displayedYear,model.displayedMonth,1);
-
-			// blank out the labels for the first firstDay.day-1 entries.
-			for(var i:int=0; i < firstDay.getDay(); i++) {
-				var dateButton:DateChooserButton = dayButtons[i] as DateChooserButton;
-				dateButton.dayOfMonth = -1;
-				dateButton.text = "";
+			monthButtonsContainer.addElement(monthLabel);
+			
+			_nextMonthButton = new DateHeaderButton();
+			_nextMonthButton.width = commonButtonWidth;
+			_nextMonthButton.text = ">";
+			if (_nextMonthButton.style == null) {
+				_nextMonthButton.style = new SimpleCSSStyles();
 			}
-
-			// flag today
-			var today:Date = new Date();
-
-			// renumber to the last day of the month
-			var dayNumber:int = 1;
-			var numDays:Number = numberOfDaysInMonth(model.displayedMonth, model.displayedYear);
-
-			for(; i < dayButtons.length && dayNumber <= numDays; i++) {
-				dateButton = dayButtons[i] as DateChooserButton;
-				dateButton.dayOfMonth = dayNumber;
-				dateButton.text = String(dayNumber++);
-
-				if (model.displayedMonth == today.getMonth() &&
-				    model.displayedYear == today.getFullYear() &&
-				    (dayNumber-1) == today.getDate()) {
-				    dateButton.id = "todayDateChooserButton";
-				} else {
-					dateButton.id = "";
-				}
+			COMPILE::JS {
+				_nextMonthButton.element.style["flex-grow"] = "0";
 			}
-
-			// blank out the rest
-			for(; i < dayButtons.length; i++) {
-				dateButton = dayButtons[i] as DateChooserButton;
-				dateButton.dayOfMonth = -1;
-				dateButton.text = "";
+			_nextMonthButton.style.flexGrow = 0;
+			monthButtonsContainer.addElement(_nextMonthButton);
+			
+			UIBase(_strand).addElement(monthButtonsContainer, false);
+			
+			// DAY NAMES
+			
+			dayNamesContainer = new DateChooserHeader();
+			dayNamesContainer.id = "dateChooserDayNames";
+			dayNamesContainer.className = "DateChooserHeader";
+			dayNamesContainer.height = controlHeight;
+			dayNamesContainer.style = new SimpleCSSStyles();
+			dayNamesContainer.style.flexGrow = 0;
+			COMPILE::JS {
+				dayNamesContainer.element.style["flex-grow"] = "0";
+				dayNamesContainer.element.style["align-items"] = "center";
 			}
-		}
-
-		/**
-		 * @private
-		 */
-		private function numberOfDaysInMonth(month:Number, year:Number):Number
-		{
-			var n:int;
-
-			if (month == 1) // Feb
-			{
-				if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
-					n = 29;
-				else
-					n = 28;
+			COMPILE::SWF {
+				dayNamesContainer.percentWidth = 100;
 			}
-
-			else if (month == 3 || month == 5 || month == 8 || month == 10)
-				n = 30;
-
-			else
-				n = 31;
-
-			return n;
-		}
-
-		/**
-		 * @private
-		 */
-		private function handleModelChange(event:Event):void
-		{
-			updateCalendar();
+			UIBase(_strand).addElement(dayNamesContainer, false);
+			
+			// DAYS
+			
+			daysContainer = new DateChooserList();
+			daysContainer.className = "DateChooserList";
+			daysContainer.id = "dateChooserList";
+			daysContainer.style = new SimpleCSSStyles();
+			daysContainer.style.flexGrow = 1;
+			COMPILE::JS {
+				daysContainer.element.style["flex-grow"] = "1";
+			}
+			COMPILE::SWF {
+				daysContainer.percentWidth = 100;
+			}
+			UIBase(_strand).addElement(daysContainer, false);
+			
+			
+			IEventDispatcher(daysContainer).dispatchEvent( new Event("itemsCreated") );
+			model.addEventListener("selectedDateChanged", selectionChangeHandler);
 		}
 		
 		/**
 		 * @private
 		 */
-		COMPILE::SWF
-		protected function displayBackgroundAndBorder(host:UIBase) : void
+		private function updateDisplay():void
 		{
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(host, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (host.getBeadByType(IBackgroundBead) == null)
-					var c:Class = ValuesManager.valuesImpl.getValue(host, "iBackgroundBead");
-				if (c) {
-					host.addBead( new c() as IBead );
-				}
-			}
+			monthLabel.text = model.monthNames[model.displayedMonth] + " " +
+				String(model.displayedYear);
 			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(host, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(host, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (host.getBeadByType(IBorderBead) == null) {
-					c = ValuesManager.valuesImpl.getValue(host, "iBorderBead");
-					if (c) {
-						host.addBead( new c() as IBead );
-					}
-				}
-			}
+			dayNamesContainer.dataProvider = model.dayNames;
+			
+			daysContainer.dataProvider = model.days;
+		}
+		
+		/**
+		 * @private
+		 */
+		private function selectionChangeHandler(event:Event):void
+		{
+			updateDisplay();
+			
+			var index:Number = model.getIndexForSelectedDate();
+			daysContainer.selectedIndex = index;
+		}
+		
+		/**
+		 * @private
+		 */
+		private function handleModelChange(event:Event):void
+		{
+			updateDisplay();
 		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
index f709a1f..33bdfbb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
@@ -41,6 +41,7 @@
 	 * input and button controls. This class also handles the pop-up 
 	 * mechanics.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -109,8 +110,11 @@
 			_button = new TextButton();
 			_button.text = "M";
 			UIBase(_strand).addElement(_button);
-			_button.x = _textInput.width;
-			_button.y = _textInput.y;
+			
+			COMPILE::SWF {
+				_button.x = _textInput.width;
+				_button.y = _textInput.y;
+			}
 			
 			IEventDispatcher(_strand).addEventListener("beadsAdded",handleBeadsAdded);
 		}
@@ -167,18 +171,21 @@
 					{
 						_popUp = new DateChooser();
 						_popUp.width = 210;
-						_popUp.height = 220;
+						_popUp.height = 230;
 					}
 					
 					var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
 					_popUp.selectedDate = model.selectedDate;
 					
 					var host:IPopUpHost = UIUtils.findPopUpHost(UIBase(_strand));
-					var point:Point = new Point(_button.x, _button.y+_button.height);
+					var point:Point = new Point(_textInput.width, _button.height);
 					var p2:Point = PointUtils.localToGlobal(point, _strand);
 					var p3:Point = PointUtils.globalToLocal(p2, host);
 					_popUp.x = p3.x;
 					_popUp.y = p3.y;
+					COMPILE::JS {
+						_popUp.element.style.position = "absolute";
+					}
 					
 					host.addElement(_popUp);
 				}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DisableBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DisableBead.as
similarity index 96%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DisableBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DisableBead.as
index d01c889..1d17477 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DisableBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DisableBead.as
@@ -107,7 +107,7 @@
 		private function updateHost():void
 		{
 			COMPILE::SWF {
-				var interactiveObject:InteractiveObject = (_strand as UIHTMLElementWrapper).$displayObject as InteractiveObject;
+				var interactiveObject:InteractiveObject = _strand as InteractiveObject;
 				interactiveObject.mouseEnabled = !disabled;
 			}
 			
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
index d3d7ebd..2e10302 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
@@ -18,7 +18,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	import flash.display.DisplayObject;
 	import flash.display.DisplayObjectContainer;
 	import flash.display.Graphics;
 	import flash.display.Shape;
@@ -29,14 +28,16 @@
 	import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.CSSTextField;
 	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
+	import org.apache.flex.core.IChild;
 	import org.apache.flex.core.IPopUpHost;
 	import org.apache.flex.core.ISelectionModel;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.utils.SolidBorderUtil;
+	import org.apache.flex.utils.SolidBorderUtil;
+	import org.apache.flex.utils.UIUtils;
     
     /**
      *  The DropDownListView class is the default view for
@@ -45,6 +46,7 @@
      *  down arrow button on the right, but really, the entire
      *  view is the button that will display or dismiss the dropdown.
      *  
+	 *  @viewbead
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
@@ -112,7 +114,7 @@
          */
 		override public function set strand(value:IStrand):void
 		{
-			super.strand = value;;
+			super.strand = value;
             selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
             selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
             selectionModel.addEventListener("dataProviderChanged", selectionChangeHandler);
@@ -120,10 +122,11 @@
 			shape.graphics.beginFill(0xCCCCCC);
 			shape.graphics.drawRect(0, 0, 10, 10);
 			shape.graphics.endFill();
-			SimpleButton(value).upState = upSprite;
-			SimpleButton(value).downState = downSprite;
-			SimpleButton(value).overState = overSprite;
-			SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = value as SimpleButton;
+			button.upState = upSprite;
+            button.downState = downSprite;
+            button.overState = overSprite;
+            button.hitTestState = shape;
 			if (selectionModel.selectedIndex !== -1)
 				text = selectionModel.selectedItem.toString();
             else
@@ -151,8 +154,8 @@
 		
         private function changeHandler(event:Event):void
         {
-            var ww:Number = DisplayObject(_strand).width;
-            var hh:Number = DisplayObject(_strand).height;
+            var ww:Number = IUIBase(_strand).width;
+            var hh:Number = IUIBase(_strand).height;
             
             upArrows.x = ww - upArrows.width - 6;            
             overArrows.x = ww - overArrows.width - 6;            
@@ -190,6 +193,7 @@
 		
         private function drawBorder(sprite:Sprite, color:uint, ww:Number, hh:Number):void
         {
+			sprite.graphics.clear();
             SolidBorderUtil.drawBorder(sprite.graphics, 0, 0,
                 ww, hh,
                 0x808080, color, 1, 1, 4);
@@ -230,8 +234,6 @@
          */
 		public function set text(value:String):void
 		{
-            var ww:Number = DisplayObject(_strand).width;
-            var hh:Number = DisplayObject(_strand).height;
 			upTextField.text = value;
 			downTextField.text = value;
 			overTextField.text = value;
@@ -278,21 +280,19 @@
          */
         public function set popUpVisible(value:Boolean):void
         {
+            var host:IPopUpHost;
             if (value != _popUpVisible)
             {
                 _popUpVisible = value;
                 if (value)
                 {
-					var root:Object = DisplayObject(_strand).root;
-					var host:DisplayObjectContainer = DisplayObject(_strand).parent;
-                    while (host && !(host is IPopUpHost))
-                        host = host.parent;
-                    if (host)
-                        IPopUpHost(host).addElement(popUp as IChild);
+					host = UIUtils.findPopUpHost(_strand as IUIBase);
+                    IPopUpHost(host).addElement(popUp as IChild);
                 }
                 else
                 {
-                    DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);                    
+                    host = UIUtils.findPopUpHost(_strand as IUIBase);
+                    IPopUpHost(host).removeElement(popUp as IChild);
                 }
             }
         }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/GroupView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/GroupView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
index de6a3af..212d29b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
@@ -32,6 +32,7 @@
      *  The HScrollBarTrackView class is the view for
      *  the track in a Horizontal ScrollBar.
      *  
+ 	 *  @viewbead
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
index 650d300..e58d868 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
@@ -33,26 +33,24 @@
 	public interface IComboBoxView extends IBeadView
 	{
 		/**
-		 *  The string appearing in the input area for the ComboBox.
+		 *  The sub-component used for the input area of the ComboBox.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		function get text():String;
-		function set text(value:String):void;
+		function get textInputField():Object;
 		
 		/**
-		 *  The HTML string appearing in the input area for the ComboBox.
+		 *  The sub-component used for the button to activate the pop-up.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		function get html():String;
-		function set html(value:String):void;
+		function get popupButton():Object;
 		
 		/**
 		 *  The component housing the selection list.
@@ -62,7 +60,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		function get popUp():IStrand;
+		function get popUp():Object;
 		
 		/**
 		 *  Determines whether or not the pop-up with the selection list is visible or not.
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
index c42daa7..a2b8494 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
@@ -18,7 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	import flash.display.DisplayObject;
+    import org.apache.flex.html.Button;
 	
 	import org.apache.flex.core.IScrollBarModel;
 	import org.apache.flex.core.IStrand;
@@ -43,7 +43,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		function get increment():DisplayObject;
+		function get increment():Button;
         
         /**
          *  The up arrow button in a vertical ScrollBar or left arrow
@@ -54,7 +54,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		function get decrement():DisplayObject;
+		function get decrement():Button;
 
         /**
          *  The track in a ScrollBar
@@ -64,7 +64,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		function get track():DisplayObject;
+		function get track():Button;
         
         /**
          *  The thumb in a ScrollBar
@@ -74,7 +74,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		function get thumb():DisplayObject;
+		function get thumb():Button;
 		
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as
index 14a51c4..31ff9e9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as
@@ -18,11 +18,8 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-    COMPILE::SWF
-    {
-        import flash.display.DisplayObject;            
-    }
 	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IUIBase;
 	
 	/**
 	 *  The ISliderView interface provides the protocol for any bead that
@@ -43,8 +40,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-        COMPILE::SWF
-		function get track():DisplayObject;
+		function get track():IUIBase;
 		
 		/**
 		 *  The component used for the thumb button of the org.apache.flex.html.Slider.
@@ -54,7 +50,6 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-        COMPILE::SWF
-		function get thumb():DisplayObject;
+		function get thumb():IUIBase;
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
index 9e1ebdf..f54faef 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
@@ -29,11 +29,12 @@
 
 	import org.apache.flex.core.UIButtonBase;
 }
-
+    
     import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IChild;
+    import org.apache.flex.core.IStrand;
     import org.apache.flex.core.ValuesManager;
     import org.apache.flex.events.Event;
     import org.apache.flex.events.IEventDispatcher;
@@ -44,6 +45,7 @@
 	 *  class does not support background and border; only images
 	 *  for the up, over, and active states.
 	 *
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -85,14 +87,17 @@
 				shape.graphics.beginFill(0xCCCCCC);
 				shape.graphics.drawRect(0, 0, 10, 10);
 				shape.graphics.endFill();
-				SimpleButton(value).upState = upSprite;
-				SimpleButton(value).downState = downSprite;
-				SimpleButton(value).overState = overSprite;
-				SimpleButton(value).hitTestState = shape;
+                var button:SimpleButton = value as SimpleButton;
+				button.upState = upSprite;
+				button.downState = downSprite;
+				button.overState = overSprite;
+				button.hitTestState = shape;
 
 				setupBackground(upSprite);
 				setupBackground(overSprite, "hover");
 				setupBackground(downSprite, "active");
+				
+				IEventDispatcher(value).addEventListener("sourceChanged", handleSourceChange);
 			}
 		}
 
@@ -125,8 +130,8 @@
                     if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
                     {
                         host.setWidth(loader.content.width);
-                        if (host.parent)
-                            (host.parent as IEventDispatcher).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+                        if (host.parent is IEventDispatcher)
+                            IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
                     }
                     else
                         loader.content.width = host.width;
@@ -134,8 +139,8 @@
                     if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
                     {
                         host.setHeight(loader.content.height);
-                        if (host.parent)
-                            (host.parent as IEventDispatcher).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+                        if (host.parent is IEventDispatcher)
+                            IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
                     }
                     else
                         loader.content.height = host.height;
@@ -143,6 +148,17 @@
 				});
 			}
 		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::SWF
+		private function handleSourceChange(event:org.apache.flex.events.Event):void
+		{
+			setupBackground(upSprite);
+			setupBackground(overSprite, "hover");
+			setupBackground(downSprite, "active");
+		}
 
 		/**
 		 * @private
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as
index 3018600..0f73421 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as
@@ -17,13 +17,14 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
-{	
+{
 	import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.ContainerBase;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IList;
 	import org.apache.flex.core.ISelectableItemRenderer;
 	import org.apache.flex.core.IItemRenderer;
 	import org.apache.flex.core.IItemRendererParent;
@@ -46,71 +47,89 @@
 	import org.apache.flex.html.supportClasses.ScrollBar;
 
 	/**
-	 *  The List class creates the visual elements of the org.apache.flex.html.List 
-	 *  component. A List consists of the area to display the data (in the dataGroup), any 
+	 *  The List class creates the visual elements of the org.apache.flex.html.List
+	 *  component. A List consists of the area to display the data (in the dataGroup), any
 	 *  scrollbars, and so forth.
-	 *  
+	 *
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class ListView extends ContainerView implements IListView
+	COMPILE::JS
+	public class ListView extends DataContainerView
 	{
 		public function ListView()
 		{
+			super();
 		}
-						
+
 		protected var listModel:ISelectionModel;
-		
-		private var _border:Border;
-		
-		/**
-		 *  The border surrounding the org.apache.flex.html.List.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get border():Border
-        {
-            return _border;
-        }
-		
-		/**
-		 *  The area holding the itemRenderers.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataGroup():IItemRendererParent
-		{
-			(contentView as UIBase).className = "ListDataGroup";
-			return contentView as IItemRendererParent;
-		}
-				
+
+		protected var lastSelectedIndex:int = -1;
+
 		/**
 		 * @private
 		 */
-		override public function get resizableView():IUIBase
+		override protected function handleInitComplete(event:Event):void
 		{
-			return _strand as IUIBase;
+			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+			listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
+			listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
+
+			super.handleInitComplete(event);
 		}
-        
-        /**
-         * @private
-         */
-        override public function get host():IUIBase
-        {
-            return _strand as IUIBase;
-        }
-        		
+
+		protected function selectionChangeHandler(event:Event):void
+		{
+			if (lastSelectedIndex != -1)
+			{
+				var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer;
+				if (ir != null) ir.selected = false;
+			}
+			if (listModel.selectedIndex != -1)
+			{
+				ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer;
+				if (ir != null) ir.selected = true;
+			}
+			lastSelectedIndex = listModel.selectedIndex;
+		}
+
+		protected var lastRollOverIndex:int = -1;
+
+		/**
+		 * @private
+		 */
+		protected function rollOverIndexChangeHandler(event:Event):void
+		{
+			if (lastRollOverIndex != -1)
+			{
+				var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
+				ir.hovered = false;
+			}
+			if (IRollOverModel(listModel).rollOverIndex != -1)
+			{
+				ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
+				ir.hovered = true;
+			}
+			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
+		}
+	}
+
+	COMPILE::SWF
+	public class ListView extends DataContainerView
+	{
+		public function ListView()
+		{
+			super();
+		}
+
+		protected var listModel:ISelectionModel;
+
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -121,42 +140,21 @@
 			_strand = value;
 			super.strand = value;
 		}
-		
-		override protected function completeSetup():void
+
+		/**
+		 * @private
+		 */
+		override protected function handleInitComplete(event:Event):void
 		{
-			super.completeSetup();
-			
-			// list is not interested in UI children, it wants to know when new items
-			// have been added or the dataProvider has changed.
-			
-			host.removeEventListener("childrenAdded", childrenChangedHandler);
-			host.removeEventListener("childrenAdded", performLayout);
-			host.addEventListener("itemsCreated", itemsCreatedHandler);
-			
+			super.handleInitComplete(event);
+
 			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
 			listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
 			listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 		}
-		
+
 		protected var lastSelectedIndex:int = -1;
-		
-		/**
-		 * @private
-		 */
-		protected function itemsCreatedHandler(event:Event):void
-		{
-			performLayout(event);
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function dataProviderChangeHandler(event:Event):void
-		{
-			performLayout(event);
-		}
-		
+
 		/**
 		 * @private
 		 */
@@ -174,9 +172,9 @@
 			}
             lastSelectedIndex = listModel.selectedIndex;
 		}
-		
+
 		protected var lastRollOverIndex:int = -1;
-		
+
 		/**
 		 * @private
 		 */
@@ -194,18 +192,5 @@
 			}
 			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
 		}
-        
-        /**
-         *  respond to a change in size or request to re-layout everything
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override protected function resizeHandler(event:Event):void
-		{
-			super.resizeHandler(event);
-		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as
index c52fe93..43af3f8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as
@@ -19,10 +19,15 @@
 package org.apache.flex.html.beads
 {
 	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.IContentViewHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.IChild;
+	import org.apache.flex.core.IContainer;
+	import org.apache.flex.core.IParent;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.IViewport;
 	import org.apache.flex.core.IViewportModel;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
@@ -30,23 +35,31 @@
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.geom.Size;
+	import org.apache.flex.html.Group;
 	import org.apache.flex.html.Container;
 	import org.apache.flex.html.Panel;
 	import org.apache.flex.html.TitleBar;
 	import org.apache.flex.utils.CSSContainerUtils;
 	import org.apache.flex.utils.CSSUtils;
-	
+	import org.apache.flex.html.beads.layouts.VerticalFlexLayout;
+	import org.apache.flex.html.supportClasses.PanelLayoutProxy;
+
+	COMPILE::SWF {
+		import org.apache.flex.core.SimpleCSSStyles;
+	}
+
 	/**
-	 *  The Panel class creates the visual elements of the org.apache.flex.html.Panel 
+	 *  The Panel class creates the visual elements of the org.apache.flex.html.Panel
 	 *  component. A Panel has a org.apache.flex.html.TitleBar, and content.  A
      *  different View, PanelWithControlBarView, can display a ControlBar.
-	 *  
+	 *
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class PanelView extends ContainerView implements IBeadView
+	public class PanelView extends GroupView implements IBeadView
 	{
 		/**
 		 *  constructor.
@@ -60,11 +73,11 @@
 		{
 			super();
 		}
-		
+
 		private var _titleBar:TitleBar;
-		
+
 		/**
-		 *  The org.apache.flex.html.TitleBar component of the 
+		 *  The org.apache.flex.html.TitleBar component of the
 		 *  org.apache.flex.html.Panel.
 		 *
 		 *  @langversion 3.0
@@ -76,7 +89,7 @@
 		{
 			return _titleBar;
 		}
-		
+
         /**
          *  @private
          */
@@ -84,10 +97,31 @@
         {
             _titleBar = value;
         }
-				
+
+		private var _contentArea:Container;
+
+		/**
+		 * The content area of the panel.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function get contentArea():Container
+		{
+			return _contentArea;
+		}
+		public function set contentArea(value:Container):void
+		{
+			_contentArea = value;
+		}
+
+		private var _strand:IStrand;
+
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -95,74 +129,138 @@
 		 */
 		override public function set strand(value:IStrand):void
 		{
+			_strand = value;
+
             var host:UIBase = UIBase(value);
-            
+
             if (!_titleBar) {
                 _titleBar = new TitleBar();
 				_titleBar.id = "panelTitleBar";
-				_titleBar.height = 30;
+
+				COMPILE::SWF {
+					_titleBar.percentWidth = 100;
+
+					if (_titleBar.style == null) {
+						_titleBar.style = new SimpleCSSStyles();
+					}
+					_titleBar.style.flexGrow = 0;
+					_titleBar.style.order = 1;
+				}
+
+				COMPILE::JS {
+					_titleBar.element.style["flex-grow"] = "0";
+					_titleBar.element.style["order"] = "1";
+				}
 			}
 			// replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
-			// any changes to values in the Panel's model that correspond values in the TitleBar will 
+			// any changes to values in the Panel's model that correspond values in the TitleBar will
 			// be picked up automatically by the TitleBar.
 			titleBar.model = host.model;
-			            
+
+			if (!_contentArea) {
+				_contentArea = new Container();
+				_contentArea.id = "panelContent";
+				_contentArea.className = "PanelContent";
+
+				COMPILE::SWF {
+					_contentArea.percentWidth = 100;
+
+					if (_contentArea.style == null) {
+						_contentArea.style = new SimpleCSSStyles();
+					}
+					_contentArea.style.flexGrow = 1;
+					_contentArea.style.order = 2;
+				}
+
+				COMPILE::JS {
+					_contentArea.element.style["flex-grow"] = "1";
+					_contentArea.element.style["order"] = "2";
+					_contentArea.element.style["overflow"] = "auto"; // temporary
+				}
+			}
+
+			COMPILE::SWF {
+				IEventDispatcher(value).addEventListener("widthChanged", handleSizeChange);
+				IEventDispatcher(value).addEventListener("heightChanged", handleSizeChange);
+				IEventDispatcher(value).addEventListener("sizeChanged", handleSizeChange);
+				IEventDispatcher(value).addEventListener("childrenAdded", handleChildrenAdded);
+			}
+
             super.strand = value;
+
+			// If the Panel was given a layout, transfer it to the content area.
+			var layoutBead:IBeadLayout = value.getBeadByType(IBeadLayout) as IBeadLayout;
+			if (layoutBead) {
+				value.removeBead(layoutBead);
+
+				var contentLayout:IBeadLayout = _contentArea.getBeadByType(IBeadLayout) as IBeadLayout;
+				if (contentLayout) {
+					_contentArea.removeBead(contentLayout);
+				}
+				_contentArea.addBead(layoutBead);
+			}
+
+			// If the Panel was given a viewport, transfer it to the content area.
+			var viewportBead:IViewport = value.getBeadByType(IViewport) as IViewport;
+			if (viewportBead) {
+				value.removeBead(viewportBead);
+				_contentArea.addBead(viewportBead);
+			}
+
+			// Now give the Panel its own layout
+			layoutBead = new VerticalFlexLayout();
+			value.addBead(layoutBead);
 		}
-		
+
+		private var _panelLayoutProxy:PanelLayoutProxy;
+
+		/**
+		 * The sub-element used as the parent of the container's elements. This does not
+		 * include the chrome elements.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		override public function get contentView():ILayoutView
+		{
+			// we want to return a proxy for the host which will have numElements, getElementAt, etc.
+			// functions that will use the host.$numElements, host.$getElementAt, etc. functions
+			if (_panelLayoutProxy == null) {
+				_panelLayoutProxy = new PanelLayoutProxy(_strand);
+			}
+			return _panelLayoutProxy;
+		}
+
 		override protected function completeSetup():void
 		{
-			(host as IContentViewHost).strandChildren.addElement(titleBar);
+			if (titleBar.parent == null) {
+				(_strand as Panel).$addElement(titleBar);
+			}
+			if (contentArea.parent == null) {
+				(_strand as Panel).$addElement(contentArea as IChild);
+			}
+
 			super.completeSetup();
+			
+			performLayout(null);
 		}
-		
-        /**
-         * Calculate the space taken up by non-content children like a TItleBar in a Panel.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        override protected function getChromeMetrics():Rectangle
-        {
-            return new Rectangle(0, titleBar.height, 0, 0 - titleBar.height);
-        }
-        
-        override protected function layoutViewBeforeContentLayout():void
-        {
-            var vm:IViewportModel = viewportModel;
-            var host:ILayoutChild = this.host as ILayoutChild;
-            vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
-            titleBar.x = vm.borderMetrics.left;
-            titleBar.y = vm.borderMetrics.top;
-            if (!host.isWidthSizedToContent())
-                titleBar.width = host.width - vm.borderMetrics.left - vm.borderMetrics.right;
-            vm.chromeMetrics = getChromeMetrics();
-            viewport.setPosition(vm.borderMetrics.left + vm.chromeMetrics.left,
-                vm.borderMetrics.top + vm.chromeMetrics.top);
-            viewport.layoutViewportBeforeContentLayout(
-                !host.isWidthSizedToContent() ? 
-                host.width - vm.borderMetrics.left - vm.borderMetrics.right -
-                vm.chromeMetrics.left - vm.chromeMetrics.right : NaN,
-                !host.isHeightSizedToContent() ?
-                host.height - vm.borderMetrics.top - vm.borderMetrics.bottom -
-                vm.chromeMetrics.top - vm.chromeMetrics.bottom : NaN);
-        }
-        
-		override protected function layoutViewAfterContentLayout():void
+
+		protected function handleSizeChange(event:Event):void
 		{
-            var vm:IViewportModel = viewportModel;
-            var viewportSize:Size = this.viewport.layoutViewportAfterContentLayout();
-            var host:ILayoutChild = this.host as ILayoutChild;
-            var hasWidth:Boolean = !host.isWidthSizedToContent();
-            var hasHeight:Boolean = !host.isHeightSizedToContent();
-            if (!hasWidth) {
-                titleBar.width = viewportSize.width; // should get titlebar to layout and get new height
-                vm.chromeMetrics = this.getChromeMetrics();
-                vm.chromeMetrics.top = titleBar.height;
-            }
-            super.layoutViewAfterContentLayout();
-		}       
+			COMPILE::JS {
+				_titleBar.percentWidth = 100;
+				_contentArea.percentWidth = 100;
+			}
+
+			performLayout(event);
+		}
+
+		private function handleChildrenAdded(event:Event):void
+		{
+			_contentArea.dispatchEvent(new Event("layoutNeeded"));
+			performLayout(event);
+		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
index cfbbae8..3312b85 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
@@ -19,6 +19,7 @@
 package org.apache.flex.html.beads
 {
 	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IChild;
 	import org.apache.flex.core.IContentViewHost;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.IPanelModel;
@@ -32,21 +33,27 @@
 	import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.geom.Size;
 	import org.apache.flex.html.Container;
+	import org.apache.flex.html.Panel;
 	import org.apache.flex.html.ControlBar;
 	import org.apache.flex.html.TitleBar;
 	import org.apache.flex.utils.CSSContainerUtils;
 	
+	COMPILE::SWF {
+		import org.apache.flex.core.SimpleCSSStyles;
+	}
+	
 	/**
 	 *  The Panel class creates the visual elements of the org.apache.flex.html.Panel 
 	 *  component. A Panel has a org.apache.flex.html.TitleBar, content, and an 
 	 *  optional org.apache.flex.html.ControlBar.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class PanelWithControlBarView extends ContainerView implements IBeadView
+	public class PanelWithControlBarView extends PanelView
 	{
 		/**
 		 *  constructor.
@@ -58,22 +65,7 @@
 		 */
 		public function PanelWithControlBarView()
 		{
-		}
-		
-		private var _titleBar:TitleBar;
-		
-		/**
-		 *  The org.apache.flex.html.TitleBar component of the 
-		 *  org.apache.flex.html.Panel.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get titleBar():TitleBar
-		{
-			return _titleBar;
+			super();
 		}
 		
 		private var _controlBar:ControlBar;
@@ -101,105 +93,65 @@
 		 */
 		override public function set strand(value:IStrand):void
 		{
-			var host:UIBase = UIBase(value);
-			
-			// TODO: (aharui) get class to instantiate from CSS
-			if (!_titleBar) {
-				_titleBar = new TitleBar();
-				_titleBar.id = "panelTitleBar";
-				_titleBar.height = 30;
-			}
-			// replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
-			// any changes to values in the Panel's model that correspond values in the TitleBar will 
-			// be picked up automatically by the TitleBar.
-			_titleBar.model = host.model;
-			
-			var controlBarItems:Array = (host.model as IPanelModel).controlBar;
-			if( controlBarItems && controlBarItems.length > 0 ) {
-				_controlBar = new ControlBar();
-				_controlBar.id = "panelControlBar";
-				_controlBar.height = 30;
-				
-				for each(var comp:IUIBase in controlBarItems) {
-					_controlBar.addElement(comp, false);
-				}
-			}
-			
 			super.strand = value;
+			
+			var host:UIBase = UIBase(_strand);
+			
+			_controlBar = new ControlBar();
+			_controlBar.id = "panelControlBar";
+			
+			COMPILE::SWF {
+				_controlBar.percentWidth = 100;
+				
+				if (_controlBar.style == null) {
+					_controlBar.style = new SimpleCSSStyles();
+				}
+				_controlBar.style.flexGrow = 0;
+				_controlBar.style.order = 3;
+			}
+				
+			COMPILE::JS {
+				_controlBar.element.style["flex-grow"] = "0";
+				_controlBar.element.style["order"] = "3";
+			}
 		}
 		
 		override protected function completeSetup():void
 		{
+			if (titleBar.parent == null) {
+				(_strand as Panel).$addElement(titleBar);
+			}
+			if (contentArea.parent == null) {
+				(_strand as Panel).$addElement(contentArea as IChild);
+			}
+			if (controlBar.parent == null) {
+				(_strand as Panel).$addElement(controlBar);
+			}
+			
+			var host:UIBase = UIBase(_strand);
+			
+			var controlBarItems:Array = (host.model as IPanelModel).controlBar;
+			if( controlBarItems && controlBarItems.length > 0 ) {
+				for each(var comp:IUIBase in controlBarItems) {
+					controlBar.addElement(comp, false);
+				}
+				controlBar.childrenAdded();
+			}
+			
 			super.completeSetup();
 			
-			(_strand as IContentViewHost).strandChildren.addElement(titleBar, false);
-			
-			if (controlBar) {
-				(_strand as IContentViewHost).strandChildren.addElement(_controlBar, false);
-			}
+			performLayout(null);
 		}
 		
-        /**
-         * Calculate the space taken up by non-content children like a TItleBar in a Panel.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        override protected function getChromeMetrics():Rectangle
-        {
-            return new Rectangle(0, titleBar.height, 0, controlBar.height - titleBar.height);
-        }
-        
-        override protected function layoutViewBeforeContentLayout():void
-        {
-            var vm:IViewportModel = viewportModel;
-            var host:ILayoutChild = this.host as ILayoutChild;
-            var hasHeight:Boolean = !host.isHeightSizedToContent();
-            var hasWidth:Boolean = !host.isWidthSizedToContent();
-            vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
-            titleBar.x = vm.borderMetrics.left;
-            titleBar.y = vm.borderMetrics.top;
-            if (hasWidth) 
-            {
-                titleBar.width = host.width - vm.borderMetrics.left - vm.borderMetrics.right;
-                controlBar.width = host.width - vm.borderMetrics.left - vm.borderMetrics.right;
-            }
-            vm.chromeMetrics = getChromeMetrics();
-            controlBar.x = vm.borderMetrics.left;
-            if (hasHeight && hasWidth) 
-                controlBar.y = host.height - vm.borderMetrics.bottom - controlBar.height;
-            
-            viewport.setPosition(vm.borderMetrics.left + vm.chromeMetrics.left,
-                vm.borderMetrics.top + vm.chromeMetrics.top);
-            viewport.layoutViewportBeforeContentLayout(
-                hasWidth ? 
-                    host.width - vm.borderMetrics.left - vm.borderMetrics.right -
-                        vm.chromeMetrics.left - vm.chromeMetrics.right : NaN,
-                hasHeight ?
-                    host.height - vm.borderMetrics.top - vm.borderMetrics.bottom -
-                        vm.chromeMetrics.top - vm.chromeMetrics.bottom : NaN);
-        }
-        
-        override protected function layoutViewAfterContentLayout():void
-        {
-            var vm:IViewportModel = viewportModel;
-            var viewportSize:Size = this.viewport.layoutViewportAfterContentLayout();
-            var host:ILayoutChild = this.host as ILayoutChild;
-            var hasWidth:Boolean = !host.isWidthSizedToContent();
-            var hasHeight:Boolean = !host.isHeightSizedToContent();
-            if (!hasWidth) {
-                titleBar.width = viewportSize.width; // should get titlebar to layout and get new height
-                vm.chromeMetrics = this.getChromeMetrics();
-                vm.chromeMetrics.top = titleBar.height;
-                controlBar.width = viewportSize.width; // should get controlbar to layout and get new height
-                vm.chromeMetrics.bottom = controlBar.height;
-            }
-            super.layoutViewAfterContentLayout();
-            if (!hasHeight) {
-                controlBar.y = host.height - vm.borderMetrics.bottom - controlBar.height;
-            }
-        }       
+		override protected function handleSizeChange(event:Event):void
+		{
+			COMPILE::JS {
+				titleBar.percentWidth = 100;
+				contentArea.percentWidth = 100;
+				controlBar.percentWidth = 100;
+			}
+				
+			performLayout(event);
+		}       
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
index 3ac84ce..62506f7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
@@ -34,6 +34,7 @@
 	 *  The RangeStepperView bead creates the visual elements of the RangeStepper. This
 	 *  includes an increment button, a decrement button, and label to display the value.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
index e3f8c50..41ef624 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
@@ -128,10 +128,10 @@
             layout.layout();    
         }
         
-		protected var _decrement:DisplayObject;
-		protected var _increment:DisplayObject;
-		protected var _track:DisplayObject;
-		protected var _thumb:DisplayObject;
+		protected var _decrement:Button;
+		protected var _increment:Button;
+		protected var _track:Button;
+		protected var _thumb:Button;
 		
         /**
          *  @copy org.apache.flex.html.beads.IScrollBarView#decrement
@@ -141,7 +141,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		public function get decrement():DisplayObject
+		public function get decrement():Button
 		{
 			return _decrement;
 		}
@@ -154,7 +154,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		public function get increment():DisplayObject
+		public function get increment():Button
 		{
 			return _increment;
 		}
@@ -167,7 +167,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		public function get track():DisplayObject
+		public function get track():Button
 		{
 			return _track;
 		}
@@ -180,7 +180,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		public function get thumb():DisplayObject
+		public function get thumb():Button
 		{
 			return _thumb;
 		}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
index 49f3608..0dcc6fa 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
@@ -19,8 +19,9 @@
 package org.apache.flex.html.beads
 {
 	import flash.display.Graphics;
-	
+
 	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.IStatesObject;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.UIBase;
@@ -65,14 +66,22 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-            IEventDispatcher(value).addEventListener("layoutNeeded", changeHandler);
             IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
             IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
-            changeHandler(null);
+			IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
+			IEventDispatcher(value).addEventListener("initComplete", changeHandler);
+			IEventDispatcher(value).addEventListener("layoutComplete", changeHandler);
+			var ilc:ILayoutChild = value as ILayoutChild;
+			if (ilc)
+			{
+				if (!isNaN(ilc.explicitWidth) && !isNaN(ilc.explicitHeight))
+				{
+					changeHandler(null);
+				}
+			}
 		}
 		        
-		private function changeHandler(event:Event):void
+		protected function changeHandler(event:Event):void
 		{
             var host:UIBase = UIBase(_strand);
             var g:Graphics = host.graphics;
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
index e9b4ea5..debfff3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
@@ -18,26 +18,23 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-    COMPILE::SWF
-    {
-    	import flash.display.Graphics;
-    	import flash.display.Shape;
-    	import flash.display.SimpleButton;
-    }	
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;
+
     import org.apache.flex.core.BeadViewBase;
     import org.apache.flex.core.IBeadView;
     import org.apache.flex.core.IStrand;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
+	import org.apache.flex.html.Button;
     import org.apache.flex.events.Event;
     import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.core.IChild;
 	
 	/**
 	 *  The SliderThumbView class creates the draggable input element for the 
 	 *  org.apache.flex.html.Slider component.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -55,29 +52,26 @@
 		 */
 		public function SliderThumbView()
 		{
-            COMPILE::SWF
-            {
-                hitArea = new Shape();
-                upView = new Shape();
-                downView = new Shape();
-                overView = new Shape();                
-            }
+            hitArea = new Shape();
+            upView = new Shape();
+            downView = new Shape();
+            overView = new Shape();                
 		}
 		
 		/**
 		 * @private
 		 */
-        COMPILE::SWF
 		private function drawView(g:Graphics, bgColor:uint):void
 		{
+			var host:Button = Button(_strand);
+            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
 			g.clear();
 			g.lineStyle(1,0x000000);
-			g.beginFill(bgColor);
-			g.drawCircle(SimpleButton(_strand).width/2, SimpleButton(_strand).height/2, 10);
+			g.beginFill(bgColor,1.0);
+			g.drawCircle(host.width/2, host.height/2, 10);
 			g.endFill();
 		}
 		
-        COMPILE::SWF
 		private var hitArea:Shape;
 		
 		/**
@@ -94,57 +88,28 @@
 		{
 			super.strand = value;
 			
-            COMPILE::SWF
-            {
-                drawView(hitArea.graphics, 0xDD0000);
-                drawView(upView.graphics, 0xFFFFFF);
-                drawView(downView.graphics, 0x999999);
-                drawView(overView.graphics, 0xDDDDDD);
-                
-                SimpleButton(value).upState = upView;
-                SimpleButton(value).downState = downView;
-                SimpleButton(value).overState = overView;
-                SimpleButton(value).hitTestState = hitArea;
-                
-                IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-                IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);                
-            }
-            COMPILE::JS
-            {
-                
-                element = document.createElement('div') as WrappedHTMLElement;
-                element.className = 'SliderThumb';
-                element.id = 'thumb';
-                element.style.backgroundColor = '#949494';
-                element.style.border = 'thin solid #747474';
-                element.style.position = 'relative';
-                element.style.height = '30px';
-                element.style.width = '10px';
-                element.style.zIndex = '2';
-                element.style.top = '-10px';
-                element.style.left = '20px';
-                
-                (host.element as WrappedHTMLElement).appendChild(element);
-                
-                element.flexjs_wrapper = this;
-
-            }
+            drawView(hitArea.graphics, 0xDD0000);
+            drawView(upView.graphics, 0xFFFFFF);
+            drawView(downView.graphics, 0x999999);
+            drawView(overView.graphics, 0xDDDDDD);
+            
+            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
+            button.upState = upView;
+            button.downState = downView;
+            button.overState = overView;
+            button.hitTestState = hitArea;
+            
+            IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+            IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);                
 		}
 		
-        COMPILE::SWF
 		private var upView:Shape;
-        COMPILE::SWF
 		private var downView:Shape;
-        COMPILE::SWF
 		private var overView:Shape;
-		
-        COMPILE::JS
-        public var element:WrappedHTMLElement;
         
 		/**
 		 * @private
 		 */
-        COMPILE::SWF
 		private function sizeChangeHandler( event:Event ) : void
 		{
 			drawView(hitArea.graphics, 0xDD0000);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
index eac9d32..c413c54 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
@@ -18,28 +18,24 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	COMPILE::SWF
-	{
-		import flash.display.Graphics;
-		import flash.display.Shape;
-		import flash.display.SimpleButton;			
-	}
+	import flash.display.Graphics;
+	import flash.display.Shape;
+	import flash.display.SimpleButton;			
 	
 	import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.UIBase;
-	COMPILE::JS
-	{
-		import org.apache.flex.core.WrappedHTMLElement;			
-	}
+	import org.apache.flex.html.Button;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.core.IChild;
 	
 	/**
 	 *  The SliderTrackView class creates the track area for the org.apache.flex.html.Slider
 	 *  component.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -57,29 +53,26 @@
 		 */
 		public function SliderTrackView()
 		{
-			COMPILE::SWF
-			{
-				hitArea = new Shape();
-				upView = new Shape();
-				downView = new Shape();
-				overView = new Shape();					
-			}
+			hitArea = new Shape();
+			upView = new Shape();
+			downView = new Shape();
+			overView = new Shape();					
 		}
 		
 		/**
 		 * @private
 		 */
-		COMPILE::SWF
 		private function drawView(g:Graphics, bgColor:uint):void
 		{
+			var host:Button = Button(_strand);
+            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
 			g.clear();
 			g.lineStyle(1,0x000000);
 			g.beginFill(bgColor);
-			g.drawRect(0, 0, SimpleButton(_strand).width, SimpleButton(_strand).height);
+			g.drawRect(0, 0, host.width, host.height);
 			g.endFill();
 		}
 		
-		COMPILE::SWF
 		private var hitArea:Shape;
 		
 		/**
@@ -95,54 +88,28 @@
 		{
 			super.strand = value;
 			
-			COMPILE::SWF
-			{
-				drawView(hitArea.graphics, 0xDD0000);
-				drawView(upView.graphics, 0xCCCCCC);
-				drawView(downView.graphics, 0x808080);
-				drawView(overView.graphics, 0xEEEEEE);
-				
-				SimpleButton(value).upState = upView;
-				SimpleButton(value).downState = downView;
-				SimpleButton(value).overState = overView;
-				SimpleButton(value).hitTestState = hitArea;
-				
-				IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-				IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);					
-			}
-			COMPILE::JS
-			{
-				element = document.createElement('div') as WrappedHTMLElement;
-				element.className = 'SliderTrack';
-				element.id = 'track';
-				element.style.backgroundColor = '#E4E4E4';
-				element.style.height = '10px';
-				element.style.width = '200px';
-				element.style.border = 'thin solid #C4C4C4';
-				element.style.position = 'relative';
-				element.style.left = '0px';
-				element.style.top = '10px';
-				element.style.zIndex = '1';
-				
-				var host:UIBase = value as UIBase;
-				host.element.appendChild(element);				
-			}
+			drawView(hitArea.graphics, 0xDD0000);
+			drawView(upView.graphics, 0xCCCCCC);
+			drawView(downView.graphics, 0x808080);
+			drawView(overView.graphics, 0xEEEEEE);
+			
+            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
+			button.upState = upView;
+			button.downState = downView;
+			button.overState = overView;
+			button.hitTestState = hitArea;
+			
+			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);					
 		}
 		
-		COMPILE::JS
-		public var element:WrappedHTMLElement;
-		
-		COMPILE::SWF
 		private var upView:Shape;
-		COMPILE::SWF
 		private var downView:Shape;
-		COMPILE::SWF
 		private var overView:Shape;
 		
 		/**
 		 * @private
 		 */
-		COMPILE::SWF
 		private function sizeChangeHandler( event:Event ) : void
 		{
 			drawView(hitArea.graphics, 0xDD0000);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as
index 071dd8d..009fb8c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as
@@ -18,8 +18,10 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-	import flash.display.DisplayObject;
-	import flash.display.Sprite;
+	COMPILE::SWF {
+		import flash.display.DisplayObject;
+		import flash.display.Sprite;
+	}
 	
     import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.IBead;
@@ -28,15 +30,18 @@
 	import org.apache.flex.core.IRangeModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.html.Button;
+	import org.apache.flex.html.TextButton;
 	
 	/**
 	 *  The SliderView class creates the visual elements of the org.apache.flex.html.Slider 
 	 *  component. The Slider has a track and a thumb control which are also created with view beads.
 	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -70,14 +75,31 @@
 		{
 			super.strand = value;
 			
-			_track = new Button();
-			Button(_track).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
-			
-			_thumb = new Button();
-			Button(_thumb).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
-			
-			UIBase(_strand).addChild(_track);
-			UIBase(_strand).addChild(_thumb);
+			COMPILE::SWF {
+				var s:UIBase = UIBase(_strand);
+				
+				_track = new Button();
+				_track.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
+				_track.className = "SliderTrack";
+				s.addElement(_track);
+				
+				_thumb = new TextButton();
+				_thumb.text = '\u2B0C';
+				_thumb.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
+				_thumb.className = "SliderThumb";
+				s.addElement(_thumb);
+				
+			}
+			COMPILE::JS {
+				_track = new Button();
+				_track.className = "SliderTrack";
+				UIBase(_strand).addElement(_track);
+				
+				_thumb = new TextButton();
+				_thumb.className = "SliderThumb";
+				_thumb.text = '\u2B0C';
+				UIBase(_strand).addElement(_thumb);
+			}
 			
 			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
 			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
@@ -91,22 +113,12 @@
 			IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
 			IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
 			
-			// set a minimum size to trigger the size change handler
-			var needsSizing:Boolean = true;
-			if( UIBase(_strand).width < 100 ) {
-				UIBase(_strand).width = 100;
-				needsSizing = false;
-			}
-			if( UIBase(_strand).height < 30 ) {
-				UIBase(_strand).height = 30;
-				needsSizing = false;
-			}
-			
-			if( needsSizing ) sizeChangeHandler(null);
+			sizeChangeHandler(null);
 		}
 		
-		private var _track:DisplayObject;
-		private var _thumb:DisplayObject;
+		private var _track:Button;
+		private var _thumb:TextButton;
+		
 		
 		/**
 		 *  The track component.
@@ -116,7 +128,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get track():DisplayObject
+		public function get track():IUIBase
 		{
 			return _track;
 		}
@@ -129,7 +141,7 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get thumb():DisplayObject
+		public function get thumb():IUIBase
 		{
 			return _thumb;
 		}
@@ -139,22 +151,22 @@
 		 */
 		private function sizeChangeHandler( event:Event ) : void
 		{
-			var w:Number = UIBase(_strand).width;
-			var h:Number = UIBase(_strand).height;
+			var host:UIBase = UIBase(_strand);
+			var w:Number = host.width;
+			var h:Number = host.height;
 			
 			_thumb.width = 20;
-			_thumb.height = UIBase(_strand).height;
-			
-			_thumb.x = 10;
-			_thumb.y = 0;
-			
+			_thumb.height = host.height;
+		
 			// the track is inset 1/2 of the thumbwidth so the thumb can
 			// overlay the track on either end with the thumb center being
 			// on the track's edge
-			_track.width = UIBase(_strand).width - _thumb.width;
+			_track.width = host.width - _thumb.width;
 			_track.height = 5;
 			_track.x = _thumb.width/2;
-			_track.y = (UIBase(_strand).height - _track.height)/2;
+			_track.y = (host.height - _track.height)/2;
+			
+			setThumbPositionFromValue(rangeModel.value);
 		}
 		
 		/**
@@ -171,8 +183,11 @@
 		private function setThumbPositionFromValue( value:Number ) : void
 		{
 			var p:Number = (value-rangeModel.minimum)/(rangeModel.maximum-rangeModel.minimum);
-			var xloc:Number = p*(UIBase(_strand).width - _thumb.width);
-			
+			var xloc:Number = (p*_track.width); 
+			COMPILE::JS
+			{
+				_thumb.element.style.position = 'absolute';
+			}
 			_thumb.x = xloc;
 		}
 	}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
index a162669..22a7fc7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
@@ -18,17 +18,17 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
+    import flash.display.Graphics;
     import flash.display.Sprite;
-	import flash.display.Graphics;
-	
-	import org.apache.flex.core.IBead;
+    
+    import org.apache.flex.core.IBead;
     import org.apache.flex.core.IBeadView;
     import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
+    import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
 
     /**
      *  The SolidBackgroundBead class draws a solid filled background.
@@ -77,27 +77,41 @@
             IEventDispatcher(host).addEventListener("widthChanged", changeHandler);
 			IEventDispatcher(host).addEventListener("sizeChanged", changeHandler);
 			IEventDispatcher(host).addEventListener("initComplete", changeHandler);
+			IEventDispatcher(host).addEventListener("layoutComplete", changeHandler);
 			
+			setupStyle();
+			
+			var ilc:ILayoutChild = value as ILayoutChild;
+			if (ilc)
+			{
+				if (!isNaN(ilc.explicitWidth) && !isNaN(ilc.explicitHeight))
+				{
+					changeHandler(null);
+				}
+			}
+
+		}
+		
+		protected function setupStyle():void
+		{
 			var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
 			if ((bgColor is String) && (bgColor == "transparent")) {
 				bgColor = null;
 				opacity = 0;
 			}
 			else if( bgColor != null ) {
-				backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
+				_backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
 			}
 			
 			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(host, "opacity");
 			if( bgAlpha != null ) {
-				opacity = Number(bgAlpha);
+				_opacity = Number(bgAlpha);
 			}
-            
-            var corner:Object = ValuesManager.valuesImpl.getValue(host, "border-radius");
-            if( corner != null ) {
-                borderRadius = Number(corner);
-            }
-            
-            changeHandler(null);
+			
+			var corner:Object = ValuesManager.valuesImpl.getValue(host, "border-radius");
+			if( corner != null ) {
+				_borderRadius = Number(corner);
+			}
 		}
 		
 		private var _backgroundColor:uint;
@@ -175,9 +189,9 @@
                 changeHandler(null);
         }
         
-		private function changeHandler(event:Event):void
+		protected function changeHandler(event:Event):void
 		{
-            var g:Graphics = Sprite(host).graphics;
+            var g:Graphics = Sprite(host).graphics as Graphics;
             var w:Number = host.width;
             var h:Number = host.height;
 			
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TableCellView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TableCellView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TableCellView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TableCellView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
index 3ab2874..8176f53 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
@@ -96,14 +96,16 @@
             IEventDispatcher(_strand).addEventListener("heightChanged", heightChangeHandler);
             IEventDispatcher(_strand).addEventListener("sizeChanged", sizeChangeHandler);
 			DisplayObjectContainer(value).addChild(_textField);
-			if (_textModel.text !== null)
-				text = _textModel.text;
-			if (_textModel.html !== null)
-				html = _textModel.html;
-            
+
             var ilc:ILayoutChild = host as ILayoutChild;
             autoHeight = ilc.isHeightSizedToContent();
             autoWidth = ilc.isWidthSizedToContent();
+			
+			if (_textModel.text !== null)
+				text = _textModel.text;
+			if (_textModel.html !== null)
+				html = _textModel.html;            
+			
             if (!autoWidth && !isNaN(ilc.explicitWidth))
             {
                 widthChangeHandler(null);
@@ -399,6 +401,13 @@
                 textField.autoSize = "none";
                 textField.width = host.width;
             }
+            
+            if (autoWidth) {
+                (host as UIBase).setWidth(textField.textWidth, true);
+            }
+            if (autoHeight) {
+                (host as UIBase).setHeight(textField.textHeight, true);
+            }
         }
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as
index a6f1438..9d27974 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as
@@ -84,6 +84,8 @@
                 h = textField.textHeight;
                 textField.text = s;
                 ilc.setWidth(w + uiMetrics.left + uiMetrics.right, true);
+				// TextInput doesn't stretch if no width like divs do
+				ilc.explicitWidth = ilc.width;
             }
             if (ilc.isHeightSizedToContent())
             {
@@ -97,6 +99,8 @@
                     textField.text = s;                    
                 }
                 ilc.setHeight(h + uiMetrics.top + uiMetrics.bottom, true);
+				// TextInput doesn't stretch if no height like divs do
+				ilc.explicitHeight = ilc.height;
             }
 			
 			heightChangeHandler(null);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
index fbab13e..5db680c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
@@ -61,6 +61,11 @@
 			
             value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
 			value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
+			
+			// if we aren't going to get resized, draw the border now
+            var ilc:ILayoutChild = host as ILayoutChild;
+            if (ilc.isWidthSizedToContent() && !isNaN(ilc.explicitHeight))
+				ilc.dispatchEvent(new Event("initComplete"));
 		}
 
         /**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
index 9ffd9fe..7752e90 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
@@ -19,6 +19,7 @@
 package org.apache.flex.html.beads
 {
     import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IList;
 	import org.apache.flex.core.IDataProviderItemRendererMapper;
     import org.apache.flex.core.IItemRendererClassFactory;
     import org.apache.flex.core.IItemRendererParent;
@@ -75,21 +76,24 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
 			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
 		}
 		
 		private function finishSetup(event:Event):void
 		{
 			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
 			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
             
+			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
+			// already have been loaded by DataContainerBase.addedToParent function.
             if (!itemRendererFactory)
             {
-                _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-                _strand.addBead(_itemRendererFactory);
+				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+				if (!_itemRendererFactory)
+				{
+	                _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+    	            _strand.addBead(_itemRendererFactory);
+				}
             }
             
 			dataProviderChangeHandler(null);
@@ -125,23 +129,24 @@
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
-         */
-		protected var dataGroup:IItemRendererParent;
-		
+         */		
 		private function dataProviderChangeHandler(event:Event):void
 		{
 			var dp:Array = selectionModel.dataProvider as Array;
 			if (!dp)
 				return;
 			
-			dataGroup.removeAllElements();
+			var list:IList = _strand as IList;
+			var dataGroup:IItemRendererParent = list.dataGroup;
+			
+			dataGroup.removeAllItemRenderers();
 			
 			var n:int = dp.length; 
 			for (var i:int = 0; i < n; i++)
 			{
 				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
                 tf.index = i;
-                dataGroup.addElement(tf);
+                dataGroup.addItemRenderer(tf);
                 if (selectionModel.labelField)
                     tf.text = dp[i][selectionModel.labelField];
                 else
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
index b0c11b5..d0d49a2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
@@ -22,8 +22,10 @@
     import org.apache.flex.core.IBead;
     import org.apache.flex.core.IItemRendererClassFactory;
     import org.apache.flex.core.IItemRendererParent;
+	import org.apache.flex.core.IList;
     import org.apache.flex.core.ISelectionModel;
     import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.events.IEventDispatcher;
@@ -74,15 +76,26 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
+			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
 		}
 		
 		private function finishSetup(event:Event):void
 		{
 			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			var listView:IListView = _strand.getBeadByType(IListView) as IListView;
-			dataGroup = listView.dataGroup;
-			selectionModel.addEventListener("dataProviderChange", dataProviderChangeHandler);
+			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			
+			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
+			// already have been loaded by DataContainerBase.addedToParent function.
+			if (!itemRendererFactory)
+			{
+				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+				if (!_itemRendererFactory)
+				{
+					_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+					_strand.addBead(_itemRendererFactory);
+				}
+			}
+			
 			dataProviderChangeHandler(null);
 		}
 		
@@ -123,14 +136,17 @@
 		{
 			var dp:Vector.<String> = selectionModel.dataProvider as Vector.<String>;
 			
-			dataGroup.removeAllElements();
+			var list:IList = _strand as IList;
+			var dataGroup:IItemRendererParent = list.dataGroup;
+			
+			dataGroup.removeAllItemRenderers();
 			
 			var n:int = dp.length; 
 			for (var i:int = 0; i < n; i++)
 			{
 				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
                 tf.index = i;
-                dataGroup.addElement(tf);
+                dataGroup.addItemRenderer(tf);
 				tf.text = dp[i];
 				
 				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
index 206f43e..0f27523 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
@@ -47,12 +47,12 @@
         <js:LayoutChangeNotifier watchedProperty="{titleLabel.text}" />
     </js:beads>
 
-    <js:Label id="titleLabel" text="{ITitleBarModel(model).title}" >
+    <js:Label id="titleLabel" text="{ITitleBarModel(model).title}" className="TitleBarTitle" >
         <js:style>
-            <js:SimpleCSSStyles fontWeight="inherit" margin="5" />
+            <js:SimpleCSSStyles fontWeight="inherit" marginRight="5" marginLeft="5" />
         </js:style>
     </js:Label>
-    <js:CloseButton id="closeButton" click="clickHandler()"
-                       visible="{ITitleBarModel(model).showCloseButton}"/>
+    <js:CloseButton id="closeButton" click="clickHandler()" className="TitleBarCloseButton"
+                    visible="{ITitleBarModel(model).showCloseButton}"/>
     
 </js:MXMLBeadView>
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
index 840f7bf..979ac8e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
@@ -61,6 +61,26 @@
 		}
 
         /**
+         *  The default step size for up and down arrows as a divisor
+         *  to the height of the scroll bar.  In other words, if
+         *  STEP_RATE is set to 20, then it will take 20 clicks on
+         *  the thumb to move the bottom of the screen to the top.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public static var STEP_RATE:int = 20;
+        
+        override protected function changeHandler(event:Event):void
+        {
+            layout.layout();
+            sbModel = host.getBeadByType(IScrollBarModel) as IScrollBarModel;
+            sbModel.stepSize = Math.max(Math.round(host.height / STEP_RATE), 1);
+        }            
+
+        /**
          *  @copy org.apache.flex.core.IBead#strand
          *  
          *  @langversion 3.0
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
index 12fb59c..a3d3dc2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
@@ -18,87 +18,63 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.controllers
 {
-	import flash.display.DisplayObject;
-	
 	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.IComboBoxModel;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.MouseEvent;
+	import org.apache.flex.events.MouseEvent;
+	import org.apache.flex.html.TextInput;
+	import org.apache.flex.html.List;
 	import org.apache.flex.html.beads.IComboBoxView;
-
-	/**
-	 *  The ComboBoxController class bead handles mouse events on the elements of
-	 *  the org.apache.flex.html.ComboBox. This includes selecting the 
-	 *  button to display the selection list pop-up as well as selecting an item from the 
-	 *  pop-up list.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
+	
 	public class ComboBoxController implements IBeadController
 	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
 		public function ComboBoxController()
 		{
 		}
 		
 		private var _strand:IStrand;
 		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
+		private var viewBead:IComboBoxView;
+		
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-            IEventDispatcher(value).addEventListener(MouseEvent.CLICK, clickHandler);
+			
+			viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
+			if (viewBead) {
+				finishSetup(null);
+			} else {
+				IEventDispatcher(_strand).addEventListener("viewChanged", finishSetup);
+			}
 		}
 		
-		/**
-		 * @private
-		 */
-        private function clickHandler(event:MouseEvent):void
-        {
-            var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
-            viewBead.popUpVisible = true;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
-            popUpModel.dataProvider = selectionModel.dataProvider;
-            popUpModel.selectedIndex = selectionModel.selectedIndex;
-			DisplayObject(viewBead.popUp).width = DisplayObject(_strand).width;
-			DisplayObject(viewBead.popUp).height = 200;
-			DisplayObject(viewBead.popUp).x = DisplayObject(_strand).x;
-			DisplayObject(viewBead.popUp).y = DisplayObject(_strand).y;
-            IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
-        }
-        
-		/**
-		 * @private
-		 */
-        private function changeHandler(event:Event):void
-        {
-            var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
-            viewBead.popUpVisible = false;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
-            selectionModel.selectedIndex = popUpModel.selectedIndex;
+		private function finishSetup(event:Event):void
+		{
+			if (viewBead == null) {
+				viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
+			}
+			
+			IEventDispatcher(viewBead.popupButton).addEventListener("click", handleButtonClick);
+		}
+		
+		private function handleButtonClick(event:MouseEvent):void
+		{			
+			viewBead.popUpVisible = !viewBead.popUpVisible;
+			IEventDispatcher(viewBead.popUp).addEventListener("change", handleListChange);
+		}
+		
+		private function handleListChange(event:Event):void
+		{
+			var list:List = viewBead.popUp as List;
+			var input:TextInput = viewBead.textInputField as TextInput;
+			input.text = list.selectedItem as String;
+			
+			viewBead.popUpVisible = false;
+			
 			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-        }
-	
+		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
index c0bed5b..65b4b49 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
@@ -21,6 +21,7 @@
 	import org.apache.flex.html.beads.DateChooserView;
 	import org.apache.flex.html.beads.models.DateChooserModel;
 	import org.apache.flex.html.supportClasses.DateChooserButton;
+    import org.apache.flex.html.supportClasses.DateChooserList;
 	
 	import org.apache.flex.core.IBeadController;
 	import org.apache.flex.core.IBeadModel;
@@ -68,21 +69,28 @@
 		{
 			_strand = value;
 			
-			var view:DateChooserView = value.getBeadByType(IBeadView) as DateChooserView;
+            var view:DateChooserView = value.getBeadByType(IBeadView) as DateChooserView;
 			view.prevMonthButton.addEventListener("click", prevMonthClickHandler);
 			view.nextMonthButton.addEventListener("click", nextMonthClickHandler);
 			
-			var dayButtons:Array = view.dayButtons;
-			for(var i:int=0; i < dayButtons.length; i++) {
-				IEventDispatcher(dayButtons[i]).addEventListener("click", dayButtonClickHandler);
-			}
+            IEventDispatcher(view.dayList).addEventListener("change", listHandler);
 		}
 		
+        private function listHandler(event:Event):void
+        {
+            var list:DateChooserList = event.target as DateChooserList;
+            var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;                     
+            model.selectedDate = list.selectedItem as Date;
+            IEventDispatcher(_strand).dispatchEvent( new Event("change") );
+        }
+
 		/**
 		 * @private
 		 */
-		private function prevMonthClickHandler(event:Event):void
+		private function prevMonthClickHandler(event:MouseEvent):void
 		{
+            event.preventDefault();
+            
 			var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
 			var month:Number = model.displayedMonth - 1;
 			var year:Number  = model.displayedYear;
@@ -97,8 +105,10 @@
 		/**
 		 * @private
 		 */
-		private function nextMonthClickHandler(event:Event):void
+		private function nextMonthClickHandler(event:MouseEvent):void
 		{
+            event.preventDefault();
+            
 			var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
 			var month:Number = model.displayedMonth + 1;
 			var year:Number  = model.displayedYear;
@@ -110,18 +120,5 @@
 			model.displayedYear = year;
 		}
 		
-		/**
-		 * @private
-		 */
-		private function dayButtonClickHandler(event:MouseEvent):void
-		{
-			var dateButton:DateChooserButton = event.target as DateChooserButton;
-			if (dateButton.dayOfMonth > 0) {
-				var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
-				var newDate:Date = new Date(model.displayedYear,model.displayedMonth,dateButton.dayOfMonth);
-				model.selectedDate = newDate;
-				IEventDispatcher(_strand).dispatchEvent( new Event("change") );
-			}
-		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
index c4f130a..7c94fc8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
@@ -21,11 +21,14 @@
 	import org.apache.flex.core.IBeadController;
 	import org.apache.flex.core.IDateChooserModel;
 	import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.MouseEvent;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.html.beads.DateFieldView;
+    import org.apache.flex.utils.Timer;
+    import org.apache.flex.utils.UIUtils;
 	
 	/**
 	 * The DateFieldMouseController class is responsible for monitoring
@@ -74,9 +77,41 @@
 		 */
 		private function clickHandler(event:MouseEvent):void
 		{
+            event.stopImmediatePropagation();
+            
 			var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
 			viewBead.popUpVisible = true;
 			IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
+                                   
+            removeDismissHandler();
+            
+            // use a timer to delay the installation of the event handler, otherwise
+            // the event handler is called immediately and will dismiss the popup.
+            var t:Timer = new Timer(0.25,1);
+            t.addEventListener("timer",addDismissHandler);
+            t.start();
+        }
+        
+        /**
+         * @private
+         */
+        private function addDismissHandler(event:Event):void
+        {
+            var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
+            if (host) {
+                host.addEventListener("click", dismissHandler);
+            }
+        }
+        
+        /**
+         * @private
+         */
+        private function removeDismissHandler():void
+        {
+            var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
+            if (host) {
+                host.removeEventListener("click", dismissHandler);
+            }
 		}
 		
 		/**
@@ -84,6 +119,8 @@
 		 */
 		private function changeHandler(event:Event):void
 		{
+            event.stopImmediatePropagation();
+            
 			var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
 			
 			var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
@@ -91,6 +128,39 @@
 
 			viewBead.popUpVisible = false;
 			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
+            
+            removeDismissHandler();
 		}
+        
+        /**
+         * @private
+         */
+        private function dismissHandler(event:MouseEvent):void
+        {
+            var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
+            var popup:IUIBase = IUIBase(viewBead.popUp);
+            
+            COMPILE::SWF {
+                var before:IUIBase = event.targetBeforeBubbling["flexjs_wrapper"] as IUIBase;
+                if (before) {
+                    while (before != null) {
+                        if (before == popup) return;
+                        before = before.parent as IUIBase;
+                    }
+                }
+            }
+                COMPILE::JS {
+                    var before:IUIBase = event.target as IUIBase;
+                    if (before) {
+                        while (before != null) {
+                            if (before == popup) return;
+                            before = before.parent as IUIBase;
+                        }
+                    }
+                }
+                
+                viewBead.popUpVisible = false;
+            removeDismissHandler();
+        }
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
index 77ab6f5..57bacbd 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
@@ -118,7 +118,7 @@
 			IEventDispatcher(event.item).addEventListener("itemRollOut", rolloutHandler);
 		}
 		
-		protected function handleItemRemoved(event:ItemAddedEvent):void
+		protected function handleItemRemoved(event:ItemRemovedEvent):void
 		{
 			IEventDispatcher(event.item).removeEventListener("itemClicked", selectedHandler);
 			IEventDispatcher(event.item).removeEventListener("itemRollOver", rolloverHandler);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
index 487b365..91589b5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
@@ -94,10 +94,9 @@
             }
             COMPILE::JS
             {
-                track = value.getBeadByType(
-                    SliderTrackView) as SliderTrackView;
-                thumb = value.getBeadByType(
-                    SliderThumbView) as SliderThumbView;
+				var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
+				track = sliderView.track as UIBase;
+				thumb = sliderView.thumb as UIBase;
                 
                 goog.events.listen(track.element, goog.events.EventType.CLICK,
                     handleTrackClick, false, this);
@@ -109,10 +108,10 @@
 		}
 		
         COMPILE::JS
-        private var track:SliderTrackView;
+        private var track:UIBase;
         
         COMPILE::JS
-        private var thumb:SliderThumbView;
+        private var thumb:UIBase;
         
 		/**
 		 * @private
@@ -158,7 +157,7 @@
 			var thumbW:Number = sliderView.thumb.width/2;
 			var newX:Number = thumb.x + deltaX;
 			
-			var p:Number = newX/UIBase(_strand).width;
+			var p:Number = newX/sliderView.track.width;
 			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
 		
 			rangeModel.value = n;
@@ -177,7 +176,7 @@
 			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
 			
 			var xloc:Number = event.localX;
-			var p:Number = xloc/UIBase(_strand).width;
+			var p:Number = xloc/sliderView.track.width;
 			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
 			
 			rangeModel.value = n;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
index a668fa4..8e749d4 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
@@ -23,6 +23,7 @@
 	import org.apache.flex.events.ItemClickedEvent;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
 
 	/**
 	 *  The TreeSingleSelectionMouseController class is a controller for 
@@ -76,7 +77,9 @@
 				flatList.openNode(node);
 			}
 			
+            listModel.selectedItem = node;
 			listModel.dispatchEvent(new Event("dataProviderChanged"));
+            IEventDispatcher(_strand).dispatchEvent(new Event("change"));
 		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
index b566354..a7a54ac 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
@@ -18,11 +18,14 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
+	import org.apache.flex.core.LayoutBase;
 	
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.IParentIUIBase;
+	import org.apache.flex.core.ILayoutParent;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.IParent;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
     import org.apache.flex.core.UIBase;
@@ -30,24 +33,23 @@
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.utils.CSSUtils;
-	//import org.apache.flex.utils.dbg.DOMPathUtil;
 
     /**
      *  The BasicLayout class is a simple layout
      *  bead.  It takes the set of children and lays them out
      *  as specified by CSS properties like left, right, top
      *  and bottom.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class BasicLayout implements IBeadLayout
+	public class BasicLayout extends LayoutBase implements IBeadLayout
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -55,389 +57,148 @@
          */
 		public function BasicLayout()
 		{
+			super();
 		}
-		
-        // the strand/host container is also an ILayoutChild because
-        // can have its size dictated by the host's parent which is
-        // important to know for layout optimization
-        private var host:ILayoutChild;
-        		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-            host = value as ILayoutChild;
-		}
-	        
+
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
 		 * @flexjsignorecoercion org.apache.flex.core.ILayoutHost
 		 * @flexjsignorecoercion org.apache.flex.core.UIBase
          */
-		public function layout():Boolean
+		override public function layout():Boolean
 		{
             COMPILE::SWF
             {
-                //trace(DOMPathUtil.getPath(host), event ? event.type : "fixed size");
-                var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-                var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
-                
-                var gotMargin:Boolean;
-                var marginLeft:Object;
-                var marginRight:Object;
-                var marginTop:Object;
-                var marginBottom:Object;
-                var margin:Object;
-                var ml:Number;
-                var mr:Number;
-                var mt:Number;
-                var mb:Number;
-                var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
-                var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
-                var w:Number = hostWidthSizedToContent ? 0 : contentView.width;
-                var h:Number = hostHeightSizedToContent ? 0 : contentView.height;
-                var n:int = contentView.numElements;
-                var maxWidth:Number = 0;
-                var maxHeight:Number = 0;
-                var childData:Array = [];
+				var contentView:ILayoutView = layoutView;
+
+				var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+				var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+
+				var w:Number = hostWidthSizedToContent ? 0 : contentView.width;
+				var h:Number = hostHeightSizedToContent ? 0 : contentView.height;
+
+				var n:int = contentView.numElements;
+
                 for (var i:int = 0; i < n; i++)
                 {
                     var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-                    var left:Number = ValuesManager.valuesImpl.getValue(child, "left");
-                    var right:Number = ValuesManager.valuesImpl.getValue(child, "right");
-                    var top:Number = ValuesManager.valuesImpl.getValue(child, "top");
-                    var bottom:Number = ValuesManager.valuesImpl.getValue(child, "bottom");
+					if (child == null || !child.visible) continue;
+
+					var positions:Object = childPositions(child);
+					var margins:Object = childMargins(child, contentView.width, contentView.height);
                     var ww:Number = w;
                     var hh:Number = h;
-                    
+
                     var ilc:ILayoutChild = child as ILayoutChild;
-                    if (!isNaN(left))
+
+					// set the top edge of the child
+                    if (!isNaN(positions.left))
                     {
                         if (ilc)
-                            ilc.setX(left);
+                            ilc.setX(positions.left+margins.left);
                         else
-                            child.x = left;
-                        ww -= left;
+                            child.x = positions.left+margins.left;
+                        ww -= positions.left + margins.left;
                     }
-                    if (!isNaN(top))
+
+					// set the left edge of the child
+                    if (!isNaN(positions.top))
                     {
                         if (ilc)
-                            ilc.setY(top);
+                            ilc.setY(positions.top+margins.top);
                         else
-                            child.y = top;
-                        hh -= top;
+                            child.y = positions.top+margins.top;
+                        hh -= positions.top + margins.top;
                     }
-                    if (ilc)
-                    {
-                        if (!hostWidthSizedToContent)
-                        {
-                            if (!isNaN(ilc.percentWidth))
-                                ilc.setWidth((ww - (isNaN(right) ? 0 : right)) * ilc.percentWidth / 100, true);
-                        }
-                        else
-                            childData[i] = { bottom: bottom, right: right, ww: ww, ilc: ilc, child: child };
-                    }
-                    if (!isNaN(right))
-                    {
-                        if (!hostWidthSizedToContent)
-                        {
-                            if (!isNaN(left))
-                            {
-                                if (ilc)
-                                    ilc.setWidth(ww - right, true);
-                                else
-                                    child.width = ww - right;
-                            }
-                            else
-                            {
-                                if (ilc)
-                                    ilc.setX( w - right - child.width);
-                                else
-                                    child.x = w - right - child.width;
-                            }
-                        }
-                        else
-                            childData[i] = { ww: ww, left: left, right: right, ilc: ilc, child: child };
-                    }
-                    
-                    if (isNaN(right) && isNaN(left))
-                    {
-                        margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                        gotMargin = true;
-                        marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                        marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                        var horizontalCenter:Boolean = 
-                            (marginLeft == "auto" && marginRight == "auto") ||
-                            (margin is String && margin == "auto") ||
-                            (margin is Array && 
-                                ((margin.length < 4 && margin[1] == "auto") ||
-                                    (margin.length == 4 && margin[1] == "auto" && margin[3] == "auto")));
-                        if (!hostWidthSizedToContent)
-                        {
-                            if (!horizontalCenter)
-                            {
-                                mr = CSSUtils.getRightValue(marginRight, margin, ww);
-                                ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
-                                if (ilc)
-                                    ilc.setX(ml);
-                                else
-                                    child.x = ml;
-                                if (ilc && isNaN(ilc.percentWidth) && isNaN(ilc.explicitWidth))
-                                    child.width = ww - child.x - mr;
-                            }
-                            else
-                            {
-                                if (ilc)
-                                    ilc.setX((ww - child.width) / 2);
-                                else
-                                    child.x = (ww - child.width) / 2;    
-                            }
-                        }
-                        else 
-                        {
-                            if (!horizontalCenter)
-                            {
-                                mr = CSSUtils.getRightValue(marginRight, margin, ww);
-                                ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
-                                if (ilc)
-                                    ilc.setX(ml);
-                                else
-                                    child.x = ml;
-                                if (ilc && isNaN(ilc.percentWidth) && isNaN(ilc.explicitWidth))
-                                    childData[i] = { ww: ww, left: ml, right: mr, ilc: ilc, child: child };
-                            }
-                            else
-                            {
-                                childData[i] = { ww: ww, center: true, ilc: ilc, child: child };                            
-                            }
-                        }
-                        
-                    }
-                    if (isNaN(top) && isNaN(bottom))
-                    {
-                        if (!gotMargin)
-                            margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                        marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                        marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-                        mt = CSSUtils.getTopValue(marginTop, margin, hh);
-                        mb = CSSUtils.getBottomValue(marginBottom, margin, hh);
-                        if (ilc)
-                            ilc.setY(mt);
-                        else
-                            child.y = mt;
-                        /* browsers don't use margin-bottom to stretch things vertically
-                        if (!hostHeightSizedToContent)
-                        {
-                        if (ilc && isNaN(ilc.percentHeight) && isNaN(ilc.explicitHeight))
-                        child.height = hh - child.y - mb;
-                        }
-                        else
-                        {
-                        if (!childData[i])
-                        childData[i] = { hh: hh, bottom: mb, ilc: ilc, child: child };
-                        else
-                        {
-                        childData[i].hh = hh;
-                        childData[i].bottom = mb;
-                        }
-                        }
-                        */
-                    }
-                    
-                    if (ilc)
-                    {
-                        if (!hostHeightSizedToContent)
-                        {
-                            if (!isNaN(ilc.percentHeight))
-                                ilc.setHeight((hh - (isNaN(bottom) ? 0 : bottom)) * ilc.percentHeight / 100, true);
-                        }
-                        else
-                        {
-                            if (!childData[i])
-                                childData[i] = { hh: hh, bottom: bottom, ilc: ilc, child: child };
-                            else
-                            {
-                                childData[i].hh = hh;
-                                childData[i].bottom = bottom;
-                            }
-                        }
-                    }
-                    if (!isNaN(bottom))
-                    {
-                        if (!hostHeightSizedToContent)
-                        {
-                            if (!isNaN(top))
-                            {
-                                if (ilc)
-                                    ilc.setHeight(hh - bottom, true);
-                                else
-                                    child.height = hh - bottom;
-                            }
-                            else
-                            {
-                                if (ilc)
-                                    ilc.setY(h - bottom - child.height);
-                                else
-                                    child.y = h - bottom - child.height;
-                            }
-                        }
-                        else
-                        {
-                            if (!childData[i])
-                                childData[i] = { top: top, bottom: bottom, hh:hh, ilc: ilc, child: child };
-                            else
-                            {
-                                childData[i].top = top;
-                                childData[i].bottom = bottom;
-                                childData[i].hh = hh;
-                            }
-                        }
-                    }
-                    if (!childData[i])
-                        child.dispatchEvent(new Event("sizeChanged"));
-                    maxWidth = Math.max(maxWidth, child.x + child.width);
-                    maxHeight = Math.max(maxHeight, child.y + child.height);
+
+					// set the right edge of the child
+					if (!isNaN(positions.right))
+					{
+						if (!hostWidthSizedToContent)
+						{
+							if (!isNaN(positions.left))
+							{
+								if (ilc)
+									ilc.setWidth(ww - positions.right - margins.right, false);
+								else
+									child.width = ww - positions.right - margins.right;
+							}
+							else
+							{
+								if (ilc)
+								{
+									ilc.setX( w - positions.right - margins.left - child.width - margins.right);
+								}
+								else
+								{
+									child.x = w - positions.right - margins.left - child.width - margins.right;
+								}
+							}
+						}
+					}
+					else if (ilc != null && !isNaN(ilc.percentWidth) && !hostWidthSizedToContent)
+					{
+						ilc.setWidth((ww - margins.right - margins.left) * ilc.percentWidth/100, false);
+					}
+
+					// set the bottm edge of the child
+					if (!isNaN(positions.bottom))
+					{
+						if (!hostHeightSizedToContent)
+						{
+							if (!isNaN(positions.top))
+							{
+								if (ilc)
+									ilc.setHeight(hh - positions.bottom - margins.bottom, false);
+								else
+									child.height = hh - positions.bottom - margins.bottom;
+							}
+							else
+							{
+								if (ilc)
+									ilc.setY( h - positions.bottom - child.height - margins.bottom);
+								else
+									child.y = h - positions.bottom - child.height - margins.bottom;
+							}
+						}
+					}
+					else if (ilc != null && !isNaN(ilc.percentHeight) && !hostHeightSizedToContent)
+					{
+						ilc.setHeight((hh - margins.top - margins.bottom) * ilc.percentHeight/100, false);
+					}
+					
+					if (margins.auto)
+					{
+						if (ilc)
+							ilc.setX( (w - child.width) / 2);
+						else
+							child.x = (w - child.width) / 2;
+					}
                 }
-                if (hostHeightSizedToContent || hostWidthSizedToContent)
-                {
-                    for (i = 0; i < n; i++)
-                    {
-                        var data:Object = childData[i];
-                        if (data)
-                        {
-                            if (hostWidthSizedToContent)
-                            {
-                                if (data.ilc && !isNaN(data.ilc.percentWidth))
-                                    data.ilc.setWidth((data.ww - (isNaN(data.right) ? 0 : data.right)) * data.ilc.percentWidth / 100, true);
-                                if (data.center)
-                                {
-                                    if (data.ilc)
-                                        data.ilc.setX((data.ww - data.child.width) / 2);
-                                    else
-                                        data.child.x = (data.ww - data.child.width) / 2; 
-                                }
-                                else if (!isNaN(data.right))
-                                {
-                                    if (!isNaN(data.left))
-                                    {
-                                        if (data.ilc)
-                                            data.ilc.setWidth(data.ww - data.right, true);
-                                        else
-                                            data.child.width = data.ww - data.right;
-                                    }
-                                    else
-                                    {
-                                        if (data.ilc)
-                                            data.ilc.setX(maxWidth - data.right - data.child.width);
-                                        else
-                                            data.child.x = maxWidth - data.right - data.child.width;
-                                    }
-                                }
-                            }
-                            if (hostHeightSizedToContent)
-                            {
-                                if (data.ilc && !isNaN(data.ilc.percentHeight))
-                                    data.ilc.setHeight((data.hh - (isNaN(data.bottom) ? 0 : data.bottom)) * data.ilc.percentHeight / 100, true);
-                                if (!isNaN(data.bottom))
-                                {
-                                    if (!isNaN(data.top))
-                                    {
-                                        if (data.ilc)
-                                            data.ilc.setHeight(data.hh - data.bottom, true);
-                                        else
-                                            data.child.height = data.hh - data.bottom;
-                                    }
-                                    else
-                                    {
-                                        if (data.ilc)
-                                            data.ilc.setY(maxHeight - data.bottom - data.child.height);
-                                        else
-                                            data.child.y = maxHeight - data.bottom - data.child.height;
-                                    }
-                                }
-                            }
-                            child.dispatchEvent(new Event("sizeChanged"));
-                        }
-                    }
-                }
-                
-                host.dispatchEvent( new Event("layoutComplete") );
-                
+
                 return true;
-                
+
             }
+
             COMPILE::JS
             {
                 var i:int
                 var n:int;
-                var h:Number;
-                var w:Number;
-                
-                var viewBead:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-                var contentView:IParentIUIBase = viewBead.contentView;
-                w = contentView.width;
-                var hasWidth:Boolean = !host.isWidthSizedToContent();
-                h = contentView.height;
-                var hasHeight:Boolean = !host.isHeightSizedToContent();
-                var maxHeight:Number = 0;
-                var maxWidth:Number = 0;
+				var contentView:ILayoutView = layoutView;
+
                 n = contentView.numElements;
-                for (i = 0; i < n; i++) {
-                    var child:UIBase = contentView.getElementAt(i) as UIBase;
-                    child.setDisplayStyleForLayout('block');
-                    var left:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'left');
-                    var right:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'right');
-                    var top:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'top');
-                    var bottom:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'bottom');
-                    var margin:String = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'margin');
-                    var marginLeft:String = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'margin-left');
-                    var marginRight:String = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'margin-right');
-                    var horizontalCenter:Boolean =
-                        (marginLeft == 'auto' && marginRight == 'auto') ||
-                        (typeof(margin) === 'string' && margin == 'auto') ||
-                        (margin && margin.hasOwnProperty('length') &&
-                            ((margin.length < 4 && margin[1] == 'auto') ||
-                                (margin.length == 4 && margin[1] == 'auto' && margin[3] == 'auto')));
-                    
-                    if (!isNaN(left)) {
-                        child.positioner.style.position = 'absolute';
-                        child.positioner.style.left = left.toString() + 'px';
-                    }
-                    if (!isNaN(top)) {
-                        child.positioner.style.position = 'absolute';
-                        child.positioner.style.top = top.toString() + 'px';
-                    }
-                    if (!isNaN(right)) {
-                        child.positioner.style.position = 'absolute';
-                        child.positioner.style.right = right.toString() + 'px';
-                    }
-                    if (!isNaN(bottom)) {
-                        child.positioner.style.position = 'absolute';
-                        child.positioner.style.bottom = bottom.toString() + 'px';
-                    }
-                    if (horizontalCenter)
-                    {
-                        child.positioner.style.position = 'absolute';
-                        child.positioner.style.left = ((w - child.width) / 2).toString() + 'px';
-                    }
-                    child.dispatchEvent('sizeChanged');
-                    maxWidth = Math.max(maxWidth, child.positioner.offsetLeft + child.positioner.offsetWidth);
-                    maxHeight = Math.max(maxHeight, child.positioner.offsetTop + child.positioner.offsetHeight);
-                }
-                // if there are children and maxHeight is ok, use it.
-                // maxHeight can be NaN if the child hasn't been rendered yet.
-                if (!hasWidth && n > 0 && !isNaN(maxWidth)) {
-                    contentView.width = maxWidth;
-                }
-                if (!hasHeight && n > 0 && !isNaN(maxHeight)) {
-                    contentView.height = maxHeight;
-                }
+
+				// host must have either have position:absolute or position:relative
+				if (contentView.element.style.position != "absolute" && contentView.element.style.position != "relative") {
+					contentView.element.style.position = "relative";
+				}
+
+				// each child must have position:absolute for BasicLayout to work
+				for (i=0; i < n; i++) {
+					var child:UIBase = contentView.getElementAt(i) as UIBase;
+					child.positioner.style.position = "absolute";
+				}
+
                 return true;
             }
 		}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
index 5bd1159..51d0c4c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
@@ -17,40 +17,31 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
-{	
+{
 	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.ISelectionModel;
+	import org.apache.flex.core.ILayoutChild;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.IStyleableObject;
 	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.List;
-	import org.apache.flex.html.beads.ButtonBarView;
-	
+	import org.apache.flex.html.beads.models.ButtonBarModel;
+	import org.apache.flex.html.supportClasses.UIItemRendererBase;
+
 	/**
-	 *  The ButtonBarLayout class bead sizes and positions the org.apache.flex.html.Button 
-	 *  elements that make up a org.apache.flex.html.ButtonBar. This bead arranges the Buttons 
+	 *  The ButtonBarLayout class bead sizes and positions the button
+	 *  elements that make up a org.apache.flex.html.ButtonBar. This bead arranges the Buttons
 	 *  horizontally and makes them all the same width unless the buttonWidths property has been set in which case
 	 *  the values stored in that array are used.
-	 *  
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class ButtonBarLayout implements IBeadLayout
+	public class ButtonBarLayout extends HorizontalFlexLayout implements IBeadLayout
 	{
 		/**
 		 *  constructor.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -58,29 +49,16 @@
 		 */
 		public function ButtonBarLayout()
 		{
+			super();
 		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
+
+		private var _widthType:Number = ButtonBarModel.PIXEL_WIDTHS;
 		private var _buttonWidths:Array = null;
-		
+
 		/**
 		 *  An array of widths (Number), one per button. These values supersede the
 		 *  default of equally-sized buttons.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -94,50 +72,75 @@
 		{
 			_buttonWidths = value;
 		}
-		
+
 		/**
 		 * @copy org.apache.flex.core.IBeadLayout#layout
 		 */
-		public function layout():Boolean
+		override public function layout():Boolean
 		{
-			var layoutParent:ILayoutHost = _strand.getBeadByType(ILayoutHost) as ILayoutHost;
-			var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
-			var itemRendererParent:IItemRendererParent = contentView as IItemRendererParent;
-			var viewportModel:IViewportModel = (layoutParent as ButtonBarView).viewportModel;
-			
+			var contentView:ILayoutView = layoutView;
+
+			var model:ButtonBarModel = (host as IStrand).getBeadByType(ButtonBarModel) as ButtonBarModel;
+			if (model) {
+				buttonWidths = model.buttonWidths;
+				_widthType = model.widthType;
+			}
+
 			var n:int = contentView.numElements;
-			var realN:int = n;
-			
-			for (var j:int=0; j < n; j++)
-			{
-				var child:IUIBase = itemRendererParent.getElementAt(j) as IUIBase;
-				if (child == null || !child.visible) realN--;
-			}
-			
-			var xpos:Number = 0;
-			var useWidth:Number = contentView.width / realN;
-			var useHeight:Number = contentView.height;
-			
+			if (n <= 0) return false;
+
 			for (var i:int=0; i < n; i++)
-			{
-				var ir:ISelectableItemRenderer = itemRendererParent.getElementAt(i) as ISelectableItemRenderer;
-				if (ir == null || !UIBase(ir).visible) continue;
-				UIBase(ir).y = 0;
-				UIBase(ir).x = xpos;
-				if (!isNaN(useHeight) && useHeight > 0) {
-					UIBase(ir).height = useHeight;
-				}
+			{	
+				var ilc:ILayoutChild = contentView.getElementAt(i) as ILayoutChild;
+				if (ilc == null || !ilc.visible) continue;
+				if (!(ilc is IStyleableObject)) continue;
 				
-				if (buttonWidths) UIBase(ir).width = Number(buttonWidths[i]);
-				else if (!isNaN(useWidth) && useWidth > 0) {
-					UIBase(ir).width = useWidth;
+				COMPILE::SWF {
+					if (buttonWidths) {
+						var widthValue:* = buttonWidths[i];
+
+						if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
+							if (widthValue != null) ilc.width = Number(widthValue);
+							IStyleableObject(ilc).style.flexGrow = 0;
+						}
+						else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
+							if (widthValue != null) {
+								IStyleableObject(ilc).style.flexGrow = Number(widthValue);
+							}
+						}
+						else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
+							if (widthValue != null) ilc.percentWidth = Number(widthValue);
+							IStyleableObject(ilc).style.flexGrow = 0;
+						}
+					} else {
+						IStyleableObject(ilc).style.flexGrow = 1;
+					}
 				}
-				xpos += UIBase(ir).width;
+
+				COMPILE::JS {
+					// otherwise let the flexbox layout handle matters on its own.
+					if (buttonWidths) {
+						var widthValue:* = buttonWidths[i];
+
+						if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
+							if (widthValue != null) ilc.width = Number(widthValue);
+						}
+						else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
+							if (widthValue != null) ilc.element.style["flex-grow"] = String(widthValue);
+						}
+						else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
+							if (widthValue != null) ilc.percentWidth = Number(widthValue);
+						}
+					} else {
+						ilc.element.style["flex-grow"] = "1";
+					}
+					
+					ilc.height = contentView.height;
+				}
 			}
-			
-			IEventDispatcher(_strand).dispatchEvent( new Event("layoutComplete") );
-			
-            return true;
+
+			// now let the horizontal layout take care of things.
+			return super.layout();
 		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
index 1d22956..fe4ccab 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
@@ -18,7 +18,8 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {	
-	import org.apache.flex.core.IBeadLayout;
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IDataGridModel;
@@ -71,16 +72,23 @@
 		{
 			_strand = value;
 			
-			var host:UIBase = _strand as UIBase;
-			host.addEventListener("widthChanged", handleSizeChanges);
-			host.addEventListener("heightChanged", handleSizeChanges);
-			host.addEventListener("sizeChanged", handleSizeChanges);
-			host.addEventListener("layoutNeeded", handleSizeChanges);
-			
+            var host:UIBase = value as UIBase;
+            
 			var view:DataGridView = host.view as DataGridView;
 			header = view.header;
 			listArea = view.listArea;
+            
+            var anylayout:IBead = listArea.getBeadByType(IBeadLayout);
+            if (anylayout != null) {
+                listArea.removeBead(anylayout);
+            }
 			listArea.addBead(new BasicLayout());
+            
+            host.addEventListener("widthChanged", handleSizeChanges);
+            host.addEventListener("heightChanged", handleSizeChanges);
+            host.addEventListener("sizeChanged", handleSizeChanges);
+            host.addEventListener("layoutNeeded", handleSizeChanges);
+
 		}
 		
 		private var _header:UIBase;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
index 4198fea..f276074 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
@@ -18,9 +18,12 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
+	import org.apache.flex.core.LayoutBase;
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.ILayoutChild;
+	import org.apache.flex.core.ILayoutView;
     import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
@@ -33,6 +36,7 @@
     import org.apache.flex.geom.Rectangle;
     import org.apache.flex.html.supportClasses.Viewport;
     import org.apache.flex.utils.CSSContainerUtils;
+	import org.apache.flex.utils.CSSUtils;
 
     /**
      *  The FlexibleFirstChildHorizontalLayout class is a simple layout
@@ -41,17 +45,17 @@
      *  CSS layout rules for margin and padding styles. But it
      *  will size the first child to take up as much or little
      *  room as possible.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class FlexibleFirstChildHorizontalLayout implements IBeadLayout
+	public class FlexibleFirstChildHorizontalLayout extends HorizontalLayout
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -59,31 +63,14 @@
          */
 		public function FlexibleFirstChildHorizontalLayout()
 		{
+			super();
 		}
-		
-        // the strand/host container is also an ILayoutChild because
-        // can have its size dictated by the host's parent which is
-        // important to know for layout optimization
-        private var host:ILayoutChild;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-            host = value as ILayoutChild;
-		}
-		
+
         private var _maxWidth:Number;
-        
+
         /**
          *  @copy org.apache.flex.core.IBead#maxWidth
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -93,20 +80,20 @@
         {
             return _maxWidth;
         }
-        
+
         /**
-         *  @private 
+         *  @private
          */
         public function set maxWidth(value:Number):void
         {
             _maxWidth = value;
         }
-        
+
         private var _maxHeight:Number;
-        
+
         /**
          *  @copy org.apache.flex.core.IBead#maxHeight
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -116,129 +103,128 @@
         {
             return _maxHeight;
         }
-        
+
         /**
-         *  @private 
+         *  @private
          */
         public function set maxHeight(value:Number):void
         {
             _maxHeight = value;
         }
-        
+
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
          */
-		public function layout():Boolean
+		COMPILE::SWF
+		override public function layout():Boolean
 		{
-			var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-			var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
-            var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-            var hostSizedToContent:Boolean = host.isHeightSizedToContent();
+			var contentView:ILayoutView = layoutView;
+
+			var n:Number = contentView.numElements;
+			if (n == 0) return false;
 			
-			var n:int = contentView.numElements;
-			var marginLeft:Object;
-			var marginRight:Object;
-			var marginTop:Object;
-			var marginBottom:Object;
-			var margin:Object;
-			maxHeight = 0;
-			var verticalMargins:Array = [];
+			// if the layoutView has no width yet, this layout cannot
+			// be run successfully, so default to HorizontalLayout.
+			if (host.isWidthSizedToContent()) {
+				return super.layout();
+			}
+
+			var maxWidth:Number = 0;
+			var maxHeight:Number = 0;
+			var hostSizedToContent:Boolean = host.isHeightSizedToContent();
+			var hostWidth:Number = contentView.width;
+			var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
+
+			var ilc:ILayoutChild;
+			var data:Object;
+			var canAdjust:Boolean = false;
+
+			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
 			
-            var xx:Number = contentView.width;
-            if (isNaN(xx) || xx <= 0)
-                return true;
-            xx -= padding.right + 1; // some browsers won't layout to the edge
-            
-            for (var i:int = n - 1; i >= 0; i--)
+			// adjust the host's usable size by the metrics. If hostSizedToContent, then the
+			// resulting adjusted value may be less than zero.
+			hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+			hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+			var xpos:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
+			var ypos:Number = borderMetrics.top + paddingMetrics.left;
+			var adjustedWidth:Number = 0;
+
+			for(var i:int=(n-1); i >= 0; i--)
 			{
 				var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-				margin = ValuesManager.valuesImpl.getValue(child, "margin");
-				if (margin is Array)
-				{
-					if (margin.length == 1)
-						marginLeft = marginTop = marginRight = marginBottom = margin[0];
-					else if (margin.length <= 3)
-					{
-						marginLeft = marginRight = margin[1];
-						marginTop = marginBottom = margin[0];
+				if (child == null || !child.visible) continue;
+				var positions:Object = childPositions(child);
+				var margins:Object = childMargins(child, hostWidth, hostHeight);
+
+				ilc = child as ILayoutChild;
+
+				var childYpos:Number = ypos + margins.top; // default y position
+
+				if (!hostSizedToContent) {
+					var childHeight:Number = child.height;
+					if (ilc != null && !isNaN(ilc.percentHeight)) {
+						childHeight = hostHeight * ilc.percentHeight/100.0;
+						ilc.setHeight(childHeight);
 					}
-					else if (margin.length == 4)
-					{
-						marginLeft = margin[3];
-						marginBottom = margin[2];
-						marginRight = margin[1];
-						marginTop = margin[0];					
+					// the following code middle-aligns the child
+					childYpos = hostHeight/2 - childHeight/2;
+				}
+
+				if (ilc) {
+					if (!isNaN(ilc.percentWidth)) {
+						ilc.setWidth(hostWidth * ilc.percentWidth / 100);
 					}
 				}
-				else if (margin == null)
-				{
-					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
+
+				if (i > 0) {
+					xpos -= child.width + margins.right;
+					adjustedWidth = child.width;
+				} else {
+					adjustedWidth = xpos - (borderMetrics.left + paddingMetrics.left + margins.left + margins.right);
+					xpos = borderMetrics.left + paddingMetrics.left + margins.left;
 				}
-				else
-				{
-					marginLeft = marginTop = marginBottom = marginRight = margin;
+
+				if (ilc) {
+					ilc.setX(xpos);
+					ilc.setY(childYpos);
+					ilc.setWidth(adjustedWidth);
+
+				} else {
+					child.x = xpos;
+					child.y = childYpos;
+					child.width = adjustedWidth;
 				}
-				var ml:Number;
-				var mr:Number;
-				var mt:Number;
-				var mb:Number;
-				var lastmr:Number;
-				mt = Number(marginTop);
-				if (isNaN(mt))
-					mt = 0;
-				mb = Number(marginBottom);
-				if (isNaN(mb))
-					mb = 0;
-				if (marginLeft == "auto")
-					ml = 0;
-				else
-				{
-					ml = Number(marginLeft);
-					if (isNaN(ml))
-						ml = 0;
-				}
-				if (marginRight == "auto")
-					mr = 0;
-				else
-				{
-					mr = Number(marginRight);
-					if (isNaN(mr))
-						mr = 0;
-				}
-				child.y = mt + padding.top;
-				if (i == 0)
-                {
-                    child.x = ml + padding.left;
-                    child.width = xx - mr - child.x;
-                }
-				else
-                    child.x = xx - child.width - mr;
-                maxHeight = Math.max(maxHeight, mt + child.height + mb);
-				xx -= child.width + mr + ml;
-				lastmr = mr;
-				var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-				verticalMargins.push({ marginTop: mt, marginBottom: mb, valign: valign });
+
+				xpos -= margins.left;
 			}
-			for (i = 0; i < n; i++)
-			{
-				var obj:Object = verticalMargins[0]
-				child = contentView.getElementAt(i) as IUIBase;
-				if (obj.valign == "middle")
-					child.y = (maxHeight - child.height) / 2;
-				else if (valign == "bottom")
-					child.y = maxHeight - child.height - obj.marginBottom;
-				else
-					child.y = obj.marginTop;
+
+			return true;
+		}
+
+		COMPILE::JS
+		override public function layout():Boolean
+		{
+			var contentView:ILayoutView = layoutView;
+
+			// set the display on the contentView
+			contentView.element.style["display"] = "flex";
+			contentView.element.style["flex-flow"] = "row";
+			contentView.element.style["align-items"] = "center";
+
+			var n:int = contentView.numElements;
+			if (n == 0) return false;
+
+			for(var i:int=0; i < n; i++) {
+				var child:UIBase = contentView.getElementAt(i) as UIBase;
+				child.element.style["flex-grow"] = (i == 0) ? "1" : "0";
+				child.element.style["flex-shrink"] = "0";
 			}
-            if (hostSizedToContent)
-                ILayoutChild(contentView).setHeight(maxHeight + padding.top + padding.bottom, true);
-			
-            return true;
+
+			return true;
 		}
 
     }
-        
+
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
index 38b97ec..f8b5ddd 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
@@ -18,15 +18,16 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
-	import flash.display.DisplayObject;
 	
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IScrollBarModel;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.html.beads.IScrollBarView;
+	import org.apache.flex.html.Button;
 	import org.apache.flex.utils.CSSContainerUtils;
 
     /**
@@ -82,27 +83,28 @@
                 sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel
 					
 			var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-                    
-			var w:Number = DisplayObject(_strand).width + metrics.left + metrics.right;
-			var increment:DisplayObject = sbView.increment;
-			var decrement:DisplayObject = sbView.decrement;
-			var track:DisplayObject = sbView.track;
-			var thumb:DisplayObject = sbView.thumb;
+            
+            var host:UIBase = UIBase(_strand);
+			var w:Number = host.width + metrics.left + metrics.right;
+			var increment:Button = sbView.increment;
+			var decrement:Button = sbView.decrement;
+			var track:Button = sbView.track;
+			var thumb:Button = sbView.thumb;
 			
-			decrement.x = 0;
+			decrement.x = 1;
 			decrement.y = 0;
-			decrement.height = DisplayObject(_strand).height;
-			decrement.width = DisplayObject(_strand).height;
+			decrement.height = host.height - 2;
+			decrement.width = host.height;
 			
-			increment.height = DisplayObject(_strand).height;
-			increment.width = DisplayObject(_strand).height;
-			increment.x = w - increment.width - 1;
+			increment.height = host.height - 2;
+			increment.width = host.height;
+			increment.x = w - increment.width - 2;
 			increment.y = 0;
 
-			track.x = decrement.width;
+			track.x = decrement.width + 4;
 			track.y = 0;
-			track.height = DisplayObject(_strand).height;
-			track.width = increment.x - decrement.width;
+			track.height = host.height;
+			track.width = increment.x - decrement.width - 5;
             thumb.width = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.width;
 			if (track.width > thumb.width)
 			{
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
index 501799f..89aab6e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
@@ -18,10 +18,14 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
+	import org.apache.flex.core.LayoutBase;
+	
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
@@ -31,8 +35,10 @@
 	import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.utils.CSSContainerUtils;
 	import org.apache.flex.utils.CSSUtils;
-    COMPILE::JS
-    {
+	COMPILE::SWF {
+			import org.apache.flex.core.UIBase;
+	}
+    COMPILE::JS {
         import org.apache.flex.core.WrappedHTMLElement;
     }
 
@@ -41,17 +47,17 @@
      *  bead.  It takes the set of children and lays them out
      *  horizontally in one row, separating them according to
      *  CSS layout rules for margin and vertical-align styles.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class HorizontalLayout implements IBeadLayout
+	public class HorizontalLayout extends LayoutBase implements IBeadLayout
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -59,268 +65,141 @@
          */
 		public function HorizontalLayout()
 		{
+			super();
 		}
-		
-        // the strand/host container is also an ILayoutChild because
-        // can have its size dictated by the host's parent which is
-        // important to know for layout optimization
-		private var host:ILayoutChild;
-		
+
         /**
          *  @copy org.apache.flex.core.IBead#strand
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
-		 *  @flexjsignorecoercion HTMLElement
+         *  @flexjsignorecoercion HTMLElement
+         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
          */
-		public function set strand(value:IStrand):void
+		override public function set strand(value:IStrand):void
 		{
-			host = value as ILayoutChild;
+			super.strand = value;
+			
             COMPILE::JS
             {
-                ((value as IUIBase).element as HTMLElement).style.display = 'block';
+				var base:IUIBase = value as IUIBase;
+				if (base.element.style.display !== "none") {
+					base.element.style.display = "block";
+				}
             }
 		}
-	
+
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
          * @flexjsignorecoercion org.apache.flex.core.ILayoutHost
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
-		public function layout():Boolean
+		override public function layout():Boolean
 		{
             COMPILE::SWF
             {
-                //trace(DOMPathUtil.getPath(host), event ? event.type : "fixed size");
-                var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-                var contentView:IParentIUIBase = layoutParent.contentView;
-                var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-                
-                var n:int = contentView.numElements;
-                var hostSizedToContent:Boolean = host.isHeightSizedToContent();
-                var ilc:ILayoutChild;
-                var marginLeft:Object;
-                var marginRight:Object;
-                var marginTop:Object;
-                var marginBottom:Object;
-                var margin:Object;
-                var maxHeight:Number = 0;
-                // asking for contentView.height can result in infinite loop if host isn't sized already
-                var h:Number = hostSizedToContent ? 0 : contentView.height;
-                var w:Number = contentView.width;
-                var verticalMargins:Array = [];
-                
-                for (var i:int = 0; i < n; i++)
-                {
-                    var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-                    if (child == null || !child.visible) continue;
-                    var top:Number = ValuesManager.valuesImpl.getValue(child, "top");
-                    var bottom:Number = ValuesManager.valuesImpl.getValue(child, "bottom");
-                    margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                    marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                    marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                    marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                    marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-                    var ml:Number = CSSUtils.getLeftValue(marginLeft, margin, w);
-                    var mr:Number = CSSUtils.getRightValue(marginRight, margin, w);
-                    var mt:Number = CSSUtils.getTopValue(marginTop, margin, h);
-                    var mb:Number = CSSUtils.getBottomValue(marginBottom, margin, h);
-                    
-                    ilc = child as ILayoutChild;
-                    var lastmr:Number;
-                    if (marginLeft == "auto")
-                        ml = 0;
-                    if (marginRight == "auto")
-                        mr = 0;
-                    var xx:Number;
-                    if (i == 0)
-                    {
-                        if (ilc)
-                            ilc.setX(ml + padding.left);
-                        else
-                            child.x = ml + padding.left;
-                    }
-                    else
-                    {
-                        if (ilc)
-                            ilc.setX(xx + ml + lastmr);
-                        else
-                            child.x = xx + ml + lastmr;
-                    }
-                    if (ilc)
-                    {
-                        if (!isNaN(ilc.percentWidth))
-                            ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
-                    }
-                    lastmr = mr;
-                    var marginObject:Object = {};
-                    verticalMargins[i] = marginObject;
-                    var valign:* = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-                    marginObject.valign = valign;
-                    if (!hostSizedToContent)
-                    {
-                        // if host is sized by parent,
-                        // we can position and size children horizontally now
-                        setPositionAndHeight(child, top, mt, padding.top, bottom, mb, padding.bottom, h, valign);
-                        maxHeight = Math.max(maxHeight, mt + child.height + mb);
-                    }
-                    else
-                    {
-                        if (!isNaN(top))
-                        {
-                            mt = top;
-                            marginObject.top = mt;
-                        }
-                        if (!isNaN(bottom))
-                        {
-                            mb = bottom;
-                            marginObject.bottom = mb;
-                        }
-                        maxHeight = Math.max(maxHeight, mt + child.height + mb);
-                    }
-                    xx = child.x + child.width;
-                }
-                if (hostSizedToContent)
-                {
-                    ILayoutChild(contentView).setHeight(maxHeight, true);
-                    if (host.isWidthSizedToContent())
-                        ILayoutChild(contentView).setWidth(xx, true);
-                    for (i = 0; i < n; i++)
-                    {
-                        child = contentView.getElementAt(i) as IUIBase;
-                        if (child == null || !child.visible) continue;
-                        var obj:Object = verticalMargins[i];
-                        setPositionAndHeight(child, obj.top, obj.marginTop, padding.top,
-                            obj.bottom, obj.marginBottom, padding.bottom, maxHeight, obj.valign);
-                    }
-                }
-                
-                // Only return true if the contentView needs to be larger; that new
-                // size is stored in the model.
-                var sizeChanged:Boolean = true;
-                
-                host.dispatchEvent( new Event("layoutComplete") );
-                
-                return sizeChanged;
-                
+				var contentView:ILayoutView = layoutView;
+
+				var n:Number = contentView.numElements;
+				if (n == 0) return false;
+
+				var maxWidth:Number = 0;
+				var maxHeight:Number = 0;
+				var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+				var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+				var hostWidth:Number = hostWidthSizedToContent ? 0 : contentView.width;
+				var hostHeight:Number = hostHeightSizedToContent ? 0 : contentView.height;
+
+				var ilc:ILayoutChild;
+				var data:Object;
+				var canAdjust:Boolean = false;
+
+				var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+				var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+				
+				// adjust the host's usable size by the metrics. If hostSizedToContent, then the
+				// resulting adjusted value may be less than zero.
+				hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+				hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+				var xpos:Number = borderMetrics.left + paddingMetrics.left;
+				var ypos:Number = borderMetrics.top + paddingMetrics.left;
+
+				// First pass determines the data about the child.
+				for(var i:int=0; i < n; i++)
+				{
+					var child:IUIBase = contentView.getElementAt(i) as IUIBase;
+					if (child == null || !child.visible) continue;
+					var positions:Object = childPositions(child);
+					var margins:Object = childMargins(child, hostWidth, hostHeight);
+
+					ilc = child as ILayoutChild;
+
+					xpos += margins.left;
+
+					var childYpos:Number = ypos + margins.top; // default y position
+
+					if (!hostHeightSizedToContent) {
+						var childHeight:Number = child.height;
+						if (ilc != null && !isNaN(ilc.percentHeight)) {
+							childHeight = hostHeight * ilc.percentHeight/100.0;
+							ilc.setHeight(childHeight);
+						}
+						var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
+						if (valign == "middle")
+						{
+							childYpos = hostHeight/2 - (childHeight + margins.top + margins.bottom)/2;
+						}
+					}
+
+					if (ilc) {
+						ilc.setX(xpos);
+						ilc.setY(childYpos);
+
+						if (!hostWidthSizedToContent && !isNaN(ilc.percentWidth)) {
+							var newWidth:Number = hostWidth * ilc.percentWidth / 100;
+							ilc.setWidth(newWidth);
+						}
+
+					} else {
+						child.x = xpos;
+						child.y = childYpos;
+					}
+
+					xpos += child.width + margins.right;
+				}
+
+				return true;
+
             }
             COMPILE::JS
             {
                 var children:Array;
                 var i:int;
                 var n:int;
-                
-                var viewBead:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-                var contentView:IParentIUIBase = viewBead.contentView;
+				var contentView:IParentIUIBase = layoutView as IParentIUIBase;
+
+				contentView.element.style["white-space"] = "nowrap";
+
                 children = contentView.internalChildren();
-                var hasHeight:Boolean = !host.isHeightSizedToContent();
-                var hasWidth:Boolean = !host.isWidthSizedToContent();
-                var maxHeight:Number = 0;
-                var computedWidth:Number = 0;
+
+
                 n = children.length;
                 for (i = 0; i < n; i++)
                 {
                     var child:WrappedHTMLElement = children[i] as WrappedHTMLElement;
-                    child.flexjs_wrapper.internalDisplay = 'inline-block';
-                    if (child.style.display == 'none')
-                        child.flexjs_wrapper.setDisplayStyleForLayout('inline-block');
-                    else
-                        child.style.display = 'inline-block';
-                    maxHeight = Math.max(maxHeight, child.offsetHeight);
-                    if (!hasWidth) {
-                        var cv:Object = getComputedStyle(child);
-                        var mls:String = cv['margin-left'];
-                        var ml:Number = Number(mls.substring(0, mls.length - 2));
-                        var mrs:String = cv['margin-right'];
-                        var mr:Number = Number(mrs.substring(0, mrs.length - 2));
-                        computedWidth += ml + child.offsetWidth + mr;
-                    }
-                    child.flexjs_wrapper.dispatchEvent('sizeChanged');
-                }
-                // if there are children and maxHeight is ok, use it.
-                // maxHeight can be NaN if the child hasn't been rendered yet.
-                if (!hasHeight && n > 0 && !isNaN(maxHeight)) {
-                    contentView.height = maxHeight;
-                }
-                if (!hasWidth && n > 0 && !isNaN(computedWidth)) {
-                    contentView.width = computedWidth + 1; // some browser need one more pixel
-                }
+					if (child == null) continue;
+					child.flexjs_wrapper.setDisplayStyleForLayout('inline-block');
+					if (child.style.display !== 'none')
+					{
+						child.style.display = 'inline-block';
+					}
+				}
+
                 return true;
             }
 		}
-        
-        COMPILE::SWF
-        private function setPositionAndHeight(child:IUIBase, top:Number, mt:Number, pt:Number,
-                                             bottom:Number, mb:Number, pb:Number, h:Number,
-                                             valign:*):void
-        {
-            var heightSet:Boolean = false;
-            
-            var hh:Number = h;
-            var ilc:ILayoutChild = child as ILayoutChild;
-            if (ilc)
-            {
-                if (!isNaN(ilc.percentHeight))
-                    ilc.setHeight(h * ilc.percentHeight / 100, true);
-            }
-            if (valign == "top")
-            {
-                if (!isNaN(top))
-                {
-                    if (ilc)
-                        ilc.setY(top + mt);
-                    else
-                        child.y = top + mt;
-                    hh -= top + mt;
-                }
-                else 
-                {
-                    if (ilc)
-                        ilc.setY(mt + pt);
-                    else
-                        child.y = mt + pt;
-                    hh -= mt + pt;
-                }
-                if (ilc.isHeightSizedToContent())
-                {
-                    if (!isNaN(bottom))
-                    {
-                        if (!isNaN(top))
-                        {
-                            if (ilc)
-                                ilc.setHeight(hh - bottom - mb, true);
-                            else 
-                            {
-                                child.height = hh - bottom - mb;
-                                heightSet = true;
-                            }
-                        }
-                    }
-                }
-            }
-            else if (valign == "bottom")
-            {
-                if (!isNaN(bottom))
-                {
-                    if (ilc)
-                        ilc.setY(h - bottom - mb - child.height);
-                    else
-                        child.y = h - bottom - mb - child.height;
-                }
-                else
-                {
-                    if (ilc)
-                        ilc.setY(h - mb - child.height);
-                    else
-                        child.y = h - mb - child.height;
-                }
-            }
-            else
-                child.y = (h - child.height) / 2;                    
-            if (!heightSet)
-                child.dispatchEvent(new Event("sizeChanged"));
-        }
 	}
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayoutWithPaddingAndGap.as
similarity index 66%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayoutWithPaddingAndGap.as
index 148866b..7aec7f3 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayoutWithPaddingAndGap.as
@@ -43,17 +43,16 @@
     }
 
     /**
-     *  The HorizontalLayout class is a simple layout
-     *  bead.  It takes the set of children and lays them out
-     *  horizontally in one row, separating them according to
-     *  CSS layout rules for margin and vertical-align styles.
+	 *  The HorizontalLayoutWithPaddingAndGap class is a simple layout
+	 *  bead similar to HorizontalLayout, but it adds support for
+	 *  padding and gap values.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class HorizontalLayout extends LayoutBase implements IBeadLayout
+	public class HorizontalLayoutWithPaddingAndGap extends LayoutBase implements IBeadLayout
 	{
         /**
          *  Constructor.
@@ -63,11 +62,141 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		public function HorizontalLayout()
+		public function HorizontalLayoutWithPaddingAndGap()
 		{
 			super();
 		}
 
+		/**
+		 *  @private
+		 */
+		private var _paddingTop:Number = 0;
+
+		/**
+		 *  The top padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingTop():Number
+		{
+			return _paddingTop;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingTop(value:Number):void
+		{
+			_paddingTop = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _paddingRight:Number = 0;
+
+		/**
+		 *  The right padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingRight():Number
+		{
+			return _paddingRight;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingRight(value:Number):void
+		{
+			_paddingRight = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _paddingBottom:Number = 0;
+
+		/**
+		 *  The top padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingBottom():Number
+		{
+			return _paddingBottom;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingBottom(value:Number):void
+		{
+			_paddingBottom = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _paddingLeft:Number = 0;
+
+		/**
+		 *  The left padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingLeft():Number
+		{
+			return _paddingLeft;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingLeft(value:Number):void
+		{
+			_paddingLeft = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _gap:Number = 0;
+
+		/**
+		 *  The gap between items.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get gap():Number
+		{
+			return _gap;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set gap(value:Number):void
+		{
+			_gap = value;
+		}
+
         /**
          *  @copy org.apache.flex.core.IBead#strand
          *
@@ -116,7 +245,7 @@
 				var data:Object;
 				var canAdjust:Boolean = false;
 
-				var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+				var paddingMetrics:Rectangle = new Rectangle(_paddingLeft, _paddingTop, _paddingRight - _paddingLeft, _paddingBottom - _paddingTop);
 				var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
 				
 				// adjust the host's usable size by the metrics. If hostSizedToContent, then the
@@ -133,13 +262,10 @@
 					var child:IUIBase = contentView.getElementAt(i) as IUIBase;
 					if (child == null || !child.visible) continue;
 					var positions:Object = childPositions(child);
-					var margins:Object = childMargins(child, hostWidth, hostHeight);
 
 					ilc = child as ILayoutChild;
 
-					xpos += margins.left;
-
-					var childYpos:Number = ypos + margins.top; // default y position
+					var childYpos:Number = ypos; // default y position
 
 					if (!hostHeightSizedToContent) {
 						var childHeight:Number = child.height;
@@ -167,7 +293,7 @@
 						child.y = childYpos;
 					}
 
-					xpos += child.width + margins.right;
+					xpos += child.width + _gap;
 				}
 
 				return true;
@@ -190,6 +316,24 @@
                 {
                     var child:WrappedHTMLElement = children[i] as WrappedHTMLElement;
 					if (child == null) continue;
+					child.style.marginTop = _paddingTop + 'px';
+					if(i === (n - 1))
+					{
+						child.style.marginRight = _paddingRight + 'px';
+					}
+					else
+					{
+						child.style.marginRight = '0px';
+					}
+					child.style.marginBottom = _paddingBottom + 'px';
+					if(i == 0)
+					{
+						child.style.marginLeft = _paddingLeft + 'px';
+					}
+					else
+					{
+						child.style.marginLeft = _gap + 'px';
+					}
 					child.flexjs_wrapper.setDisplayStyleForLayout('inline-block');
 					if (child.style.display !== 'none')
 					{
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
index c052442..c90f223 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
@@ -18,20 +18,21 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
-	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.LayoutBase;
 	import org.apache.flex.core.IDocument;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.geom.Rectangle;
+	import org.apache.flex.utils.CSSContainerUtils;
 	import org.apache.flex.utils.CSSUtils;
-    import org.apache.flex.utils.CSSContainerUtils;
 
     /**
      *  The OneFlexibleChildHorizontalLayout class is a simple layout
@@ -40,17 +41,17 @@
      *  CSS layout rules for margin and padding styles. But it
      *  will size the one child to take up as much or little
      *  room as possible.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class OneFlexibleChildHorizontalLayout implements IBeadLayout, IDocument
+	public class OneFlexibleChildHorizontalLayout extends HorizontalLayout implements IOneFlexibleChildLayout, IDocument
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -58,50 +59,46 @@
          */
 		public function OneFlexibleChildHorizontalLayout()
 		{
+			super();
 		}
-		
-        
-        /**
-         *  The id of the flexible child
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var flexibleChild:String;
-        
+
+
+        private var _flexibleChild:String;
+
         private var actualChild:ILayoutChild;
-        
-        // the strand/host container is also an ILayoutChild because
-        // can have its size dictated by the host's parent which is
-        // important to know for layout optimization
-        private var host:ILayoutChild;
-		
+
         /**
          *  @private
          *  The document.
          */
         private var document:Object;
-        
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
+
+		/**
+		 *  The id of the flexible child
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get flexibleChild():String
 		{
-            host = value as ILayoutChild;
+			return _flexibleChild;
 		}
-	
+
+		/**
+		 * @private
+		 */
+		public function set flexibleChild(value:String):void
+		{
+			_flexibleChild = value;
+		}
+
         private var _maxWidth:Number;
-        
+
         /**
          *  @copy org.apache.flex.core.IBead#maxWidth
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -111,20 +108,20 @@
         {
             return _maxWidth;
         }
-        
+
         /**
-         *  @private 
+         *  @private
          */
         public function set maxWidth(value:Number):void
         {
             _maxWidth = value;
         }
-        
+
         private var _maxHeight:Number;
-        
+
         /**
          *  @copy org.apache.flex.core.IBead#maxHeight
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -134,199 +131,201 @@
         {
             return _maxHeight;
         }
-        
+
         /**
-         *  @private 
+         *  @private
          */
         public function set maxHeight(value:Number):void
         {
             _maxHeight = value;
         }
-        
+
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
          */
-		public function layout():Boolean
+		COMPILE::JS
+		override public function layout():Boolean
 		{
-            var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-            var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
-            var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-            actualChild = document[flexibleChild];
+			var contentView:ILayoutView = layoutView;
 
-            var ilc:ILayoutChild;
+			actualChild = document[flexibleChild];
+
+			// set the display on the contentView
+			contentView.element.style["display"] = "flex";
+			contentView.element.style["flex-flow"] = "row";
+			contentView.element.style["align-items"] = "center";
+
 			var n:int = contentView.numElements;
-			var marginLeft:Object;
-			var marginRight:Object;
-			var marginTop:Object;
-			var marginBottom:Object;
-			var margin:Object;
-			maxHeight = 0;
-			var verticalMargins:Array = new Array(n);
-			
-            var ww:Number = contentView.width - padding.right;
-            var hh:Number = contentView.height;
-            var xx:int = padding.left;
-            var flexChildIndex:int;
-            var ml:Number;
-            var mr:Number;
-            var mt:Number;
-            var mb:Number;
-            var lastmr:Number;
-            var lastml:Number;
-            var valign:Object;
-            var hostSizedToContent:Boolean = host.isHeightSizedToContent();
-            
-            for (var i:int = 0; i < n; i++)
-            {
-                var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-                if (child == actualChild)
-                {
-                    flexChildIndex = i;
-                    break;
-                }
-                margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-                mt = CSSUtils.getTopValue(marginTop, margin, hh);
-                mb = CSSUtils.getBottomValue(marginBottom, margin, hh);
-                mr = CSSUtils.getRightValue(marginRight, margin, ww);
-                ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
-                child.y = mt + padding.top;
-                if (child is ILayoutChild)
-                {
-                    ilc = child as ILayoutChild;
-                    if (!isNaN(ilc.percentHeight))
-                        ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
-                }
-                maxHeight = Math.max(maxHeight, mt + child.height + mb);
-                child.x = xx + ml;
-                xx += child.width + ml + mr;
-                lastmr = mr;
-                valign = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-                verticalMargins[i] = { marginTop: mt, marginBottom: mb, valign: valign };
-            }
+			if (n == 0) return false;
 
-            if (n > 0 && n > flexChildIndex)
-            {
-                for (i = n - 1; i > flexChildIndex; i--)
-    			{
-    				child = contentView.getElementAt(i) as IUIBase;
-    				margin = ValuesManager.valuesImpl.getValue(child, "margin");
-					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-    				mt = CSSUtils.getTopValue(marginTop, margin, hh);
-    				mb = CSSUtils.getTopValue(marginBottom, margin, hh);
-                    mr = CSSUtils.getRightValue(marginRight, margin, ww);
-                    ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
-                    child.y = mt + padding.top;
-                    if (child is ILayoutChild)
-                    {
-                        ilc = child as ILayoutChild;
-                        if (!isNaN(ilc.percentHeight))
-                            ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
-                    }
-                    maxHeight = Math.max(maxHeight, mt + child.height + mb);
-                    child.x = ww - child.width - mr;
-    				ww -= child.width + ml + mr;
-    				lastml = ml;
-                    valign = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-                    verticalMargins[i] = { marginTop: mt, marginBottom: mb, valign: valign };
-    			}
-            
-                child = contentView.getElementAt(flexChildIndex) as IUIBase;
-                margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-                mt = CSSUtils.getTopValue(marginTop, margin, hh);
-                mb = CSSUtils.getTopValue(marginBottom, margin, hh);
-                mr = CSSUtils.getRightValue(marginRight, margin, ww);
-                ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
-                if (child is ILayoutChild)
-                {
-                    ilc = child as ILayoutChild;
-                    if (!isNaN(ilc.percentHeight))
-                        ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
-                }
-                child.x = xx + ml;
-                child.width = ww - child.x;
-                maxHeight = Math.max(maxHeight, mt + child.height + mb);
-                valign = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-                verticalMargins[flexChildIndex] = { marginTop: mt, marginBottom: mb, valign: valign };
-            }
-            if (hostSizedToContent)
-                ILayoutChild(contentView).setHeight(maxHeight + padding.top + padding.bottom, true);
-            
-            for (i = 0; i < n; i++)
-			{
-				var obj:Object = verticalMargins[i]
-				child = contentView.getElementAt(i) as IUIBase;
-                setPositionAndHeight(child, obj.top, obj.marginTop, padding.top,
-                    obj.bottom, obj.marginBottom, padding.bottom, maxHeight, obj.valign);
+			for(var i:int=0; i < n; i++) {
+				var child:UIBase = contentView.getElementAt(i) as UIBase;
+				child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
+				child.element.style["flex-shrink"] = "0";
 			}
+
+			return true;
+		}
+
+		COMPILE::SWF
+		override public function layout():Boolean
+		{
+			var contentView:ILayoutView = layoutView;
+			var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
+
+			var n:Number = contentView.numElements;
+			if (n == 0) return false;
+			
+			// if the layoutView's width cannot be determined then this layout
+			// will not work, so default to HorizontalLayout
+			if (host.isWidthSizedToContent()) {
+				return super.layout();
+			}
+
+			var maxWidth:Number = 0;
+			var maxHeight:Number = 0;
+			var hostSizedToContent:Boolean = host.isHeightSizedToContent();
+			var hostWidth:Number = contentView.width;
+			var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
+
+			var ilc:ILayoutChild;
+			var data:Object;
+			var canAdjust:Boolean = false;
+			var margins:Object;
+
+			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+			
+			// adjust the host's usable size by the metrics. If hostSizedToContent, then the
+			// resulting adjusted value may be less than zero.
+			hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+			hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+			var xpos:Number = borderMetrics.left + paddingMetrics.left;
+			var ypos:Number = borderMetrics.top + paddingMetrics.left;
+			var child:IUIBase;
+			var childHeight:Number;
+			var i:int;
+			var childYpos:Number;
+			var adjustLeft:Number = 0;
+			var adjustRight:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
+
+			// first work from left to right
+			for(i=0; i < n; i++)
+			{
+				child = contentView.getElementAt(i) as IUIBase;
+				if (child == null || !child.visible) continue;
+				if (child == actualChild) break;
+
+				margins = childMargins(child, hostWidth, hostHeight);
+				ilc = child as ILayoutChild;
+
+				xpos += margins.left;
+
+				childYpos = ypos + margins.top; // default y position
+
+				if (!hostSizedToContent) {
+					childHeight = child.height;
+					if (ilc != null && !isNaN(ilc.percentHeight)) {
+						childHeight = host.height * ilc.percentHeight/100.0;
+						ilc.setHeight(childHeight);
+					}
+					// the following code middle-aligns the child
+					childYpos = hostHeight/2 - childHeight/2 + ypos;
+				}
+
+				if (ilc) {
+					ilc.setX(xpos);
+					ilc.setY(childYpos);
+
+					if (!isNaN(ilc.percentWidth)) {
+						ilc.setWidth(hostWidth * ilc.percentWidth / 100);
+					}
+
+				} else {
+					child.x = xpos;
+					child.y = childYpos;
+				}
+
+				xpos += child.width + margins.right;
+				adjustLeft = xpos;
+			}
+
+			// then work from right to left
+			xpos = hostWidth + borderMetrics.left + paddingMetrics.left;
+
+			for(i=(n-1); actualChild != null && i >= 0; i--)
+			{
+				child = contentView.getElementAt(i) as IUIBase;
+				if (child == null || !child.visible) continue;
+				if (child == actualChild) break;
+
+				margins = childMargins(child, hostWidth, hostHeight);
+				ilc = child as ILayoutChild;
+
+				childYpos = ypos + margins.top; // default y position
+
+				if (!hostSizedToContent) {
+					childHeight = child.height;
+					if (ilc != null && !isNaN(ilc.percentHeight)) {
+						childHeight = hostHeight * ilc.percentHeight/100.0;
+						ilc.setHeight(childHeight);
+					}
+					// the following code middle-aligns the child
+					childYpos = hostHeight/2 - childHeight/2 + ypos;
+				}
+
+				if (ilc) {
+					if (!isNaN(ilc.percentWidth)) {
+						ilc.setWidth(hostWidth * ilc.percentWidth / 100);
+					}
+				}
+
+				xpos -= child.width + margins.right;
+
+				if (ilc) {
+					ilc.setX(xpos);
+					ilc.setY(childYpos);
+				} else {
+					child.x = xpos;
+					child.y = childYpos;
+				}
+
+				xpos -= margins.left;
+				adjustRight = xpos;
+			}
+
+			// now adjust the actualChild to fill the space.
+			if (actualChild != null) {
+				margins = childMargins(actualChild, hostWidth, hostHeight);
+				ilc = actualChild as ILayoutChild;
+				if (!hostSizedToContent) {
+					childHeight = actualChild.height;
+					if (ilc != null && !isNaN(ilc.percentHeight)) {
+						childHeight = hostHeight * ilc.percentHeight/100.0;
+						ilc.setHeight(childHeight);
+					}
+				}
+				childYpos = ypos + margins.top;
+				if (!hostSizedToContent) {
+					childYpos = hostHeight/2 - childHeight/2 + ypos;
+				}
+				actualChild.x = adjustLeft + margins.left;
+				actualChild.y = childYpos;
+				if (ilc) {
+					ilc.setWidth((adjustRight-margins.right) - (adjustLeft+margins.left));
+				} else {
+					actualChild.width = (adjustRight-margins.right) - (adjustLeft+margins.left);
+				}
+			}
+
             return true;
 		}
 
-        private function setPositionAndHeight(child:IUIBase, top:Number, mt:Number, pt:Number,
-                                              bottom:Number, mb:Number, pb:Number, h:Number, valign:String):void
-        {
-            var heightSet:Boolean = false; // if we've set the height in a way that gens a change event
-            var ySet:Boolean = false; // if we've set the y yet.
-            
-            var hh:Number = h;
-            var ilc:ILayoutChild = child as ILayoutChild;
-            if (!isNaN(top))
-            {
-                child.y = top + mt;
-                ySet = true;
-                hh -= top + mt;
-            }
-            else 
-            {
-                hh -= mt;
-            }
-            if (!isNaN(bottom))
-            {
-                if (!isNaN(top))
-                {
-                    if (ilc)
-                        ilc.setHeight(hh - bottom - mb, true);
-                    else 
-                    {
-                        child.height = hh - bottom - mb;
-                        heightSet = true;
-                    }
-                }
-                else
-                {
-                    child.y = h - bottom - mb - child.height - 1; // some browsers don't like going to the edge
-                    ySet = true;
-                }
-            }
-            if (ilc)
-            {
-                if (!isNaN(ilc.percentHeight))
-                    ilc.setHeight(h * ilc.percentHeight / 100, true);
-            }
-            if (valign == "middle")
-                child.y = (h - child.height) / 2;
-            else if (valign == "bottom")
-                child.y = h - child.height - mb;
-            else
-                child.y = mt + pt;
-            if (!heightSet)
-                child.dispatchEvent(new Event("sizeChanged"));
-        }
-        
         public function setDocument(document:Object, id:String = null):void
         {
-            this.document = document;	
+            this.document = document;
         }
     }
-        
+
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
index 77af305..9242d91 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
@@ -18,19 +18,22 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
-	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.LayoutBase;
 	import org.apache.flex.core.IDocument;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IStyleableObject;
 	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.utils.CSSContainerUtils;
+	import org.apache.flex.utils.CSSContainerUtils;
+	import org.apache.flex.utils.CSSUtils;
 
     /**
      *  The OneFlexibleChildVerticalLayout class is a simple layout
@@ -39,17 +42,17 @@
      *  CSS layout rules for margin and padding styles. But it
      *  will size the one child to take up as much or little
      *  room as possible.
-     *  
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class OneFlexibleChildVerticalLayout implements IBeadLayout, IDocument
+	public class OneFlexibleChildVerticalLayout extends VerticalLayout implements IOneFlexibleChildLayout, IDocument
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -57,50 +60,46 @@
          */
 		public function OneFlexibleChildVerticalLayout()
 		{
+			super();
 		}
-		
-        
-        /**
-         *  The id of the flexible child
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var flexibleChild:String;
-        
+
+
+        private var _flexibleChild:String;
+
         private var actualChild:ILayoutChild;
-        
-        // the strand/host container is also an ILayoutChild because
-        // can have its size dictated by the host's parent which is
-        // important to know for layout optimization
-        private var host:ILayoutChild;
-		
+
         /**
          *  @private
          *  The document.
          */
         private var document:Object;
-        
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
+
+		/**
+		 *  The id of the flexible child
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get flexibleChild():String
 		{
-            host = value as ILayoutChild;
+			return _flexibleChild;
 		}
-	       
+
+		/**
+		 * @private
+		 */
+		public function set flexibleChild(value:String):void
+		{
+			_flexibleChild = value;
+		}
+
         private var _maxWidth:Number;
-        
+
         /**
          *  @copy org.apache.flex.core.IBead#maxWidth
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -110,20 +109,20 @@
         {
             return _maxWidth;
         }
-        
+
         /**
-         *  @private 
+         *  @private
          */
         public function set maxWidth(value:Number):void
         {
             _maxWidth = value;
         }
-        
+
         private var _maxHeight:Number;
-        
+
         /**
          *  @copy org.apache.flex.core.IBead#maxHeight
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -133,327 +132,202 @@
         {
             return _maxHeight;
         }
-        
+
         /**
-         *  @private 
+         *  @private
          */
         public function set maxHeight(value:Number):void
         {
             _maxHeight = value;
         }
-        
+
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
          */
-		public function layout():Boolean
+		COMPILE::JS
+		override public function layout():Boolean
 		{
-            var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-            var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
-            var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			actualChild = document[flexibleChild];
-            
-            var ilc:ILayoutChild;
-			var n:int = contentView.numElements;
-			var marginLeft:Object;
-			var marginRight:Object;
-			var marginTop:Object;
-			var marginBottom:Object;
-			var margin:Object;
-			maxWidth = 0;
-            
-            var w:Number = contentView.width;			
-            var hh:Number = contentView.height - padding.bottom;
-            var yy:int = padding.top;
-            var flexChildIndex:int;
-            var ml:Number;
-            var mr:Number;
-            var mt:Number;
-            var mb:Number;
-            var lastmb:Number;
-            var lastmt:Number;
-            var halign:Object;
-            var left:Number;
-            var right:Number;
-            
-            for (var i:int = 0; i < n; i++)
-            {
-                var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-                ilc = child as ILayoutChild;
-                left = ValuesManager.valuesImpl.getValue(child, "left");
-                right = ValuesManager.valuesImpl.getValue(child, "right");
-                if (child == actualChild)
-                {
-                    flexChildIndex = i;
-                    break;
-                }
-                margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                if (margin is Array)
-                {
-                    if (margin.length == 1)
-                        marginLeft = marginTop = marginRight = marginBottom = margin[0];
-                    else if (margin.length <= 3)
-                    {
-                        marginLeft = marginRight = margin[1];
-                        marginTop = marginBottom = margin[0];
-                    }
-                    else if (margin.length == 4)
-                    {
-                        marginLeft = margin[3];
-                        marginBottom = margin[2];
-                        marginRight = margin[1];
-                        marginTop = margin[0];					
-                    }
-                }
-                else if (margin == null)
-                {
-                    marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                    marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                    marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                    marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-                }
-                else
-                {
-                    marginLeft = marginTop = marginBottom = marginRight = margin;
-                }
-                mt = Number(marginTop);
-                if (isNaN(mt))
-                    mt = 0;
-                mb = Number(marginBottom);
-                if (isNaN(mb))
-                    mb = 0;
-                if (ilc)
-                {
-                    if (!isNaN(ilc.percentHeight))
-                        ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
-                }
-                if (marginLeft == "auto")
-                    ml = 0;
-                else
-                {
-                    ml = Number(marginLeft);
-                    if (isNaN(ml))
-                        ml = 0;
-                }
-                if (marginRight == "auto")
-                    mr = 0;
-                else
-                {
-                    mr = Number(marginRight);
-                    if (isNaN(mr))
-                        mr = 0;
-                }
-                if (child is ILayoutChild)
-                {
-                    ilc = child as ILayoutChild;
-                    if (!isNaN(ilc.percentWidth))
-                        ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
-                }
-                maxWidth = Math.max(maxWidth, ml + child.width + mr);
-                setPositionAndWidth(child, left, ml, padding.left, right, mr, padding.right, w);
-                child.y = yy + mt;
-                yy += child.height + mt + mb;
-                lastmb = mb;
-            }
+			var contentView:ILayoutView = layoutView;
 
-            if (n > 0 && n > flexChildIndex)
-            {
-                for (i = n - 1; i > flexChildIndex; i--)
-    			{
-    				child = contentView.getElementAt(i) as IUIBase;
-                    ilc = child as ILayoutChild;
-                    left = ValuesManager.valuesImpl.getValue(child, "left");
-                    right = ValuesManager.valuesImpl.getValue(child, "right");
-    				margin = ValuesManager.valuesImpl.getValue(child, "margin");
-    				if (margin is Array)
-    				{
-    					if (margin.length == 1)
-    						marginLeft = marginTop = marginRight = marginBottom = margin[0];
-    					else if (margin.length <= 3)
-    					{
-    						marginLeft = marginRight = margin[1];
-    						marginTop = marginBottom = margin[0];
-    					}
-    					else if (margin.length == 4)
-    					{
-    						marginLeft = margin[3];
-    						marginBottom = margin[2];
-    						marginRight = margin[1];
-    						marginTop = margin[0];					
-    					}
-    				}
-    				else if (margin == null)
-    				{
-    					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-    					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-    					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-    					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-    				}
-    				else
-    				{
-    					marginLeft = marginTop = marginBottom = marginRight = margin;
-    				}
-    				mt = Number(marginTop);
-    				if (isNaN(mt))
-    					mt = 0;
-    				mb = Number(marginBottom);
-    				if (isNaN(mb))
-    					mb = 0;
-                    if (ilc)
-                    {
-                        if (!isNaN(ilc.percentHeight))
-                            ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
-                    }
-    				if (marginLeft == "auto")
-    					ml = 0;
-    				else
-    				{
-    					ml = Number(marginLeft);
-    					if (isNaN(ml))
-    						ml = 0;
-    				}
-    				if (marginRight == "auto")
-    					mr = 0;
-    				else
-    				{
-    					mr = Number(marginRight);
-    					if (isNaN(mr))
-    						mr = 0;
-    				}
-                    if (child is ILayoutChild)
-                    {
-                        ilc = child as ILayoutChild;
-                        if (!isNaN(ilc.percentWidth))
-                            ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
-                    }
-                    setPositionAndWidth(child, left, ml, padding.left, right, mr, padding.right, w);
-                    maxWidth = Math.max(maxWidth, ml + child.width + mr);
-                    child.y = hh - child.height - mb;
-    				hh -= child.height + mt + mb;
-    				lastmt = mt;
-    			}
-            } 
-            
-            child = contentView.getElementAt(flexChildIndex) as IUIBase;
-            ilc = child as ILayoutChild;
-            left = ValuesManager.valuesImpl.getValue(child, "left");
-            right = ValuesManager.valuesImpl.getValue(child, "right");
-            margin = ValuesManager.valuesImpl.getValue(child, "margin");
-            if (margin is Array)
-            {
-                if (margin.length == 1)
-                    marginLeft = marginTop = marginRight = marginBottom = margin[0];
-                else if (margin.length <= 3)
-                {
-                    marginLeft = marginRight = margin[1];
-                    marginTop = marginBottom = margin[0];
-                }
-                else if (margin.length == 4)
-                {
-                    marginLeft = margin[3];
-                    marginBottom = margin[2];
-                    marginRight = margin[1];
-                    marginTop = margin[0];					
-                }
-            }
-            else if (margin == null)
-            {
-                marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-            }
-            else
-            {
-                marginLeft = marginTop = marginBottom = marginRight = margin;
-            }
-            mt = Number(marginTop);
-            if (isNaN(mt))
-                mt = 0;
-            mb = Number(marginBottom);
-            if (isNaN(mb))
-                mb = 0;
-            if (ilc)
-            {
-                if (!isNaN(ilc.percentHeight))
-                    ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
-            }
-            if (marginLeft == "auto")
-                ml = 0;
-            else
-            {
-                ml = Number(marginLeft);
-                if (isNaN(ml))
-                    ml = 0;
-            }
-            if (marginRight == "auto")
-                mr = 0;
-            else
-            {
-                mr = Number(marginRight);
-                if (isNaN(mr))
-                    mr = 0;
-            }
-            if (child is ILayoutChild)
-            {
-                ilc = child as ILayoutChild;
-                if (!isNaN(ilc.percentWidth))
-                    ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
-            }
-            setPositionAndWidth(child, left, ml, padding.left, right, mr, padding.right, w);
-            maxWidth = Math.max(maxWidth, ml + child.width + mr);
-            child.y = yy + mt;
-            child.height = hh - mb - child.y;
-            
-            return true;
+			actualChild = document[flexibleChild];
+
+			// set the display on the contentView
+			contentView.element.style["display"] = "flex";
+			contentView.element.style["flex-flow"] = "column";
+			contentView.element.style["align-items"] = "center";
+
+			var n:int = contentView.numElements;
+			if (n == 0) return false;
+
+			for(var i:int=0; i < n; i++) {
+				var child:UIBase = contentView.getElementAt(i) as UIBase;
+				child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
+				child.element.style["flex-shrink"] = "0";
+			}
+
+			return true;
 		}
 
-        private function setPositionAndWidth(child:IUIBase, left:Number, ml:Number, pl:Number,
-                                             right:Number, mr:Number, pr:Number, w:Number):void
-        {
-            var widthSet:Boolean = false;
-            
-            var ww:Number = w;
-            var ilc:ILayoutChild = child as ILayoutChild;
-            if (!isNaN(left))
-            {
-                child.x = left + ml;
-                ww -= left + ml;
-            }
-            else 
-            {
-                if (isNaN(right))
-                    child.x = ml + pl;
-                ww -= ml;
-            }
-            if (!isNaN(right))
-            {
-                if (!isNaN(left))
-                {
-                    if (ilc)
-                        ilc.setWidth(ww - right - mr, true);
-                    else
-                    {
-                        child.width = ww - right - mr;
-                        widthSet = true;
-                    }
-                }
-                else
-                    child.x = w - right - mr - child.width - 1; // some browsers don't like going all the way to the edge
-            }
-            if (ilc)
-            {
-                if (!isNaN(ilc.percentWidth))
-                    ilc.setWidth(w * ilc.percentWidth / 100, true);
-            }
-            if (!widthSet)
-                child.dispatchEvent(new Event("sizeChanged"));
-        }
-        
+		COMPILE::SWF
+		override public function layout():Boolean
+		{
+			var contentView:ILayoutView = layoutView;
+			var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
+
+			var n:Number = contentView.numElements;
+			if (n == 0) return false;
+			
+			// if the layoutView has no determined height, this layout cannot run
+			// so fall back to VerticalLayout
+			if (host.isHeightSizedToContent()) {
+				return super.layout();
+			}
+
+			var maxWidth:Number = 0;
+			var maxHeight:Number = 0;
+			var hostSizedToContent:Boolean = host.isWidthSizedToContent();
+			var hostWidth:Number = hostSizedToContent ? 0 : contentView.width;
+			var hostHeight:Number = contentView.height;
+
+			var ilc:ILayoutChild;
+			var data:Object;
+			var canAdjust:Boolean = false;
+			var margins:Object;
+
+			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+			
+			// adjust the host's usable size by the metrics. If hostSizedToContent, then the
+			// resulting adjusted value may be less than zero.
+			hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+			hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+			var xpos:Number = borderMetrics.left + paddingMetrics.left;
+			var ypos:Number = borderMetrics.top + paddingMetrics.left;
+			var child:IUIBase;
+			var childWidth:Number;
+			var i:int;
+			var childXpos:Number;
+			var adjustTop:Number = 0;
+			var adjustBottom:Number = hostHeight + borderMetrics.top + paddingMetrics.top;
+
+			// first work from top to bottom
+			for(i=0; i < n; i++)
+			{
+				child = contentView.getElementAt(i) as IUIBase;
+				if (child == null || !child.visible) continue;
+				if (child == actualChild) break;
+
+				margins = childMargins(child, hostWidth, hostHeight);
+				ilc = child as ILayoutChild;
+
+				ypos += margins.top;
+
+				childXpos = xpos + margins.left; // default x position
+
+				if (!hostSizedToContent) {
+					childWidth = child.width;
+					if (ilc != null && !isNaN(ilc.percentWidth)) {
+						childWidth = hostWidth * ilc.percentWidth/100.0;
+						ilc.setWidth(childWidth);
+					}
+					// the following code middle-aligns the child
+					childXpos = hostWidth/2 - childWidth/2 + xpos;
+				}
+
+				if (ilc) {
+					ilc.setX(childXpos);
+					ilc.setY(ypos);
+
+					if (!isNaN(ilc.percentHeight)) {
+						ilc.setHeight(hostHeight * ilc.percentHeight / 100);
+					}
+
+				} else {
+					child.x = childXpos;
+					child.y = ypos;
+				}
+
+				ypos += child.height + margins.bottom;
+				adjustTop = ypos;
+			}
+
+			// then work from bottom to top
+			ypos = hostHeight + borderMetrics.top + paddingMetrics.top;
+
+			for(i=(n-1); actualChild != null && i >= 0; i--)
+			{
+				child = contentView.getElementAt(i) as IUIBase;
+				if (child == null || !child.visible) continue;
+				if (child == actualChild) break;
+
+				margins = childMargins(child, hostWidth, hostHeight);
+				ilc = child as ILayoutChild;
+
+				childXpos = xpos + margins.left; // default x position
+
+				if (!hostSizedToContent) {
+					childWidth = child.width;
+					if (ilc != null && !isNaN(ilc.percentWidth)) {
+						childWidth = hostWidth * ilc.percentWidth/100.0;
+						ilc.setWidth(childWidth);
+					}
+					// the following code middle-aligns the child
+					childXpos = hostWidth/2 - childWidth/2 + xpos;
+				}
+
+				if (ilc) {
+					if (!isNaN(ilc.percentHeight)) {
+						ilc.setHeight(hostHeight * ilc.percentHeight / 100);
+					}
+				}
+
+				ypos -= child.height + margins.bottom;
+
+				if (ilc) {
+					ilc.setX(childXpos);
+					ilc.setY(ypos);
+				} else {
+					child.x = childXpos;
+					child.y = ypos;
+				}
+
+				ypos -= margins.top;
+				adjustBottom = ypos;
+			}
+
+			// now adjust the actualChild to fill the space.
+			if (actualChild != null) {
+				margins = childMargins(actualChild, hostWidth, hostHeight);
+				ilc = actualChild as ILayoutChild;
+				if (!hostSizedToContent) {
+					childWidth = actualChild.width;
+					if (ilc != null && !isNaN(ilc.percentWidth)) {
+						childWidth = hostWidth * ilc.percentWidth/100.0;
+						ilc.setWidth(childWidth);
+					}
+				}
+				childXpos = xpos + margins.left;
+				if (!hostSizedToContent) {
+					childXpos = hostWidth/2 - childWidth/2 + xpos;
+				}
+				actualChild.x = childXpos
+				actualChild.y = adjustTop + margins.top;
+				if (ilc) {
+					ilc.setHeight((adjustBottom-margins.bottom) - (adjustTop+margins.top));
+				} else {
+					actualChild.height = (adjustBottom-margins.bottom) - (adjustTop+margins.top);
+				}
+			}
+
+			return true;
+		}
+
         public function setDocument(document:Object, id:String = null):void
         {
-            this.document = document;	
+            this.document = document;
         }
-        
+
     }
-        
+
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
index a7917ff..4ff6565 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
@@ -18,14 +18,21 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
+	import org.apache.flex.core.LayoutBase;
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.IChild;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.geom.Rectangle;
+	import org.apache.flex.utils.CSSUtils;
+	import org.apache.flex.utils.CSSContainerUtils;
 
 	/**
 	 *  The TileLayout class bead sizes and positions the elements it manages into rows and columns.
@@ -38,7 +45,7 @@
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class TileLayout implements IBeadLayout
+	public class TileLayout extends LayoutBase implements IBeadLayout
 	{
 		/**
 		 *  constructor.
@@ -50,21 +57,7 @@
 		 */
 		public function TileLayout()
 		{
-		}
-
-		private var _strand:IStrand;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
+			super();
 		}
 
 		private var _numColumns:Number = 4;
@@ -129,14 +122,14 @@
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
          */
-		public function layout():Boolean
+		override public function layout():Boolean
 		{
+			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+			
 			COMPILE::SWF
 			{
-				// this is where the layout is calculated
-				var host:UIBase = _strand as UIBase;
-				var p:ILayoutHost = _strand.getBeadByType(ILayoutHost) as ILayoutHost;
-				var area:UIBase = p.contentView as UIBase;
+				var area:UIBase = layoutView as UIBase;
 
 				var xpos:Number = 0;
 				var ypos:Number = 0;
@@ -144,19 +137,23 @@
 				var useHeight:Number = rowHeight;
 				var n:Number = area.numElements;
 				if (n == 0) return false;
+				
+				var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
+				var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
 
 				var realN:Number = n;
 				for(var j:int=0; j < n; j++)
 				{
 					var testChild:IUIBase = area.getElementAt(i) as IUIBase;
-					if (testChild && !testChild.visible) realN--;
+					if (testChild == null || !testChild.visible) realN--;
 				}
 
-				if (isNaN(useWidth)) useWidth = Math.floor(host.width / numColumns); // + gap
+				if (isNaN(useWidth)) useWidth = Math.floor(adjustedWidth / numColumns); // + gap
 				if (isNaN(useHeight)) {
 					// given the width and total number of items, how many rows?
 					var numRows:Number = Math.floor(realN/numColumns);
-					useHeight = Math.floor(host.height / numRows);
+					if (host.isHeightSizedToContent) useHeight = 30; // default height
+					else useHeight = Math.floor(adjustedHeight / numRows);
 				}
 
 				var maxWidth:Number = useWidth;
@@ -165,7 +162,7 @@
 				for(var i:int=0; i < n; i++)
 				{
 					var child:IUIBase = area.getElementAt(i) as IUIBase;
-					if (child && !child.visible) continue;
+					if (child == null || !child.visible) continue;
 					child.width = useWidth;
 					child.height = useHeight;
 					child.x = xpos;
@@ -190,8 +187,6 @@
 				// size is stored in the model.
 				var sizeChanged:Boolean = true;
 
-				IEventDispatcher(_strand).dispatchEvent( new Event("layoutComplete") );
-
 				return sizeChanged;
 			}
 			COMPILE::JS
@@ -204,15 +199,17 @@
 				var ypos:Number;
 				var useWidth:Number;
 				var useHeight:Number;
+				var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
+				var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
 
-				var host:UIBase = _strand as UIBase;
-				var viewBead:ILayoutHost = _strand.getBeadByType(ILayoutHost) as ILayoutHost;
-				var contentView:IParentIUIBase = viewBead.contentView;
+				var contentView:IParentIUIBase = layoutView as IParentIUIBase;
+				
 				children = contentView.internalChildren();
 				n = children.length;
 				if (n === 0) return false;
 
-				viewBead.contentView.width = host.width;
+				contentView.element.style["display"] = "flex";
+				contentView.element.style["flex-flow"] = "row wrap";
 
 				var realN:int = n;
 				for (i = 0; i < n; i++)
@@ -226,11 +223,14 @@
 				useWidth = columnWidth;
 				useHeight = rowHeight;
 
-				if (isNaN(useWidth)) useWidth = Math.floor(host.width / numColumns); // + gap
+				if (isNaN(useWidth)) {
+					useWidth = Math.floor(adjustedWidth / numColumns); // + gap
+				}
 				if (isNaN(useHeight)) {
 					// given the width and total number of items, how many rows?
 					var numRows:Number = Math.floor(realN / numColumns);
-					useHeight = Math.floor(host.height / numRows);
+					if (host.isHeightSizedToContent) useHeight = 30; // default height
+					else useHeight = Math.floor(adjustedHeight / numRows);
 				}
 
 				for (i = 0; i < n; i++)
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
index 6eaa30a..e489d85 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
@@ -17,10 +17,13 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
-{	
+{
+	import org.apache.flex.core.LayoutBase;
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IContainer;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IMeasurementBead;
 	import org.apache.flex.core.IParent;
 	import org.apache.flex.core.IStrand;
@@ -31,23 +34,23 @@
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.utils.CSSUtils;
-    import org.apache.flex.utils.CSSContainerUtils;    
-	
+    import org.apache.flex.utils.CSSContainerUtils;
+
 	/**
 	 * ColumnLayout is a class that organizes the positioning of children
 	 * of a container into a set of columns where each column's width is set to
 	 * the maximum size of all of the children in that column.
-	 *  
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class VerticalColumnLayout implements IBeadLayout
+	public class VerticalColumnLayout extends LayoutBase implements IBeadLayout
 	{
 		/**
 		 *  constructor
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -55,29 +58,15 @@
 		 */
 		public function VerticalColumnLayout()
 		{
+			super();
 		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		
+
+
 		private var _numColumns:int;
-		
+
 		/**
 		 * The number of columns.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -91,19 +80,18 @@
 		{
 			_numColumns = value;
 		}
-		
+
         /**
          * @copy org.apache.flex.core.IBeadLayout#layout
          */
-		public function layout():Boolean
-		{			
-            var host:UIBase = UIBase(_strand);
-            var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-            var contentView:IParent = layoutParent.contentView;
+		override public function layout():Boolean
+		{
+			var contentView:ILayoutView = layoutView;
+			
             var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
 			var sw:Number = host.width;
 			var sh:Number = host.height;
-			
+
             var hasWidth:Boolean = !host.isWidthSizedToContent();
             var hasHeight:Boolean = !host.isHeightSizedToContent();
 			var e:IUIBase;
@@ -115,44 +103,29 @@
 			for (i = 0; i < numColumns; i++)
 				columns[i] = 0;
 
-            var marginLeft:Object;
-            var marginRight:Object;
-            var marginTop:Object;
-            var marginBottom:Object;
-            var margin:Object;
-            var ml:Number;
-            var mr:Number;
-            var mt:Number;
-            var mb:Number;
 			var n:int = contentView.numElements;
             var rowData:Object = { rowHeight: 0 };
-			
+
 			// determine max widths of columns
 			for (i = 0; i < n; i++) {
 				e = contentView.getElementAt(i) as IUIBase;
-                margin = ValuesManager.valuesImpl.getValue(e, "margin");
-                marginLeft = ValuesManager.valuesImpl.getValue(e, "margin-left");
-                marginTop = ValuesManager.valuesImpl.getValue(e, "margin-top");
-                marginRight = ValuesManager.valuesImpl.getValue(e, "margin-right");
-                marginBottom = ValuesManager.valuesImpl.getValue(e, "margin-bottom");
-                mt = CSSUtils.getTopValue(marginTop, margin, sh);
-                mb = CSSUtils.getBottomValue(marginBottom, margin, sh);
-                mr = CSSUtils.getRightValue(marginRight, margin, sw);
-                ml = CSSUtils.getLeftValue(marginLeft, margin, sw);
-                data.push({ mt: mt, mb: mb, mr: mr, ml: ml});
+				if (e == null || !e.visible) continue;
+				var margins:Object = childMargins(e, sw, sh);
+				
+                data.push({ mt: margins.top, mb: margins.bottom, mr: margins.right, ml: margins.left});
 				var thisPrefWidth:int = 0;
 				if (e is IStrand)
 				{
 					var measure:IMeasurementBead = e.getBeadByType(IMeasurementBead) as IMeasurementBead;
 					if (measure)
-						thisPrefWidth = measure.measuredWidth + ml + mr;
+						thisPrefWidth = measure.measuredWidth + margins.left + margins.right;
 					else
-						thisPrefWidth = e.width + ml + mr;						
+						thisPrefWidth = e.width + margins.left + margins.right;
 				}
 				else
-					thisPrefWidth = e.width + ml + mr;
-				
-                rowData.rowHeight = Math.max(rowData.rowHeight, e.height + mt + mb);
+					thisPrefWidth = e.width + margins.left + margins.right;
+
+                rowData.rowHeight = Math.max(rowData.rowHeight, e.height + margins.top + margins.bottom);
 				columns[col] = Math.max(columns[col], thisPrefWidth);
                 col = col + 1;
                 if (col == numColumns)
@@ -162,17 +135,18 @@
                     col = 0;
                 }
 			}
-			
+
             var lastmb:Number = 0;
 			var curx:int = padding.left;
 			var cury:int = padding.top;
 			var maxHeight:int = 0;
             var maxWidth:int = 0;
 			col = 0;
-			for (i = 0; i < n; i++) 
+			for (i = 0; i < n; i++)
             {
 				e = contentView.getElementAt(i) as IUIBase;
-				e.x = curx + ml;
+				if (e == null || !e.visible) continue;
+				e.x = curx + data[i].ml;
 				e.y = cury + data[i].mt;
 				curx += columns[col++];
                 maxHeight = Math.max(maxHeight, e.y + e.height + data[i].mb);
@@ -185,14 +159,6 @@
 					curx = padding.left;
 				}
 			}
-			if (!hasWidth && n > 0 && !isNaN(maxWidth))
-            {
-                UIBase(contentView).setWidth(maxWidth, true);
-            }
-            if (!hasHeight && n > 0 && !isNaN(maxHeight))
-            {
-                UIBase(contentView).setHeight(maxHeight, true);
-            }
 			return true;
 		}
 	}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
similarity index 96%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
index c543425..bdc080d 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
@@ -159,11 +159,11 @@
 					}
 
 					var useWidth:Number = -1;
-					if (!hostWidthSizedToContent) {
-						if (ilc) {
-							if (!isNaN(ilc.percentWidth)) useWidth = hostWidth * (ilc.percentWidth/100.0);
-							else if (!isNaN(ilc.explicitWidth)) useWidth = ilc.explicitWidth;
-							else useWidth = hostWidth;
+					if (ilc) {
+						if (!isNaN(ilc.percentWidth)) useWidth = hostWidth * (ilc.percentWidth/100.0);
+						else if (!isNaN(ilc.explicitWidth)) useWidth = ilc.explicitWidth;
+						else if (!hostWidthSizedToContent) {
+							useWidth = hostWidth;
 						}
 					}
 
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
index dd02989..16c81a0 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
@@ -18,40 +18,44 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads.layouts
 {
+	import org.apache.flex.core.LayoutBase;
+	
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.ILayoutChild;
 	import org.apache.flex.core.ILayoutHost;
+	import org.apache.flex.core.ILayoutView;
+	import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.ValuesManager;
 	COMPILE::JS
 	{
-		import org.apache.flex.core.WrappedHTMLElement;			
+		import org.apache.flex.core.WrappedHTMLElement;
 	}
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.geom.Rectangle;
 	import org.apache.flex.utils.CSSContainerUtils;
 	import org.apache.flex.utils.CSSUtils;
-	
+
 	/**
 	 *  The VerticalLayout class is a simple layout
 	 *  bead.  It takes the set of children and lays them out
 	 *  vertically in one column, separating them according to
 	 *  CSS layout rules for margin and horizontal-align styles.
-	 *  
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class VerticalLayout implements IBeadLayout
+	public class VerticalLayout extends LayoutBase implements IBeadLayout
 	{
 		/**
 		 *  Constructor.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -59,304 +63,125 @@
 		 */
 		public function VerticalLayout()
 		{
+			super();
 		}
-		
-		// the strand/host container is also an ILayoutChild because
-		// can have its size dictated by the host's parent which is
-		// important to know for layout optimization
-		private var host:ILayoutChild;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			host = value as ILayoutChild; 
-		}
-		
+
 		/**
 		 *  Layout children vertically
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 *  @flexjsignorecoercion org.apache.flex.core.ILayoutHost
 		 */
-		public function layout():Boolean
+		override public function layout():Boolean
 		{
 			COMPILE::SWF
 			{
-				var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-				var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
-				var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-				
-				var n:int = contentView.numElements;
-				var hasHorizontalFlex:Boolean;
-				var hostSizedToContent:Boolean = host.isWidthSizedToContent();
-				var flexibleHorizontalMargins:Array = [];
-				var ilc:ILayoutChild;
-				var marginLeft:Object;
-				var marginRight:Object;
-				var marginTop:Object;
-				var marginBottom:Object;
-				var margin:Object;
+				var contentView:ILayoutView = layoutView;
+
+				var n:Number = contentView.numElements;
+				if (n == 0) return false;
+
 				var maxWidth:Number = 0;
-				var cssValue:*;
-				// asking for contentView.width can result in infinite loop if host isn't sized already
-				var w:Number = hostSizedToContent ? 0 : contentView.width;
-				var h:Number = contentView.height;
+				var maxHeight:Number = 0;
+				var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+				var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+				var hostWidth:Number = hostWidthSizedToContent ? 0 : contentView.width;
+				var hostHeight:Number = hostHeightSizedToContent ? 0 : contentView.height;
+
+				var ilc:ILayoutChild;
+				var data:Object;
+				var canAdjust:Boolean = false;
+
+				var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+				var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
 				
-				for (var i:int = 0; i < n; i++)
+				// adjust the host's usable size by the metrics. If hostSizedToContent, then the
+				// resulting adjusted value may be less than zero.
+				hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+				hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+				var xpos:Number = borderMetrics.left + paddingMetrics.left;
+				var ypos:Number = borderMetrics.top + paddingMetrics.left;
+
+				// First pass determines the data about the child.
+				for(var i:int=0; i < n; i++)
 				{
 					var child:IUIBase = contentView.getElementAt(i) as IUIBase;
 					if (child == null || !child.visible) continue;
+					var positions:Object = childPositions(child);
+					var margins:Object = childMargins(child, hostWidth, hostHeight);
+
 					ilc = child as ILayoutChild;
-					var left:Number = NaN;
-					cssValue = ValuesManager.valuesImpl.getValue(child, "left");
-					if (cssValue !== undefined)
-						left = CSSUtils.toNumber(cssValue);
-					var right:Number = NaN;
-					cssValue = ValuesManager.valuesImpl.getValue(child, "right");
-					if (cssValue !== undefined)
-						right = CSSUtils.toNumber(cssValue);
-					margin = ValuesManager.valuesImpl.getValue(child, "margin");
-					marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-					marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-					marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-					marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-					var ml:Number = CSSUtils.getLeftValue(marginLeft, margin, w);
-					var mr:Number = CSSUtils.getRightValue(marginRight, margin, w);
-					var mt:Number = CSSUtils.getTopValue(marginTop, margin, h);
-					var mb:Number = CSSUtils.getBottomValue(marginBottom, margin, h);
-					var lastmb:Number;
-					var yy:Number;
-					if (i == 0)
-					{
-						if (ilc)
-							ilc.setY(mt + padding.top);
-						else
-							child.y = mt + padding.top;
-					}
-					else
-					{
-						if (ilc)
-							ilc.setY(yy + Math.max(mt, lastmb));
-						else
-							child.y = yy + Math.max(mt, lastmb);
-					}
-					if (ilc)
-					{
-						if (!isNaN(ilc.percentHeight))
-							ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
-					}
-					lastmb = mb;
-					var marginObject:Object = {};
-					flexibleHorizontalMargins[i] = marginObject;
-					if (marginLeft == "auto")
-					{
-						ml = 0;
-						marginObject.marginLeft = marginLeft;
-						hasHorizontalFlex = true;
-					}
-					else
-					{
-						ml = Number(marginLeft);
-						if (isNaN(ml))
-						{
-							ml = 0;
-							marginObject.marginLeft = marginLeft;
+
+					ypos += margins.top;
+
+					var childXpos:Number = xpos + margins.left; // default x position
+
+					if (!hostWidthSizedToContent) {
+						var childWidth:Number = child.width;
+						if (ilc != null && !isNaN(ilc.percentWidth)) {
+							childWidth = hostWidth * ilc.percentWidth/100.0;
+							ilc.setWidth(childWidth);
 						}
-						else
-							marginObject.marginLeft = ml;
-					}
-					if (marginRight == "auto")
-					{
-						mr = 0;
-						marginObject.marginRight = marginRight;
-						hasHorizontalFlex = true;
-					}
-					else
-					{
-						mr = Number(marginRight);
-						if (isNaN(mr))
+						else if (ilc.isWidthSizedToContent() && !margins.auto)
 						{
-							mr = 0;
-							marginObject.marginRight = marginRight;
+							childWidth = hostWidth;
+							ilc.setWidth(childWidth);
 						}
-						else
-							marginObject.marginRight = mr;
+						if (margins.auto)
+							childXpos = (hostWidth - childWidth) / 2;
 					}
-					if (!hostSizedToContent)
-					{
-						// if host is sized by parent,
-						// we can position and size children horizontally now
-						setPositionAndWidth(child, left, ml, padding.left, 
-							right, mr, padding.right, w);
-					}
-					else
-					{
-						if (!isNaN(left))
-						{
-							ml = left;
-							marginObject.left = ml;
+					if (ilc) {
+						ilc.setX(childXpos);
+						ilc.setY(ypos);
+
+						if (!hostHeightSizedToContent && !isNaN(ilc.percentHeight)) {
+							var newHeight:Number = hostHeight * ilc.percentHeight / 100;
+							ilc.setHeight(newHeight);
 						}
-						if (!isNaN(right))
-						{
-							mr = right;
-							marginObject.right = mr;
-						}
-						maxWidth = Math.max(maxWidth, ml + child.width + mr);                    
+
+					} else {
+						child.x = childXpos;
+						child.y = ypos;
 					}
-					yy = child.y + child.height;
+
+					ypos += child.height + margins.bottom;
 				}
-				if (hostSizedToContent)
-				{
-					for (i = 0; i < n; i++)
-					{
-						child = contentView.getElementAt(i) as IUIBase;
-						if (child == null || !child.visible) continue;
-						var obj:Object = flexibleHorizontalMargins[i];
-						setPositionAndWidth(child, obj.left, obj.marginLeft, padding.left,
-							obj.right, obj.marginRight, padding.right, maxWidth);
-					}
-				}
-				if (hasHorizontalFlex)
-				{
-					for (i = 0; i < n; i++)
-					{
-						child = contentView.getElementAt(i) as IUIBase;
-						if (child == null || !child.visible) continue;
-						ilc = child as ILayoutChild;
-						obj = flexibleHorizontalMargins[i];
-						if (hasHorizontalFlex)
-						{
-							if (ilc)
-							{
-								if (obj.marginLeft == "auto" && obj.marginRight == "auto")
-									ilc.setX(maxWidth - child.width / 2);
-								else if (obj.marginLeft == "auto")
-									ilc.setX(maxWidth - child.width - obj.marginRight - padding.right);                            
-							}
-							else
-							{
-								if (obj.marginLeft == "auto" && obj.marginRight == "auto")
-									child.x = maxWidth - child.width / 2;
-								else if (obj.marginLeft == "auto")
-									child.x = maxWidth - child.width - obj.marginRight - padding.right;
-							}
-						}
-					}
-				}
-				
-				// Only return true if the contentView needs to be larger; that new
-				// size is stored in the model.
-				var sizeChanged:Boolean = true;
-				
-				host.dispatchEvent( new Event("layoutComplete") );
-				
-				return sizeChanged;
-				
+
+				return true;
 			}
 			COMPILE::JS
 			{
 				var children:Array;
 				var i:int;
 				var n:int;
+				var contentView:IParentIUIBase = layoutView as IParentIUIBase;
 				
-				var viewBead:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
-				var contentView:IParentIUIBase = viewBead.contentView;
 				children = contentView.internalChildren();
-				var scv:Object = getComputedStyle(host.positioner);
-				var hasWidth:Boolean = !host.isWidthSizedToContent();
-				var maxWidth:Number = 0;
 				n = children.length;
 				for (i = 0; i < n; i++)
 				{
 					var child:WrappedHTMLElement = children[i];
 					child.flexjs_wrapper.setDisplayStyleForLayout('block');
-					if (child.style.display === 'none') 
+					if (child.style.display === 'none')
 					{
 						child.flexjs_wrapper.setDisplayStyleForLayout('block');
-					} 
-					else 
+					}
+					else
 					{
 						// block elements don't measure width correctly so set to inline for a second
 						child.style.display = 'inline-block';
-						maxWidth = Math.max(maxWidth, child.offsetLeft + child.offsetWidth);
 						child.style.display = 'block';
 					}
 					child.flexjs_wrapper.dispatchEvent('sizeChanged');
 				}
-				if (!hasWidth && n > 0 && !isNaN(maxWidth)) {
-					var pl:String = scv['padding-left'];
-					var pr:String = scv['padding-right'];
-					var npl:int = parseInt(pl.substring(0, pl.length - 2), 10);
-					var npr:int = parseInt(pr.substring(0, pr.length - 2), 10);
-					maxWidth += npl + npr;
-					contentView.width = maxWidth;
-				}
+
 				return true;
 			}
 		}
-		
-		COMPILE::SWF
-		private function setPositionAndWidth(child:IUIBase, left:Number, ml:Number, pl:Number,
-											 right:Number, mr:Number, pr:Number, w:Number):void
-		{
-			var widthSet:Boolean = false;
-			
-			var ww:Number = w;
-			var ilc:ILayoutChild = child as ILayoutChild;
-			if (!isNaN(left))
-			{
-                if (ilc)
-                    ilc.setX(left + ml);
-                else
-    				child.x = left + ml;
-				ww -= left + ml;
-			}
-			else 
-			{
-                if (ilc)
-                    ilc.setX(ml + pl);
-                else
-    				child.x = ml + pl;
-				ww -= ml + pl;
-			}
-			if (!isNaN(right))
-			{
-				if (!isNaN(left))
-				{
-					if (ilc)
-						ilc.setWidth(ww - right - mr, true);
-					else
-					{
-						child.width = ww - right - mr;
-						widthSet = true;
-					}
-				}
-				else
-                {
-                    if (ilc)
-                        ilc.setX(w - right - mr - child.width);
-                    else
-    					child.x = w - right - mr - child.width;
-                }
-			}
-			if (ilc)
-			{
-				if (!isNaN(ilc.percentWidth))
-					ilc.setWidth(w * ilc.percentWidth / 100, true);
-			}
-			if (!widthSet)
-				child.dispatchEvent(new Event("sizeChanged"));
-		}
-		
+
 	}
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayoutWithPaddingAndGap.as
similarity index 63%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayoutWithPaddingAndGap.as
index a8b9774..9a137b4 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayoutWithPaddingAndGap.as
@@ -41,17 +41,16 @@
 	import org.apache.flex.utils.CSSUtils;
 
 	/**
-	 *  The VerticalLayout class is a simple layout
-	 *  bead.  It takes the set of children and lays them out
-	 *  vertically in one column, separating them according to
-	 *  CSS layout rules for margin and horizontal-align styles.
+	 *  The VerticalLayoutWithPaddingAndGap class is a simple layout
+	 *  bead similar to VerticalLayout, but it adds support for
+	 *  padding and gap values.
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class VerticalLayout extends LayoutBase implements IBeadLayout
+	public class VerticalLayoutWithPaddingAndGap extends LayoutBase implements IBeadLayout
 	{
 		/**
 		 *  Constructor.
@@ -61,12 +60,142 @@
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function VerticalLayout()
+		public function VerticalLayoutWithPaddingAndGap()
 		{
 			super();
 		}
 
 		/**
+		 *  @private
+		 */
+		private var _paddingTop:Number = 0;
+
+		/**
+		 *  The top padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingTop():Number
+		{
+			return _paddingTop;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingTop(value:Number):void
+		{
+			_paddingTop = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _paddingRight:Number = 0;
+
+		/**
+		 *  The right padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingRight():Number
+		{
+			return _paddingRight;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingRight(value:Number):void
+		{
+			_paddingRight = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _paddingBottom:Number = 0;
+
+		/**
+		 *  The top padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingBottom():Number
+		{
+			return _paddingBottom;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingBottom(value:Number):void
+		{
+			_paddingBottom = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _paddingLeft:Number = 0;
+
+		/**
+		 *  The left padding value.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get paddingLeft():Number
+		{
+			return _paddingLeft;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set paddingLeft(value:Number):void
+		{
+			_paddingLeft = value;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var _gap:Number = 0;
+
+		/**
+		 *  The gap between items.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function get gap():Number
+		{
+			return _gap;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function set gap(value:Number):void
+		{
+			_gap = value;
+		}
+
+		/**
 		 *  Layout children vertically
 		 *
 		 *  @langversion 3.0
@@ -95,7 +224,7 @@
 				var data:Object;
 				var canAdjust:Boolean = false;
 
-				var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+				var paddingMetrics:Rectangle = new Rectangle(_paddingLeft, _paddingTop, _paddingRight - _paddingLeft, _paddingBottom - _paddingTop);
 				var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
 				
 				// adjust the host's usable size by the metrics. If hostSizedToContent, then the
@@ -112,13 +241,10 @@
 					var child:IUIBase = contentView.getElementAt(i) as IUIBase;
 					if (child == null || !child.visible) continue;
 					var positions:Object = childPositions(child);
-					var margins:Object = childMargins(child, hostWidth, hostHeight);
 
 					ilc = child as ILayoutChild;
 
-					ypos += margins.top;
-
-					var childXpos:Number = xpos + margins.left; // default x position
+					var childXpos:Number = xpos; // default x position
 
 					if (!hostWidthSizedToContent) {
 						var childWidth:Number = child.width;
@@ -146,7 +272,7 @@
 						child.y = ypos;
 					}
 
-					ypos += child.height + margins.bottom;
+					ypos += child.height + _gap;
 				}
 
 				return true;
@@ -163,6 +289,24 @@
 				for (i = 0; i < n; i++)
 				{
 					var child:WrappedHTMLElement = children[i];
+					if(i == 0)
+					{
+						child.style.marginTop = _paddingTop + 'px';
+					}
+					else
+					{
+						child.style.marginTop = _gap + 'px';
+					}
+					child.style.marginRight = _paddingRight + 'px';
+					if(i === (n - 1))
+					{
+						child.style.marginBottom = _paddingBottom + 'px';
+					}
+					else
+					{
+						child.style.marginBottom = '0px';
+					}
+					child.style.marginLeft = _paddingLeft + 'px';
 					child.flexjs_wrapper.setDisplayStyleForLayout('block');
 					if (child.style.display === 'none')
 					{
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
similarity index 97%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
index 1ec5372..eb5cf59 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
@@ -52,7 +52,7 @@
 		
 		override public function set url(value:String):void
 		{
-			if (value && value != _url)
+			if (value && value != url)
 				_binary = null;
 
 			super.url = value;
@@ -78,7 +78,7 @@
 			if (value != _binary) {
 				_binary = value;
 				if(value)
-					_url = "";
+					url = "";
 				dispatchEvent( new Event("binaryChanged") );
 			}
 		}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
index 4b6fc18..5f7b23e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
@@ -38,9 +38,9 @@
 		public function DateChooserModel()
 		{
 			// default displayed year and month to "today"
-			var today:Date = new Date();
-			displayedYear = today.getFullYear();
-			displayedMonth = today.getMonth();
+//			var today:Date = new Date();
+//			displayedYear = today.getFullYear();
+//			displayedMonth = today.getMonth();
 		}
 		
 		private var _strand:IStrand;
@@ -60,6 +60,7 @@
 		
 		private var _dayNames:Array   = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
 		private var _monthNames:Array = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
+        private var _days:Array;
 		private var _displayedYear:Number;
 		private var _displayedMonth:Number;
 		private var _firstDayOfWeek:Number = 0;
@@ -119,6 +120,7 @@
 		{
 			if (value != _displayedYear) {
 				_displayedYear = value;
+                updateCalendar();
 				dispatchEvent( new Event("displayedYearChanged") );
 			}
 		}
@@ -139,6 +141,7 @@
 		{
 			if (_displayedMonth != value) {
 				_displayedMonth = value;
+                updateCalendar();
 				dispatchEvent( new Event("displayedMonthChanged") );
 			}
 		}
@@ -163,6 +166,18 @@
 			}
 		}
 		
+        public function get days():Array
+        {
+            return _days;
+        }
+        public function set days(value:Array):void
+        {
+            if (value != _days) {
+                _days = value;
+                dispatchEvent( new Event("daysChanged") );
+            }
+        }
+
 		/**
 		 *  The currently selected date or null if no date has been selected.
 		 *  
@@ -179,11 +194,95 @@
 		{
 			if (value != _selectedDate) {
 				_selectedDate = value;
-				dispatchEvent( new Event("selectedDateChanged") );
 				
-				displayedMonth = value.getMonth();
-				displayedYear  = value.getFullYear();
-			}
+                if (value != null) {
+                    var needsUpdate:Boolean = false;
+                    if (value.getMonth() != _displayedMonth) {
+                        needsUpdate = true;
+                        _displayedMonth = value.getMonth();
+                    }
+                    if (value.getFullYear() != _displayedYear) {
+                        needsUpdate = true;
+                        _displayedYear  = value.getFullYear();
+                    }
+                    if (needsUpdate) updateCalendar();
+                }
+                
+                dispatchEvent( new Event("selectedDateChanged") );
+            }
+        }
+        
+        // Utilities
+        
+        
+        /**
+         * @private
+         */
+        private function updateCalendar():void
+        {       
+            var firstDay:Date = new Date(displayedYear,displayedMonth,1);
+            
+            _days = new Array(42);
+            
+            // blank out the labels for the first firstDay.day-1 entries.
+            for(var i:int=0; i < firstDay.getDay(); i++) {
+                _days[i] = null;
+            }
+            
+            // renumber to the last day of the month
+            var dayNumber:int = 1;
+            var numDays:Number = numberOfDaysInMonth(displayedMonth, displayedYear);
+            
+            for(; i < _days.length && dayNumber <= numDays; i++) {
+                _days[i] = new Date(displayedYear, displayedMonth, dayNumber++);
+            }
+            
+            // blank out the rest
+            for(; i < _days.length; i++) {
+                _days[i] = null;
+            }
+        }
+        
+        /**
+         * @private
+         */
+        private function numberOfDaysInMonth(month:Number, year:Number):Number
+        {
+            var n:int;
+            
+            if (month == 1) // Feb
+            {
+                if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
+                    n = 29;
+                else
+                    n = 28;
+            }
+                
+            else if (month == 3 || month == 5 || month == 8 || month == 10)
+                n = 30;
+                
+            else
+                n = 31;
+            
+            return n;
+        }
+        
+        /**
+         * @private
+         */
+        public function getIndexForSelectedDate():Number
+        {
+            var d:Date = _selectedDate;
+            if (d == null) return -1;
+            
+            for(var i:int=0; i < _days.length; i++) {
+                var test:Date = _days[i] as Date;
+                if (test != null) {
+                    if (test.getMonth() == d.getMonth() && test.getDate() == d.getDate() && test.getFullYear())
+                        return i;
+			    }
+            }
+            return -1;
 		}
 	}
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/NonNullTextModel.as
similarity index 96%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/NonNullTextModel.as
index c349ea6..aefb25f 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/NonNullTextModel.as
@@ -37,7 +37,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class TextModel extends EventDispatcher implements IBead, ITextModel
+	public class NonNullTextModel extends EventDispatcher implements IBead, ITextModel
 	{
         /**
          *  Constructor.
@@ -47,7 +47,7 @@
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-		public function TextModel()
+		public function NonNullTextModel()
 		{
 		}
 		
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
index 5e46e41..c06d3fe 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
@@ -192,8 +192,8 @@
 				// value must lie within the boundaries of minimum & maximum
 				// and be on a step interval, so the value is adjusted to 
 				// what is coming in.
-				newValue = Math.max(minimum, newValue - stepSize);
-				newValue = Math.min(maximum, newValue + stepSize);
+				newValue = Math.max(minimum, newValue);
+				newValue = Math.min(maximum, newValue);
 				_value = snap(newValue);
 				dispatchEvent(new Event("valueChange"));
 			}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
index 1d320e3..214125e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
@@ -92,6 +92,24 @@
 		}
 		
 		/**
+		 * @private
+		 */
+		override public function setWidth(value:Number, noEvent:Boolean = false):void
+		{
+			super.setWidth(value, noEvent);
+			textButton.width = value;
+		}
+		
+		/**
+		 * @private
+		 */
+		override public function setHeight(value:Number, noEvent:Boolean = false):void
+		{
+			super.setHeight(value, noEvent);
+			textButton.height = value;
+		}
+		
+		/**
 		 *  The data to be displayed by the itemRenderer instance. For ButtonBarItemRenderer, the
 		 *  data's string version is used as the label for the Button.
 		 *
@@ -107,6 +125,7 @@
 			var added:Boolean = false;
 			if (textButton == null) {
 				textButton = new TextButton();
+				textButton.percentWidth = 100;
 				
 				// listen for clicks on the button and translate them into
 				// an itemClicked event.
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
index 92c3f53..c9eeefb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
@@ -82,7 +82,7 @@
 			element = input as WrappedHTMLElement;
 
 			positioner = element;
-			positioner.style.position = 'relative';
+			//positioner.style.position = 'relative';
 
 			(element as WrappedHTMLElement).flexjs_wrapper = this;
 
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
similarity index 98%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
index 55cf95d..16d6d3e 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
@@ -122,7 +122,7 @@
                 } while (needsLayout);
 
                 var rect:Rectangle = new Rectangle(0, 0, viewportWidth,viewportHeight);
-                contentArea.$sprite.scrollRect = rect;
+                contentArea.scrollRect = rect;
 
             }
 
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
index 6e1bb69..53d9bd5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
@@ -18,26 +18,28 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.supportClasses
 {
-	import org.apache.flex.core.IContentView;
+	import org.apache.flex.core.IBead;
+	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.UIBase;
     import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
-	
+	import org.apache.flex.core.IChild;
+	import org.apache.flex.core.ILayoutView;
+
     /**
      *  The ContainerContentArea class implements the contentView for
-     *  a Container.  Container's don't always parent their children directly as
-     *  that makes it harder to handle scrolling.
-     *  
+     *  a Container on the SWF platform.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class ContainerContentArea extends UIBase implements IContentView
+	public class ContainerContentArea extends UIBase implements IBead, ILayoutView
 	{
         /**
          *  Constructor.
-         *  
+         *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
@@ -48,34 +50,18 @@
 			super();
             addEventListener("layoutNeeded", forwardEventHandler);
 		}
-        
+		
+		protected var host:IStrand;
+		
+		public function set strand(value:IStrand):void
+		{
+			host = value;
+		}
+
         private function forwardEventHandler(event:Event):void
         {
             if (parent is IEventDispatcher)
                 (parent as IEventDispatcher).dispatchEvent(event);
         }
-		
-		/**
-		 *  @copy org.apache.flex.core.IItemRendererParent#removeAllElements()
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function removeAllElements():void
-		{
-			COMPILE::SWF
-			{
-				removeChildren(0);					
-			}
-			COMPILE::JS
-			{
-				while (element.hasChildNodes()) 
-				{
-					element.removeChild(element.lastChild);
-				}
-			}
-		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
index f6663a5..d05036f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
@@ -66,6 +66,7 @@
 			var added:Boolean = false;
 			if (textButton == null) {
 				textButton = new DataGridButtonBarTextButton();
+				textButton.percentWidth = 100;
 				
 				// listen for clicks on the button and translate them into
 				// an itemClicked event.
@@ -77,5 +78,14 @@
 			
 			if (added) addElement(textButton);
 		}
+		
+		/**
+		 * @private
+		 */
+		COMPILE::JS
+		override public function adjustSize():void
+		{
+			// not neeed for JS platform
+		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
index bb0fa65..e612517 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
@@ -56,6 +56,7 @@
 		public function DataGridColumnList()
 		{
 			super();
+			typeNames = "DataGridColumnList";
 		}
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
index f7ebf01..b6ebb71 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
@@ -41,7 +41,7 @@
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-	public class DataGroup extends ContainerContentArea implements IItemRendererParent, IContentView
+	public class DataGroup extends ContainerContentArea implements IItemRendererParent
 	{
         /**
          *  Constructor.
@@ -56,55 +56,87 @@
 			super();
 		}
 		
+		/*
+		* IItemRendererParent
+		*/
+		
 		/**
+		 * @copy org.apache.flex.core.IItemRendererParent#addItemRenderer()
 		 * @private
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
 		 */
-		override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
+		public function addItemRenderer(renderer:IItemRenderer):void
 		{
-			super.addElement(c, dispatchEvent);
+			addElement(renderer, true);
 			
 			var newEvent:ItemAddedEvent = new ItemAddedEvent("itemAdded");
-			newEvent.item = c;
+			newEvent.item = renderer;
 			
-			var strand:IEventDispatcher = parent as IEventDispatcher;
-			strand.dispatchEvent(newEvent);
+			(host as IEventDispatcher).dispatchEvent(newEvent);
 		}
 		
 		/**
+		 * @copy org.apache.flex.core.IItemRendererParent#removeItemRenderer()
 		 * @private
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
 		 */
-		override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{	
-			super.removeElement(c, dispatchEvent);
+		public function removeItemRenderer(renderer:IItemRenderer):void
+		{
+			removeElement(renderer, true);
 			
 			var newEvent:ItemRemovedEvent = new ItemRemovedEvent("itemRemoved");
-			newEvent.item = c;
+			newEvent.item = renderer;
 			
-			var strand:IEventDispatcher = parent as IEventDispatcher;
-			strand.dispatchEvent(newEvent);
+			(host as IEventDispatcher).dispatchEvent(newEvent);
 		}
-
-        /**
-         *  @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getItemRendererForIndex(index:int):IItemRenderer
-        {
+		
+		/**
+		 * @copy org.apache.flex.core.IItemRendererParent#removeAllItemRenderers()
+		 * @private
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function removeAllItemRenderers():void
+		{
+			while (numElements > 0) {
+				var child:IChild = getElementAt(0);
+				removeItemRenderer(child as IItemRenderer);
+			}
+		}
+		
+		/**
+		 *  @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
+		 */
+		public function getItemRendererForIndex(index:int):IItemRenderer
+		{
 			if (index < 0 || index >= numElements) return null;
-            return getElementAt(index) as IItemRenderer;
-        }
+			return getElementAt(index) as IItemRenderer;
+		}
 		
 		/**
 		 *  Refreshes the itemRenderers. Useful after a size change by the data group.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
+		 *
+		 *  @copy org.apache.flex.core.IItemRendererParent#updateAllItemRenderers()
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.8
 		 */
 		public function updateAllItemRenderers():void
 		{
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
index 8b4ad5b..7154689 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
@@ -163,7 +163,7 @@
 		{
 			element = document.createElement('div') as WrappedHTMLElement;
 			positioner = element;
-			positioner.style.position = 'relative';
+			//positioner.style.position = 'relative';
 
 			element.flexjs_wrapper = this;
 			className = 'DataItemRenderer';
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
index 119400f..3c29ae5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
@@ -101,7 +101,7 @@
 			element = input as WrappedHTMLElement;
 
 			positioner = element;
-			positioner.style.position = 'relative';
+			//positioner.style.position = 'relative';
 
 			(element as WrappedHTMLElement).flexjs_wrapper = this;
 
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
index 46ba9a6..444606b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
@@ -18,12 +18,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.supportClasses
 {
-    COMPILE::SWF
-    {
-        import flash.geom.Rectangle;
-    }
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadLayout;
+	import org.apache.flex.core.IContainer;
 	import org.apache.flex.core.IContentViewHost;
 	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IStrand;
@@ -33,12 +30,16 @@
     COMPILE::SWF
     {
         import org.apache.flex.core.IViewportScroller;
+		import org.apache.flex.utils.CSSContainerUtils;
+		import flash.geom.Rectangle;
+		import org.apache.flex.geom.Rectangle;
     }
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.geom.Size;
 	import org.apache.flex.html.beads.ScrollBarView;
 	import org.apache.flex.html.beads.models.ScrollBarModel;
+	import org.apache.flex.geom.Rectangle;
 
 	/**
 	 * The ScrollingViewport extends the Viewport class by adding horizontal and
@@ -51,6 +52,71 @@
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
+	COMPILE::JS
+	public class ScrollingViewport extends Viewport implements IBead, IViewport
+	{
+		/**
+		 * Constructor
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function ScrollingViewport()
+		{
+			super();
+		}
+		
+		public function get verticalScrollPosition():Number
+		{
+			return this.contentView.positioner.scrollTop;
+		}
+		public function set verticalScrollPosition(value:Number):void
+		{
+			this.contentView.positioner.scrollTop = value;
+		}
+		
+		public function get horizontalScrollPosition():Number
+		{
+			return this.contentView.positioner.scrollLeft;
+		}
+		public function set horizontalScrollPosition(value:Number):void
+		{
+			this.contentView.positioner.scrollLeft = value;
+		}
+		
+		/**
+		 * @flexjsignorecoercion HTMLElement 
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			if (contentView == null) {
+				(value as UIBase).element.style.overflow = "auto";
+			} else {
+				(contentView as UIBase).element.style.overflow = "auto";
+			}
+		}
+		
+		/**
+		* @copy org.apache.flex.core.IViewport
+		*/
+		override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
+		{
+			// does nothing for the JS platform
+		}
+		
+		/**
+		 * @copy org.apache.flex.core.IViewport
+		 */
+		override public function layoutViewportAfterContentLayout(contentSize:Size):void
+		{
+			// does nothing for the JS platform
+		}
+	}
+	
+	COMPILE::SWF
 	public class ScrollingViewport extends Viewport implements IBead, IViewport
 	{
 		/**
@@ -63,88 +129,45 @@
 		 */
 		public function ScrollingViewport()
 		{
+			super();
 		}
 
-        COMPILE::SWF
 		private var _verticalScroller:ScrollBar;
 
-        COMPILE::SWF
 		public function get verticalScroller():IViewportScroller
 		{
 			return _verticalScroller;
 		}
 
-        COMPILE::SWF
 		private var _horizontalScroller:ScrollBar
 
-        COMPILE::SWF
 		public function get horizontalScroller():IViewportScroller
 		{
 			return _horizontalScroller;
 		}
 
-        COMPILE::SWF
         private var _verticalScrollPosition:Number = 0;
 
         public function get verticalScrollPosition():Number
         {
-            COMPILE::SWF
-            {
-                return _verticalScrollPosition;
-            }
-            COMPILE::JS
-            {
-                return this.contentView.positioner.scrollTop;
-            }
+			return _verticalScrollPosition;
         }
         public function set verticalScrollPosition(value:Number):void
         {
-            COMPILE::SWF
-            {
-                _verticalScrollPosition = value;
-                handleVerticalScrollChange();
-            }
-            COMPILE::JS
-            {
-                this.contentView.positioner.scrollTop = value;
-            }
+			_verticalScrollPosition = value;
+			handleVerticalScrollChange();
         }
 
-        COMPILE::SWF
         private var _horizontalScrollPosition:Number = 0;
 
         public function get horizontalScrollPosition():Number
         {
-            COMPILE::SWF
-            {
-                return _horizontalScrollPosition;
-            }
-            COMPILE::JS
-            {
-                return this.contentView.positioner.scrollLeft;
-            }
+			return _horizontalScrollPosition;
         }
         public function set horizontalScrollPosition(value:Number):void
         {
-            COMPILE::SWF
-            {
-                _horizontalScrollPosition = value;
-                handleHorizontalScrollChange();
-            }
-            COMPILE::JS
-            {
-                this.contentView.positioner.scrollLeft = value;
-            }
-        }
-
-        /**
-         * @flexjsignorecoercion HTMLElement 
-         */
-        COMPILE::JS
-        override public function set strand(value:IStrand):void
-        {
-            super.strand = value;
-            (contentView.element as HTMLElement).style.overflow = 'auto';
+			_horizontalScrollPosition = value;
+			handleHorizontalScrollChange();
         }
 
         private var viewportWidth:Number;
@@ -155,127 +178,90 @@
          */
         override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
         {
-           super.layoutViewportBeforeContentLayout(width, height);
-           viewportWidth = width;
-           viewportHeight = height;
+           	super.layoutViewportBeforeContentLayout(width, height);
+           	viewportWidth = width;
+           	viewportHeight = height;
         }
 
         /**
          * @copy org.apache.flex.core.IViewport
          */
-		override public function layoutViewportAfterContentLayout():Size
+		override public function layoutViewportAfterContentLayout(contentSize:Size):void
 		{
-            COMPILE::SWF
-            {
-                var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
-                var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
-                var contentSize:Size;
-                do
-                {
-                    contentSize = super.layoutViewportAfterContentLayout();
-                    if (isNaN(viewportHeight))
-                        viewportHeight = contentSize.height;
-                    if (isNaN(viewportWidth))
-                        viewportWidth = contentSize.width;
-
-                    var host:UIBase = UIBase(_strand);
-                    var visibleWidth:Number;
-                    var visibleHeight:Number;
-                    var needV:Boolean = contentSize.height > viewportHeight;
-                    var needH:Boolean = contentSize.width > viewportWidth;
-
-                    if (needV)
-                    {
-                        if (_verticalScroller == null) {
-                            _verticalScroller = createVerticalScrollBar();
-                            (host as IContentViewHost).strandChildren.addElement(_verticalScroller);
-                        }
-                    }
-                    if (needH)
-                    {
-                        if (_horizontalScroller == null) {
-                            _horizontalScroller = createHorizontalScrollBar();
-                            (host as IContentViewHost).strandChildren.addElement(_horizontalScroller);
-                        }
-                    }
-
-                    if (needV)
-                    {
-                        _verticalScroller.visible = true;
-                        _verticalScroller.x = contentArea.x + viewportWidth - _verticalScroller.width;
-                        _verticalScroller.y = contentArea.y;
-                        _verticalScroller.setHeight(viewportHeight - (needH ? _horizontalScroller.height : 0), true);
-                        visibleWidth = _verticalScroller.x;
-                    }
-                    else if (_verticalScroller)
-                        _verticalScroller.visible = false;
-
-                    if (needH)
-                    {
-                        _horizontalScroller.visible = true;
-                        _horizontalScroller.x = contentArea.x;
-                        _horizontalScroller.y = contentArea.y + viewportHeight - _horizontalScroller.height;
-                        _horizontalScroller.setWidth(viewportWidth - (needV ? _verticalScroller.width : 0), true);
-                        visibleHeight = _horizontalScroller.y;
-                    }
-
-                    var needsLayout:Boolean = false;
-                    // resize content area if needed to get out from under scrollbars
-                    if (!isNaN(visibleWidth) || !isNaN(visibleHeight))
-                    {
-                        if (!isNaN(visibleWidth))
-                            needsLayout = visibleWidth != contentView.width;
-                        if (!isNaN(visibleHeight))
-                            needsLayout = visibleHeight != contentView.height;
-                        if (!isNaN(visibleWidth) && !isNaN(visibleHeight))
-                            contentArea.setWidthAndHeight(visibleWidth, visibleHeight, false);
-                        else if (!isNaN(visibleWidth))
-                            contentArea.setWidth(visibleWidth, false);
-                        else if (!isNaN(visibleHeight))
-                            contentArea.setHeight(visibleHeight, false);
-                    }
-                    if (needsLayout)
-                    {
-                        var layout:IBeadLayout = host.getBeadByType(IBeadLayout) as IBeadLayout;
-                        layout.layout();
-                    }
-                } while (needsLayout && (needV != hadV || needH == hadH));
-                if (_verticalScroller)
-                {
-                    ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
-                    ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
-                    ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
-                    if (contentSize.height > contentArea.height &&
-                        (contentSize.height - contentArea.height) < _verticalScrollPosition)
-                        _verticalScrollPosition = contentSize.height - contentArea.height;
-                }
-                if (_horizontalScroller)
-                {
-                    ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
-                    ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
-                    ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
-                    if (contentSize.width > contentArea.width &&
-                        (contentSize.width - contentArea.width) < _horizontalScrollPosition)
-                        _horizontalScrollPosition = contentSize.width - contentArea.width;
-                }
-
-                var rect:Rectangle = new Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
-                    (_verticalScroller != null && _verticalScroller.visible) ?
-                    _verticalScroller.x : viewportWidth,
-                    (_horizontalScroller != null && _horizontalScroller.visible) ?
-                    _horizontalScroller.y : viewportHeight);
-                contentArea.scrollRect = rect;
-                return contentSize;
-
-            }
-            COMPILE::JS
-            {
-                return new Size(contentView.width, contentView.height);
-            }
-
+			var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
+			var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
+			
+			var hostWidth:Number = UIBase(_strand).width;
+			var hostHeight:Number = UIBase(_strand).height;
+			
+			var borderMetrics:org.apache.flex.geom.Rectangle = CSSContainerUtils.getBorderMetrics(_strand);
+			
+			hostWidth -= borderMetrics.left + borderMetrics.right;
+			hostHeight -= borderMetrics.top + borderMetrics.bottom;
+			
+			var needV:Boolean = contentSize.height > viewportHeight;
+			var needH:Boolean = contentSize.width > viewportWidth;
+			
+			if (needV)
+			{
+				if (_verticalScroller == null) {
+					_verticalScroller = createVerticalScrollBar();
+					(_strand as IContainer).strandChildren.addElement(_verticalScroller);
+				}
+			}
+			if (needH)
+			{
+				if (_horizontalScroller == null) {
+					_horizontalScroller = createHorizontalScrollBar();
+					(_strand as IContainer).strandChildren.addElement(_horizontalScroller);
+				}
+			}
+			
+			if (needV)
+			{
+				_verticalScroller.visible = true;
+				_verticalScroller.x = UIBase(_strand).width - borderMetrics.right - _verticalScroller.width;
+				_verticalScroller.y = borderMetrics.top;
+				_verticalScroller.setHeight(hostHeight - (needH ? _horizontalScroller.height : 0), true);
+				
+				ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
+				ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
+				ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
+				
+				if (contentSize.height > contentArea.height &&
+					(contentSize.height - contentArea.height) < _verticalScrollPosition)
+					_verticalScrollPosition = contentSize.height - contentArea.height;
+			}
+			else if (_verticalScroller) {
+				_verticalScroller.visible = false;
+			}
+			
+			if (needH)
+			{
+				_horizontalScroller.visible = true;
+				_horizontalScroller.x = 0;
+				_horizontalScroller.y = UIBase(_strand).height - borderMetrics.bottom - _horizontalScroller.height;
+				_horizontalScroller.setWidth(hostWidth - (needV ? _verticalScroller.width : 0), true);
+				
+				ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
+				ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
+				ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
+				
+				if (contentSize.width > contentArea.width &&
+					(contentSize.width - contentArea.width) < _horizontalScrollPosition)
+					_horizontalScrollPosition = contentSize.width - contentArea.width;
+			} 
+			else if (_horizontalScroller) {
+				_horizontalScroller.visible = false;
+			}
+			
+			var rect:flash.geom.Rectangle = new flash.geom.Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
+				(_verticalScroller != null && _verticalScroller.visible) ? _verticalScroller.x : hostWidth,
+				(_horizontalScroller != null && _horizontalScroller.visible) ? _horizontalScroller.y : hostHeight);
+			
+			contentArea.scrollRect = rect;
 		}
 
-		COMPILE::SWF
 		private function createVerticalScrollBar():ScrollBar
 		{
 			var vsbm:ScrollBarModel = new ScrollBarModel();
@@ -293,7 +279,6 @@
 			return vsb;
 		}
 
-        COMPILE::SWF
 		private function createHorizontalScrollBar():ScrollBar
 		{
 			var hsbm:ScrollBarModel = new ScrollBarModel();
@@ -311,31 +296,28 @@
 			return hsb;
 		}
 
-        COMPILE::SWF
 		private function handleVerticalScroll(event:Event):void
 		{
 			var host:UIBase = UIBase(_strand);
 			var vpos:Number = ScrollBarModel(_verticalScroller.model).value;
-			var rect:Rectangle = contentArea.scrollRect;
+			var rect:flash.geom.Rectangle = contentArea.scrollRect;
 			rect.y = vpos;
 			contentArea.scrollRect = rect;
 
 			_verticalScrollPosition = vpos;
 		}
 
-        COMPILE::SWF
 		private function handleHorizontalScroll(event:Event):void
 		{
 			var host:UIBase = UIBase(_strand);
 			var hpos:Number = ScrollBarModel(_horizontalScroller.model).value;
-			var rect:Rectangle = contentArea.scrollRect;
+			var rect:flash.geom.Rectangle = contentArea.scrollRect;
 			rect.x = hpos;
 			contentArea.scrollRect = rect;
 
 			_horizontalScrollPosition = hpos;
 		}
 
-        COMPILE::SWF
 		private function handleVerticalScrollChange():void
 		{
 			if (_verticalScroller) {
@@ -343,7 +325,6 @@
 			}
 		}
 
-        COMPILE::SWF
 		private function handleHorizontalScrollChange():void
 		{
 			if (_horizontalScroller) {
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
index b897012..0f12f1b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
@@ -22,17 +22,17 @@
     {
         import flash.text.TextFieldAutoSize;
         import flash.text.TextFieldType;
-        
-        import org.apache.flex.core.CSSTextField;            
+
+        import org.apache.flex.core.CSSTextField;
     }
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.html.beads.controllers.ItemRendererMouseController;        
+        import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
     }
     import org.apache.flex.events.Event;
     import org.apache.flex.html.beads.ITextItemRenderer;
-    
+
 	/**
 	 *  The StringItemRenderer class displays data in string form using the data's toString()
 	 *  function.
@@ -55,20 +55,20 @@
 		public function StringItemRenderer()
 		{
 			super();
-			
+
             COMPILE::SWF
             {
                 textField = new CSSTextField();
                 textField.type = TextFieldType.DYNAMIC;
                 textField.autoSize = TextFieldAutoSize.LEFT;
                 textField.selectable = false;
-                textField.parentDrawsBackground = true;         
+                textField.parentDrawsBackground = true;
             }
 		}
-		
+
         COMPILE::SWF
 		public var textField:CSSTextField;
-		
+
 		/**
 		 * @private
 		 */
@@ -76,12 +76,12 @@
 		override public function addedToParent():void
 		{
 			super.addedToParent();
-			
+
 			addChild(textField);
 
 			adjustSize();
 		}
-		
+
 		/**
 		 * @private
 		 */
@@ -89,14 +89,14 @@
 		override public function adjustSize():void
 		{
 			var cy:Number = height/2;
-			
+
 			textField.x = 0;
 			textField.y = cy - textField.height/2;
 			textField.width = width;
-			
+
 			updateRenderer();
 		}
-		
+
 		/**
 		 *  The text currently displayed by the itemRenderer instance.
 		 *
@@ -109,29 +109,29 @@
 		{
             COMPILE::SWF
             {
-                return textField.text;                    
+                return textField.text;
             }
             COMPILE::JS
             {
                 return this.element.innerHTML;
             }
 		}
-		
+
 		public function set text(value:String):void
 		{
             COMPILE::SWF
             {
-                textField.text = value;                    
+                textField.text = value;
             }
             COMPILE::JS
             {
                 this.element.innerHTML = value;
             }
 		}
-		
+
 		/**
 		 *  Sets the data value and uses the String version of the data for display.
-		 * 
+		 *
 		 *  @param Object data The object being displayed by the itemRenderer instance.
 		 *
 		 *  @langversion 3.0
@@ -146,33 +146,33 @@
 			if (labelField) text = String(value[labelField]);
 			else if (dataField) text = String(value[dataField]);
 			else text = String(value);
-            
+
             this.text = text;
 		}
-		
+
         COMPILE::JS
         private var controller:ItemRendererMouseController;
-            
+
         COMPILE::JS
         private var backgroundView:WrappedHTMLElement;
-        
+
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
-        {            
-            element = document.createElement('div') as WrappedHTMLElement;
+        {
+            element = document.createElement('span') as WrappedHTMLElement;
             positioner = element;
-            positioner.style.position = 'relative';
-            
+            //positioner.style.position = 'relative';
+
             element.flexjs_wrapper = this;
             className = 'StringItemRenderer';
-            
+
             // itemRenderers should provide something for the background to handle
             // the selection and highlight
             backgroundView = element;
-            
+
             return element;
         }
 
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
index f253bd2..6de6533 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
@@ -55,6 +55,9 @@
 		 */
 		override public function addedToParent():void
 		{
+            MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
+            MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
+            
 			super.addedToParent();
 			
             // very common for item renderers to be resized by their containers,
@@ -65,9 +68,6 @@
             // each MXML file can also have styles in fx:Style block
             ValuesManager.valuesImpl.init(this);
             
-            MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
-            MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-            
             dispatchEvent(new Event("initBindings"));
             dispatchEvent(new Event("initComplete"));
             
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
index 285282a..a7ff82b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
@@ -32,10 +32,15 @@
     import org.apache.flex.geom.Size;
 	import org.apache.flex.html.beads.models.ScrollBarModel;
     import org.apache.flex.utils.CSSContainerUtils;
+	COMPILE::SWF
+	{
+		import flash.geom.Rectangle;
+	}
 
     /**
      * A Viewport is the area of a Container set aside for displaying
-     * content and any scrolling controls.
+     * content. If the content exceeds the visible area of the viewport
+	 * it will be clipped or hidden.
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
@@ -76,6 +81,7 @@
         /**
          * @flexjsignorecoercion Class
          */
+		COMPILE::SWF
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
@@ -84,8 +90,37 @@
             {
                 var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
                 contentArea = new c() as UIBase;
+				_strand.addBead(contentArea as IBead);
             }
 		}
+		
+		/**
+		 * @flexjsignorecoercion Class
+		 */
+		COMPILE::JS
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+			
+			contentArea = _strand.getBeadByType(IContentView) as UIBase;
+			if (!contentArea)
+			{
+				var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
+				if (c != null) {
+					var result:Object = new c();
+					if (result != null) {
+						contentArea = result as UIBase;
+						_strand.addBead(contentArea as IBead);
+					}
+				}
+			}
+			
+			if (contentArea == null) {
+				contentArea = value as UIBase;
+			}
+			
+			contentArea.element.style.overflow = "hidden";
+		}
 
         /**
          * @copy org.apache.flex.core.IViewport#setPosition()
@@ -97,8 +132,10 @@
          */
         public function setPosition(x:Number, y:Number):void
         {
-            contentArea.x = x;
-            contentArea.y = y;
+			COMPILE::SWF {
+            	contentArea.x = x;
+            	contentArea.y = y;
+			}
         }
 
         /**
@@ -111,10 +148,12 @@
          */
 		public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
 		{
+			COMPILE::SWF {
 			if (!isNaN(width))
                 contentArea.width = width;
             if (!isNaN(height))
                 contentArea.height = height;
+			}
 		}
 
         /**
@@ -125,26 +164,17 @@
 	     *  @playerversion AIR 2.6
 	     *  @productversion FlexJS 0.0
          */
-		public function layoutViewportAfterContentLayout():Size
+		public function layoutViewportAfterContentLayout(contentSize:Size):void
 		{
-            // pass through all of the children and determine the maxWidth and maxHeight
-            // note: this is not done on the JavaScript side because the browser handles
-            // this automatically.
-            var maxWidth:Number = 0;
-            var maxHeight:Number = 0;
-            var num:Number = contentArea.numElements;
-
-            for (var i:int=0; i < num; i++) {
-                var child:IUIBase = contentArea.getElementAt(i) as IUIBase;
-                if (child == null || !child.visible) continue;
-                var childXMax:Number = child.x + child.width;
-                var childYMax:Number = child.y + child.height;
-                maxWidth = Math.max(maxWidth, childXMax);
-                maxHeight = Math.max(maxHeight, childYMax);
-            }
-
-            var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(this._strand);
-            return new Size(maxWidth + padding.right, maxHeight + padding.bottom);
+			COMPILE::SWF {
+				var hostWidth:Number = UIBase(_strand).width;
+				var hostHeight:Number = UIBase(_strand).height;
+				
+				var rect:flash.geom.Rectangle = new flash.geom.Rectangle(0, 0, hostWidth, hostHeight);
+				contentArea.scrollRect = rect;
+				
+				return;
+			}
 		}
 
 	}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as
index f76b5c8..8f9ae16 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as
@@ -15,9 +15,11 @@
 package org.apache.flex.svg
 {
 	import org.apache.flex.graphics.ICircle;
+    import org.apache.flex.graphics.IDrawable;
 
     COMPILE::SWF
     {
+        import flash.display.Graphics;
         import flash.geom.Point;
         import flash.geom.Rectangle;            
     }
@@ -26,7 +28,7 @@
         import org.apache.flex.core.WrappedHTMLElement;
     }
 
-    public class Circle extends GraphicShape implements ICircle
+    public class Circle extends GraphicShape implements ICircle, IDrawable
     {
 		/**
 		 *  constructor.
@@ -78,7 +80,7 @@
                 graphics.clear();
                 applyStroke();
                 beginFill(new Rectangle(cx,cy,radius*2, radius*2),new Point(cx-radius,cy-radius));
-                graphics.drawCircle(cx,cy,radius);
+                graphics.drawCircle(cx+radius,cy+radius,radius);
                 endFill();
             }
             COMPILE::JS                
@@ -109,10 +111,15 @@
             }
         }
         
-        override protected function draw():void
+        override protected function drawImpl():void
         {
             drawCircle(0, 0, radius);
         }
+
+		public function draw():void
+		{
+			drawImpl();
+		}
         
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
index d341cba..c7ee326 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
@@ -46,7 +46,7 @@
 			element.style.top = "0px";
 			//element.offsetParent = null;
 			positioner = element;
-			positioner.style.position = 'relative';
+			//positioner.style.position = 'relative';
 			
 			return element;
 		}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as
index c2fbabc..b118d30 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as
@@ -18,6 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.svg
 {
+    import org.apache.flex.graphics.IDrawable;
 	import org.apache.flex.graphics.IEllipse;
 
     COMPILE::SWF
@@ -30,7 +31,7 @@
         import org.apache.flex.core.WrappedHTMLElement;
     }
 
-    public class Ellipse extends GraphicShape implements IEllipse
+    public class Ellipse extends GraphicShape implements IEllipse, IDrawable
     {
 		/**
 		 *  constructor.
@@ -68,7 +69,7 @@
 			_rx = value;
 		}
 
-		private var _ry:Number;
+ 		private var _ry:Number;
 
 		/**
 		 * The vertical radius of the ellipse.
@@ -88,6 +89,25 @@
 			_ry = value;
 		}
 
+        override public function get width():Number
+        {
+            return _rx*2;
+        }
+
+        override public function set width(value:Number):void
+        {
+            _rx = value/2;
+        }
+
+        override public function get height():Number
+        {
+            return _ry*2;
+        }
+
+        override public function set height(value:Number):void
+        {
+            _ry = value/2;
+        }
         
         COMPILE::JS
         private var _ellipse:WrappedHTMLElement;
@@ -96,8 +116,6 @@
          *  Draw the ellipse.
          *  @param xp The x position of the top-left corner of the bounding box of the ellipse.
          *  @param yp The y position of the top-left corner of the bounding box of the ellipse.
-         *  @param width The width of the ellipse.
-         *  @param height The height of the ellipse.
          *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
@@ -127,26 +145,31 @@
                 _ellipse.setAttribute('style', style);
                 if (stroke)
                 {
-                    _ellipse.setAttribute('cx', width / 2 + stroke.weight);
-                    _ellipse.setAttribute('cy', height / 2 + stroke.weight);
+                    _ellipse.setAttribute('cx', rx + stroke.weight);
+                    _ellipse.setAttribute('cy', ry + stroke.weight);
                 }
                 else
                 {
-                    _ellipse.setAttribute('cx', width / 2);
-                    _ellipse.setAttribute('cy', height / 2);
+                    _ellipse.setAttribute('cx', rx);
+                    _ellipse.setAttribute('cy', ry);
                 }
-                _ellipse.setAttribute('rx', width / 2);
-                _ellipse.setAttribute('ry', height / 2);
+                _ellipse.setAttribute('rx', rx);
+                _ellipse.setAttribute('ry', ry);
                 
                 resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
 
             }
         }
         
-        override protected function draw():void
+        override protected function drawImpl():void
         {
-            drawEllipse(0, 0);    
+            drawEllipse(0, 0);
         }
+
+		public function draw():void
+		{
+			drawImpl();
+		}
         
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
index 8e8498f..8bd841f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
@@ -14,6 +14,7 @@
 package org.apache.flex.svg
 {
     import org.apache.flex.core.ContainerBase;
+    import org.apache.flex.core.IChild;
     import org.apache.flex.core.IFlexJSElement;
     import org.apache.flex.core.ITransformHost;
 
@@ -21,13 +22,12 @@
 	{
 		import org.apache.flex.core.IContainer;
 		import org.apache.flex.core.UIBase;
-		import org.apache.flex.core.IChild;
 	}
 
 	[DefaultProperty("mxmlContent")]
 
 	COMPILE::SWF
-    public class GraphicContainer extends ContainerBase
+    public class GraphicContainer extends ContainerBase implements ITransformHost
     {
         public function GraphicContainer()
         {
@@ -35,39 +35,44 @@
         }
 
     }
-	
+
 	COMPILE::JS
-	public class GraphicContainer extends UIBase implements IContainer
+	public class GraphicContainer extends ContainerBase implements ITransformHost
 	{
 		private var graphicGroup:ContainerBase;
-		
+
 		public function GraphicContainer()
 		{
 			super();
 		}
-		
+
 		/**
 		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
 		 */
 		override protected function createElement():org.apache.flex.core.WrappedHTMLElement
 		{
 			element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as org.apache.flex.core.WrappedHTMLElement;
-			
+
 			positioner = element;
-			
+
 			// absolute positioned children need a non-null
 			// position value in the parent.  It might
 			// get set to 'absolute' if the container is
 			// also absolutely positioned
-			positioner.style.position = 'relative';
+			//positioner.style.position = 'relative';
 			element.flexjs_wrapper = this;
-			
+
 			graphicGroup = new GraphicGroup();
 			super.addElement(graphicGroup);
 			return element;
 		}
 
-		
+		COMPILE::JS
+		override protected function setClassName(value:String):void
+		{
+			element.setAttribute('class', value);
+		}
+
 		override public function get transformElement():org.apache.flex.core.WrappedHTMLElement
 		{
 			return graphicGroup.element;
@@ -75,7 +80,7 @@
 
 		/**
 		 *  @copy org.apache.flex.core.IParent#getElementAt()
-		 * 
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -84,11 +89,11 @@
 		override public function getElementAt(index:int):IChild
 		{
 			return graphicGroup.getElementAt(index);
-		}        
-		
+		}
+
 		/**
 		 *  @copy org.apache.flex.core.IParent#addElement()
-		 * 
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -100,10 +105,10 @@
 			if (dispatchEvent)
 				this.dispatchEvent(new Event("childrenAdded"));
 		}
-		
+
 		/**
 		 *  @copy org.apache.flex.core.IParent#addElementAt()
-		 * 
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -115,10 +120,10 @@
 			if (dispatchEvent)
 				this.dispatchEvent(new Event("childrenAdded"));
 		}
-		
+
 		/**
 		 *  @copy org.apache.flex.core.IParent#removeElement()
-		 * 
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -130,23 +135,10 @@
 			if (dispatchEvent)
 				this.dispatchEvent(new Event("childrenRemoved"));
 		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IContainer#childrenAdded()
-		 * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function childrenAdded():void
-		{
-			dispatchEvent(new Event("childrenAdded"));
-		}
-		
+
 		/**
 		 *  @copy org.apache.flex.core.IParent#getElementIndex()
-		 * 
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -156,11 +148,11 @@
 		{
 			return graphicGroup.getElementIndex(c);
 		}
-		
-		
+
+
 		/**
 		 *  The number of elements in the parent.
-		 * 
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -170,6 +162,23 @@
 		{
 			return graphicGroup.numElements;
 		}
+
+		COMPILE::JS
+        override public function set x(value:Number):void
+        {
+			super.x = value;
+			// Needed for SVG inside SVG
+			element.setAttribute("x", value);
+        }
+
+		COMPILE::JS
+        override public function set y(value:Number):void
+        {
+			super.y = value;
+			// Needed for SVG inside SVG
+			element.setAttribute("y", value);
+        }
+
 	}
 }
 
@@ -184,21 +193,21 @@
 	override protected function createElement():org.apache.flex.core.WrappedHTMLElement
 	{
 		element = document.createElementNS('http://www.w3.org/2000/svg', 'g') as org.apache.flex.core.WrappedHTMLElement;
-		
+
 		positioner = element;
-		
+
 		// absolute positioned children need a non-null
 		// position value in the parent.  It might
 		// get set to 'absolute' if the container is
 		// also absolutely positioned
-		positioner.style.position = 'relative';
+		//positioner.style.position = 'relative';
 		element.flexjs_wrapper = this;
-		
+
 		/*addEventListener('childrenAdded',
 		runLayoutHandler);
 		addEventListener('elementRemoved',
 		runLayoutHandler);*/
-		
+
 		return element;
 	}
-}
\ No newline at end of file
+}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
index eb1acc1..523bbe3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
@@ -16,14 +16,18 @@
 {
 	COMPILE::SWF
     {
-        import flash.geom.Point;
-        import flash.geom.Rectangle;
+		import flash.display.Graphics;
+		import flash.display.Sprite;
+		import flash.geom.Point;
+		import flash.geom.Rectangle;
+		import org.apache.flex.core.WrappedSprite;
     }
     COMPILE::JS
     {
         import org.apache.flex.core.WrappedHTMLElement;
     }
 
+    import org.apache.flex.core.IFlexJSElement;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.graphics.IFill;
 	import org.apache.flex.graphics.IStroke;
@@ -31,6 +35,7 @@
 
 	public class GraphicShape extends UIBase implements IGraphicShape
 	{
+
 		private var _fill:IFill;
 		private var _stroke:IStroke;
 
@@ -78,7 +83,7 @@
         {
 			super();
         }
-		
+
 		/**
 		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
 		 */
@@ -87,12 +92,10 @@
 		{
 			element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement;
 			element.flexjs_wrapper = this;
-			element.style.left = "0px";
-			element.style.top = "0px";
 			//element.offsetParent = null;
 			positioner = element;
-			positioner.style.position = 'relative';
-			
+			//positioner.style.position = 'relative';
+
 			return element;
 		}
 
@@ -127,18 +130,15 @@
 		/**
 		 * This is where the drawing methods get called from
 		 */
-		protected function draw():void
+		protected function drawImpl():void
 		{
 			//Overwrite in subclass
 		}
 
 		override public function addedToParent():void
 		{
-            COMPILE::SWF
-            {
-                super.addedToParent();
-            }
-			draw();
+            super.addedToParent();
+			drawImpl();
             COMPILE::JS
             {
                 element.style.overflow = 'visible';
@@ -175,6 +175,12 @@
             return fillStr + ';' + strokeStr;
         }
 
+		COMPILE::JS
+		override protected function setClassName(value:String):void
+		{
+			element.setAttribute('class', value);
+		}
+
 
         /**
          * @param x X position.
@@ -190,8 +196,14 @@
             element.style.position = 'absolute';
             if (!isNaN(x)) element.style.top = x + "px";
             if (!isNaN(y)) element.style.left = y + "px";
+			// element.setAttribute("width", useWidth);
+			// element.setAttribute("height", useHeight);
             element.style.width = useWidth;
             element.style.height = useHeight;
+			// Needed for SVG inside SVG
+			element.setAttribute("x", x);
+			element.setAttribute("y", y);
+			//Needed for SVG inside DOM elements
             element.style.left = x + "px";
             element.style.top = y + "px";
         }
@@ -218,6 +230,10 @@
             _y = y;
             _xOffset = xOffset;
             _yOffset = yOffset;
+			// Needed for SVG inside SVG
+			element.setAttribute("x", xOffset);
+			element.setAttribute("y", yOffset);
+			//Needed for SVG inside DOM elements
             element.style.left = xOffset + "px";
             element.style.top = yOffset + "px";
         }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
index cd0729f..6f660ce 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
@@ -47,7 +47,7 @@
 			element.setAttribute('y', 0);
 			//element.offsetParent = null;
 			positioner = element;
-			positioner.style.position = 'relative';
+			//positioner.style.position = 'relative';
 			addImageElement();
 			return element;
 		}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as
index fe6b74a..126a437 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as
@@ -14,6 +14,7 @@
 
 package org.apache.flex.svg
 {
+    import org.apache.flex.graphics.IDrawable;
     import org.apache.flex.graphics.IPath;
     import org.apache.flex.graphics.PathBuilder;
 
@@ -30,7 +31,7 @@
     }
 
 
-    public class Path extends GraphicShape implements IPath
+    public class Path extends GraphicShape implements IPath, IDrawable
     {
 
         private var _data:String;
@@ -125,9 +126,14 @@
             }
         }
 
-        override protected function draw():void
+        override protected function drawImpl():void
         {
             drawStringPath(0, 0, data);
         }
+
+		public function draw():void
+		{
+			drawImpl();
+		}
     }
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as
index 64f888d..6cacf41 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as
@@ -14,6 +14,7 @@
 
 package org.apache.flex.svg
 {
+    import org.apache.flex.graphics.IDrawable;
 	import org.apache.flex.graphics.IRect;
 
     COMPILE::SWF
@@ -26,7 +27,7 @@
         import org.apache.flex.core.WrappedHTMLElement;
     }
 
-	public class Rect extends GraphicShape implements IRect
+	public class Rect extends GraphicShape implements IRect, IDrawable
 	{
 		/**
 		 *  constructor.
@@ -111,12 +112,12 @@
                 applyStroke();
                 beginFill(new Rectangle(xp, yp, width, height), new Point(xp,yp));
                 if(isNaN(rx))
-                    graphics.drawRect(x, y, width, height);
+                    graphics.drawRect(0, 0, width, height);
                 else
                 {
                     var dx:Number = rx*2;
                     var dy:Number = isNaN(ry) ? ry : ry*2;
-                    graphics.drawRoundRect(x, y, width, height,dx ,dy);
+                    graphics.drawRoundRect(0, 0, width, height,dx ,dy);
                 }
                 endFill();                    
             }
@@ -147,10 +148,21 @@
             }
 		}
 		
-		override protected function draw():void
+		COMPILE::JS
+		override public function get transformElement():WrappedHTMLElement
+		{
+			return _rect;
+		}
+
+		override protected function drawImpl():void
 		{
 			drawRect(0,0,width,height);
 		}
+
+		public function draw():void
+		{
+			drawImpl();
+		}
 		
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as
index 278dcc0..7b22aab 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as
@@ -18,6 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.svg
 {
+    import org.apache.flex.graphics.IDrawable;
 	import org.apache.flex.graphics.IText;
 	import org.apache.flex.graphics.SolidColor;
 
@@ -32,7 +33,7 @@
     }
 	
 	/**
-	 *  Draws a string of characters at a specific location using the stroke
+	 *  Draws a string of characters at a specific location using the fill
 	 *  value of color and alpha.
 	 *
 	 *  @langversion 3.0
@@ -42,7 +43,7 @@
      *  // TODO (aharui) ignore imports of external linkage interfaces?
      *  @flexjsignoreimport SVGLocatable
 	 */
-	public class Text extends GraphicShape implements IText
+	public class Text extends GraphicShape implements IText, IDrawable
 	{
 		/**
 		 *  constructor.
@@ -59,7 +60,7 @@
             COMPILE::SWF
             {
                 _textField = new CSSTextField();
-                addChild(_textField);                    
+                addChild(_textField);
             }
 		}
 		
@@ -149,11 +150,15 @@
             }
 		}
         
-        COMPILE::JS
-        override protected function draw():void
+        override protected function drawImpl():void
         {
-            drawText(text, x, y);
+            drawText(text,x,y);
         }
 
+		public function draw():void
+		{
+			drawImpl();
+		}
+
 	}
 }
diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 072aed9..204d10c 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -29,6 +29,7 @@
     <component id="DropDownList" class="org.apache.flex.html.DropDownList"/>
     <component id="DropDownListList" class="org.apache.flex.html.supportClasses.DropDownListList"/>
     <component id="Image" class="org.apache.flex.html.Image"/>
+    <component id="BinaryImage" class="org.apache.flex.html.BinaryImage"/>
     <component id="Label" class="org.apache.flex.html.Label"/>
     <component id="MultilineLabel" class="org.apache.flex.html.MultilineLabel"/>
     <component id="ImageAndTextButton" class="org.apache.flex.html.ImageAndTextButton"/>
@@ -36,12 +37,19 @@
     <component id="ToggleTextButton" class="org.apache.flex.html.ToggleTextButton"/>
     <component id="TextInput" class="org.apache.flex.html.TextInput"/>
     <component id="TextArea" class="org.apache.flex.html.TextArea"/>
+    <component id="DataContainer" class="org.apache.flex.html.DataContainer"/>
     <component id="List" class="org.apache.flex.html.List"/>
     <component id="SimpleList" class="org.apache.flex.html.SimpleList"/>
     <component id="CheckBox" class="org.apache.flex.html.CheckBox"/>
+    <component id="CSSCheckBox" class="org.apache.flex.html.CSSCheckBox"/>
     <component id="RadioButton" class="org.apache.flex.html.RadioButton"/>
     <component id="ComboBox" class="org.apache.flex.html.ComboBox"/>
+    <component id="ComboBoxList" class="org.apache.flex.html.supportClasses.ComboBoxList"/>
     <component id="Container" class="org.apache.flex.html.Container"/>
+    <component id="Group" class="org.apache.flex.html.Group"/>
+    <component id="HGroup" class="org.apache.flex.html.HGroup"/>
+    <component id="VGroup" class="org.apache.flex.html.VGroup"/>
+    <component id="Accordion" class="org.apache.flex.html.Accordion"/>
     <component id="Form" class="org.apache.flex.html.Form"/>
     <component id="HContainer" class="org.apache.flex.html.HContainer"/>
     <component id="VContainer" class="org.apache.flex.html.VContainer"/>
@@ -59,28 +67,43 @@
     <component id="Tree" class="org.apache.flex.html.Tree"/>
     <component id="BasicLayout" class="org.apache.flex.html.beads.layouts.BasicLayout"/>
     <component id="VerticalLayout" class="org.apache.flex.html.beads.layouts.VerticalLayout"/>
+    <component id="VerticalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.VerticalLayoutWithPaddingAndGap"/>
+    <component id="VerticalFlexLayout" class="org.apache.flex.html.beads.layouts.VerticalFlexLayout"/>
     <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"/>
+    <component id="HorizontalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.HorizontalLayoutWithPaddingAndGap"/>
+    <component id="HorizontalFlexLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlexLayout"/>
+    <component id="HorizontalFlowLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlowLayout" />
     <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"/>
     <component id="ListView" class="org.apache.flex.html.beads.ListView"/>
+    <component id="AccordionView" class="org.apache.flex.html.beads.AccordionView"/>
+    <component id="CenterElement" class="org.apache.flex.html.beads.CenterElement"/>
     <!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
-    
+
     <component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert"/>
     <component id="Alert" class="org.apache.flex.html.Alert"/>
     <component id="Spinner" class="org.apache.flex.html.Spinner"/>
     <component id="Slider" class="org.apache.flex.html.Slider"/>
     <component id="NumericStepper" class="org.apache.flex.html.NumericStepper" />
     <component id="StringItemRenderer" class="org.apache.flex.html.supportClasses.StringItemRenderer"/>
+    <component id="AccordionItemRenderer" class="org.apache.flex.html.supportClasses.AccordionItemRenderer"/>
+    <component id="AccordionCollapseBead" class="org.apache.flex.html.beads.AccordionCollapseBead"/>
+    <component id="DispatchInputFinishedBead" class="org.apache.flex.html.beads.DispatchInputFinishedBead"/>
+    <component id="DispatchKeyboardEventBead" class="org.apache.flex.html.beads.DispatchKeyboardEventBead"/>
     <component id="TreeItemRenderer" class="org.apache.flex.html.supportClasses.TreeItemRenderer"/>
     <component id="DataItemRenderer" class="org.apache.flex.html.supportClasses.DataItemRenderer"/>
-    <component id="ButtonBarButtonItemRenderer" class="org.apache.flex.html.supportClasses.ButtonBarButtonItemRenderer"/>
+    <component id="MXMLItemRenderer" class="org.apache.flex.html.supportClasses.MXMLItemRenderer"/>
+    <component id="DateItemRenderer" class="org.apache.flex.html.supportClasses.DateItemRenderer"/>
+    <component id="DayNameItemRenderer" class="org.apache.flex.html.supportClasses.DayNameItemRenderer"/>
+    <component id="TextButtonItemRenderer" class="org.apache.flex.html.supportClasses.TextButtonItemRenderer"/>
     <!--
      <component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>
-    <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
-    <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
+     <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
+     <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
      <component id="HRuleView" class="org.apache.flex.html.beads.HRuleView" />
      <component id="VRuleView" class="org.apache.flex.html.beads.VRuleView" />
      -->
     <component id="UnselectableElementBead" class="org.apache.flex.html.beads.UnselectableElementBead"/>
+    <component id="DisableBead" class="org.apache.flex.html.beads.DisableBead" />
     <component id="NumericOnlyTextInputBead" class="org.apache.flex.html.accessories.NumericOnlyTextInputBead" />
     <component id="PasswordInputBead" class="org.apache.flex.html.accessories.PasswordInputBead" />
     <component id="TextPromptBead" class="org.apache.flex.html.accessories.TextPromptBead" />
@@ -88,23 +111,25 @@
     <component id="VRule" class="org.apache.flex.html.VRule" />
     <component id="Spacer" class="org.apache.flex.html.Spacer" />
     <!--
-    <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
+     <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
      -->
     <component id="ScrollingViewport" class="org.apache.flex.html.supportClasses.ScrollingViewport" />
-    
+    <component id="ClippingViewport" class="org.apache.flex.html.supportClasses.ClippingViewport" />
+
     <component id="ArraySelectionModel" class="org.apache.flex.html.beads.models.ArraySelectionModel" />
     <component id="ArrayListSelectionModel" class="org.apache.flex.html.beads.models.ArrayListSelectionModel" />
 
     <component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
     <component id="DataProviderChangeNotifier" class="org.apache.flex.html.beads.DataProviderChangeNotifier"/>
+    <component id="DataProviderCollectionChangeNotifier" class="org.apache.flex.html.beads.DataProviderCollectionChangeNotifier"/>
+    <component id="DataProviderItemsChangeNotifier" class="org.apache.flex.html.beads.DataProviderItemsChangeNotifier"/>
     <component id="DataGridButtonBar" class="org.apache.flex.html.DataGridButtonBar"/>
     <component id="DataGridButtonBarTextButton" class="org.apache.flex.html.DataGridButtonBarTextButton"/>
     <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
     <component id="DataGridLinesBead" class="org.apache.flex.html.beads.DataGridLinesBead"/>
     <component id="DataGridColumnList" class="org.apache.flex.html.supportClasses.DataGridColumnList"/>
-    <component id="DataGridLayout" class="org.apache.flex.html.beads.layouts.DataGridLayout" />
-    <component id="DataGridPercentageLayout" class="org.apache.flex.html.beads.layouts.DataGridPercentageLayout" />
-    
+    <component id="DataGridPercentageView" class="org.apache.flex.html.beads.DataGridPercentageView" />
+
     <component id="DataItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayData" />
     <component id="DataItemRendererFactoryForArrayList" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayList" />
     <component id="DataItemRendererFactoryForHierarchicalData" class="org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData" />
@@ -112,20 +137,30 @@
     <component id="TextItemRendererFactoryForStringVectorData" class="org.apache.flex.html.beads.TextItemRendererFactoryForStringVectorData" />
 
     <component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
+    <component id="DateChooserList" class="org.apache.flex.html.supportClasses.DateChooserList" />
+    <component id="DateChooserHeader" class="org.apache.flex.html.supportClasses.DateChooserHeader" />
     <component id="DateField" class="org.apache.flex.html.DateField"/>
     <component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
 
     <component id="ToolTipBead" class="org.apache.flex.html.accessories.ToolTipBead" />
 
     <component id="LayoutChangeNotifier" class="org.apache.flex.html.beads.layouts.LayoutChangeNotifier"/>
+    <component id="LayoutOnShow" class="org.apache.flex.html.beads.layouts.LayoutOnShow"/>
     <component id="ImageButton" class="org.apache.flex.html.ImageButton"/>
     <component id="FlexibleFirstChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout"/>
     <component id="OneFlexibleChildVerticalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout"/>
     <component id="OneFlexibleChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout"/>
     <component id="MXMLBeadView" class="org.apache.flex.html.MXMLBeadView"/>
 
+    <component id="SubAppLoader" class="org.apache.flex.html.SubAppLoader" />
+
     <component id="Border" class="org.apache.flex.html.supportClasses.Border"/>
-    
+
     <component id="WebBrowser" class="org.apache.flex.html.WebBrowser" />
+    
+    <component id="Table" class="org.apache.flex.html.Table"/>
+    <component id="TableRow" class="org.apache.flex.html.TableRow"/>
+    <component id="TableCell" class="org.apache.flex.html.TableCell"/>
+    <component id="TableHeader" class="org.apache.flex.html.TableHeader"/>
 
 </componentPackage>
diff --git a/frameworks/projects/Basic/src/main/resources/defaults.css b/frameworks/projects/Basic/src/main/resources/defaults.css
index 5ce20fb..be9a3bd 100644
--- a/frameworks/projects/Basic/src/main/resources/defaults.css
+++ b/frameworks/projects/Basic/src/main/resources/defaults.css
@@ -23,26 +23,37 @@
 /* Global style declaration */
 *
 {
-    font-family: "Arial";
-    font-size: 12px;
+	font-family: "Arial";
+	font-size: 12px;
 	border-width: 1px;
 }
 
 .flexjs *, . flexjs *:before, . flexjs *:after {
-    -moz-box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	box-sizing: border-box;
 }
 
 .unselectable
 {
-    -moz-user-select: -moz-none;
-    -khtml-user-select: none;
-    -webkit-user-select: none;
-    -o-user-select: none;
-    user-select: none;
+	-moz-user-select: -moz-none;
+	-khtml-user-select: none;
+	-webkit-user-select: none;
+	-o-user-select: none;
+	user-select: none;
 }
 
+Alert
+{
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
+	
+	background-color: #FFFFFF;
+	border-style: solid;
+	border-color: #000000;
+	border-width: 1px;
+}
+
+
 Application
 {
 	padding: 0px;
@@ -51,77 +62,113 @@
 
 Button
 {
-  background-color: #f8f8f8;
-  border: 1px solid #808080;
-  border-radius: 2px;
-  padding: 4px;
-  margin: 0px;
+	background-color: #f8f8f8;
+	border: 1px solid #808080;
+	border-radius: 2px;
+	padding: 4px;
+	margin: 0px;
 }
 
 Button:hover
 {
-  background-color: #e8e8e8;
-  border: 1px solid #808080;
-  padding: 4px;
+	background-color: #e8e8e8;
+	border: 1px solid #808080;
+	padding: 4px;
 }
 
 Button:active
 {
-  background-color: #d8d8d8;
-  border: 1px solid #808080;
-  padding: 4px;
+	background-color: #d8d8d8;
+	border: 1px solid #808080;
+	padding: 4px;
 }
 
 ButtonBar
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.ButtonBarView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
-    IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.ButtonBarButtonItemRenderer");
-
-    border-style: none;
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.ButtonBarView");			
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
+	
+	border-style: none;
 }
 
-ButtonBarButtonItemRenderer
+ComboBox
 {
-    width: 80;
-    height: 30;
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
+	IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
+	IPopUp: ClassReference("org.apache.flex.html.supportClasses.ComboBoxList");
+}
+
+ComboBoxList
+{
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
+	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+	border-style: solid;
+	border-radius: 4px;
+	border-color: #000000;
+	border-width: 1px;
+	background-color: #FFFFFF;
+}
+
+.ComboBoxButton {
+	padding: 0px;
+	margin: 0px;
 }
 
 Container
 {
-    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
-    IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
 	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
 	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
 }
 
 ControlBar
 {
-	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
+	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");
 	
-    background-color: #CECECE;
-	border-style: none;
-    /*border-style: solid;
-    border-color: #000000;
-    border-width: 1px;*/
+	padding: 2px;
+	background-color: #E2E2E2;
+	border-top: solid 1px #333333;
+	height: 30px;
+}
+
+DataContainer
+{
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataProviderModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.DataContainerView");			
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
+	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+	border-style: solid;
+	border-color: #222222;
 }
 
 /* ASJS */
 DataGrid
 {
-    IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.DataGridLayout");
-
-    background-color: #FFFFFF;
+	IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
+	IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+	
+	background-color: #FFFFFF;
 	border-style: solid;
 	border-color: #222222;
 	border-width: 1px;
@@ -129,14 +176,13 @@
 
 DataGridButtonBar
 {
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
 	IBeadView:  ClassReference("org.apache.flex.html.beads.ButtonBarView");			
 	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
 	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
-	IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
 	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
 	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DataGridButtonBarButtonItemRenderer");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
 	
 	border-style: none;
 }
@@ -146,7 +192,6 @@
 	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
 	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
 	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
 	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayList");
 	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
 	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
@@ -158,39 +203,101 @@
 
 .DataGridListArea {
 	background-color: #FFFFFF;
-	border-style: solid;
-	border-color: #333333;
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
+	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
 }
 
+/* DateChooser */
+
 DateChooser {
-    IBeadView:   ClassReference("org.apache.flex.html.beads.DateChooserView");
-    IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
-    width:  280px;
-    height: 240px;
+	IBeadView:   ClassReference("org.apache.flex.html.beads.DateChooserView");
+	IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");			
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");	
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
+	width:  280px;
+	height: 240px;
 }
 
-DateField {
-    IBeadView:   ClassReference("org.apache.flex.html.beads.DateFieldView");
-    IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateFieldMouseController");
-    IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatYYYYMMDDBead");
+DateChooserList {
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DateItemRenderer");		
+	border-style: solid;
+	border-color: #000000;
+	border-width: 1px;
+	background-color: #FFFFFF;
 }
 
+DateChooserHeader {	
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");
+	height: 20px;
+	border-style: solid;
+	border-color: #000000;
+	border-width: 1px;
+	background-color: #FFFFFF;
+}
+
+.DateChooserMonthButtons {				
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");	
+	height: 20px;
+}
+
+DateItemRenderer
+{
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+	text-align: center;
+	flex-shrink: 0;
+	flex-grow: 1;
+}
+
+DayNameItemRenderer
+{
+	text-align: center;
+	flex-shrink: 0;
+	flex-grow: 1;
+}
+
+/* DateField */
+
+DateField {
+	IBeadView:   ClassReference("org.apache.flex.html.beads.DateFieldView");
+	IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateFieldMouseController");
+	IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatYYYYMMDDBead");
+}
+
+/* Groups */
+
+Form {
+	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+}
+
+Group {
+	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+}
+
+HGroup {
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+}
+
+VGroup {
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+}
+
+/* RangeStepper */
+
 RangeStepper {
 	IBeadView: ClassReference("org.apache.flex.html.beads.RangeStepperView");
 	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModelExtended");
 	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.RangeStepperMouseController");
 }
 
-Form {
-    
-}
-
 HContainer
 {
-    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+	white-space: nowrap;
 }
 
 Image
@@ -200,55 +307,94 @@
 	IBeadView:  ClassReference("org.apache.flex.html.beads.ImageView");
 }
 
+BinaryImage
+{
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.BinaryImageModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.ImageView");
+	IBinaryImageLoader:  ClassReference("org.apache.flex.html.beads.BinaryImageLoader");
+}
+
 ImageAndTextButton
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
 }
 
 ImageButton
 {
-    border-style: none;
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
+	border-style: none;
 }
 
 ImageButton:hover
 {
-    border-style: none;
+	border-style: none;
 }
 
 ImageButton:active
 {
-    border-style: none;
+	border-style: none;
 }
 
 VContainer
 {
-    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
 }
 
 List
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-    IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
 	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
 	border-style: solid;
 	border-color: #222222;
+	background-color: #FFFFFF;
+}
+
+Accordion
+{
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.AccordionView");			
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.AccordionItemRenderer");
+	IViewport: ClassReference("org.apache.flex.html.supportClasses.ClippingViewport");
+	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+	IAccordionCollapseBead: ClassReference("org.apache.flex.html.beads.AccordionCollapseBead");
+	border-style: solid;
+	border-color: #222222;
 }
 
+Table
+{
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.SimpleTableLayout");
+}
+
+TableHeader
+{
+	font-weight: bold;
+	border: 1px solid #999999;
+}
+
+TableCell
+{
+	border: 1px solid #999999;
+}
+
 Tree
 {
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArrayListSelectionModel");
 	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
 	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController");
 	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
 	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData");
 	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
 	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TreeItemRenderer");
@@ -260,139 +406,163 @@
 
 NumericStepper
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
 }
 
 Panel
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-	padding: 2px;
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
+	IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
+	IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+	
+	background-color: #FFFFFF;
+	border: solid 1px #333333
 }
 
 PanelWithControlBar
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-	padding: 2px;
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
+	IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
+	IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+	
+	background-color: #FFFFFF;
+	border: solid 1px #333333;
+}
+
+Panel .TitleBar
+{
+	border-bottom: solid 1px #333333;
 }
 
 SimpleList
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-    IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
 	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
 	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
 }
 
 Slider
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+	iBeadView:  ClassReference("org.apache.flex.html.beads.SliderView");
+	iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
 }
 
 Spinner
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.SpinnerView");
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+	IBeadView:  ClassReference("org.apache.flex.html.beads.SpinnerView");
 }
 
 
 StringItemRenderer
 {
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-    height: 16;
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+	height: 24;
+	flex-shrink: 0;
+	flex-grow: 1;
+}
+
+AccordionItemRenderer
+{
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController");
+	IBeadView: ClassReference("org.apache.flex.html.beads.AccordionItemRendererView");
+	flex-shrink: 0;
+	flex-grow: 1;
 }
 
 TreeItemRenderer
 {
 	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-	height: 16;
+	height: 24;
+	flex-shrink: 0;
+	flex-grow: 1;
 }
 
 TextInput
 {
-  border: 1px solid #808080;
-  border-radius: 2px;
-  padding: 4px;
-  margin: 0px;
+	border: 1px solid #808080;
+	border-radius: 2px;
+	padding: 4px;
+	margin: 0px;
 }
 
 TextArea
 {
-  border: 1px solid #808080;
-  border-radius: 2px;
-  padding: 4px;
-  resize: none;
+	border: 1px solid #808080;
+	border-radius: 2px;
+	padding: 4px;
+	resize: none;
 }
 
 TitleBar
 {
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
-    iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
-    background-color: #E2E2E2;
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
+	IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
+	IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
+	iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
+	background-color: #E2E2E2;
+	padding: 2px;
+	height: 30px;
+	flex-grow: 0;
+	min-height: 30px;
+}
+
+TitleBar .TitleBarCloseButton {
+	width: 16px;
+	height: 16px;
+	margin: 0px;
+}
+
+TitleBar .TitleBarTitle {
+	font-weight: bold;
+	padding: 0;
+	margin: 0;
 }
 
 .toggleTextButton
 {
-  background-color: #f8f8f8;
-  border: 1px solid #808080;
-  padding: 4px;
+	background-color: #f8f8f8;
+	border: 1px solid #808080;
+	padding: 4px;
 }
 
 .toggleTextButton:hover
 {
-  background-color: #e8e8e8;
-  border: 1px solid #808080;
-  padding: 4px;
+	background-color: #e8e8e8;
+	border: 1px solid #808080;
+	padding: 4px;
 }
 
 .toggleTextButton_Selected
 {
-  background-color: #d8d8d8;
-  border: 1px solid #808080;
-  padding: 4px;
+	background-color: #d8d8d8;
+	border: 1px solid #808080;
+	padding: 4px;
 }
 
 .toggleTextButton_Selected:hover
 {
-  background-color: #e8e8e8;
-  border: 1px solid #808080;
-  padding: 4px;
+	background-color: #e8e8e8;
+	border: 1px solid #808080;
+	padding: 4px;
 }
 
 ToolTip
 {
-    background-color: #FFFFCC;
+	background-color: #FFFFCC;
 }
 
 View
 {
-    IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
-    IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
 }
 
 WebBrowser
@@ -405,277 +575,348 @@
 /* Global Style Declaration */
 global
 {
-    IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
-    IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
-    effectTimerInterval: 10;
+	IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
+	IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
+	effectTimerInterval: 10;
 }
 
 @media -flex-flash
 {
+	Accordion {
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	}
+	
+	Alert
+	{
+		IBeadView:  ClassReference("org.apache.flex.html.beads.AlertView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+	}
+	
+	Border
+	{
+		border-color: inherit;
+		border-style: inherit;
+		border-radius: inherit;
+		border-width: inherit;
+		border: inherit;
+	}
+	
+	Button
+	{
+		IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
+	}
+	
+	ButtonBar
+	{
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	}
+	
+	CheckBox
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+		IBeadView:  ClassReference("org.apache.flex.html.beads.CheckBoxView");			
+	}
+	
+	CSSCheckBox
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+		IBeadView:  ClassReference("org.apache.flex.html.beads.CheckBoxView");			
+	}
+	
+	CloseButton
+	{
+		IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
+	}
+	
+	Container
+	{
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+	}
+	
+	ControlBar
+	{
+		IMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");  
+		border: solid 1px #333333;
+	}
+	
+	ComboBoxList {
+		IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+	}
+	
+	DataGrid {
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+	}
+	
+	DataContainer {
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	}
+	
+	DataGridButtonBar {
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	}
+	
+	DateChooserList {
+		iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead"); 
+	}
+	
+	DateChooserHeader {
+		padding-top: 0px;
+		padding-bottom: 5px;
+		iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");   
+	}
+	
+	DateItemRenderer {
+		margin: 0px;
+		padding: 5px;
+	}
+	
+	DropDownList
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
+		IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
+	}
+	
+	DropDownListList
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+		IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+		IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+		IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+		iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+		border-style: solid;
+		border-radius: 4px;
+		border-color: #333333;
+		border-width: 1px;
+		background-color: #FFFFFF;
+	}
+	
+	Group
+	{
+		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+	}
+	
+	HRule
+	{
+		IBeadView:  ClassReference("org.apache.flex.html.beads.HRuleView");
+	}
+	
+	ImageButton
+	{
+		IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
+	}
+	
+	ImageAndTextButton
+	{
+		IBeadView: ClassReference("org.apache.flex.html.beads.CSSImageAndTextButtonView");
+	}
+	
+	Label
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
+		iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
+	}
+	
+	List
+	{
+		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+		iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	}
+	
+	MultilineLabel
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
+	}
+	
+	NumericStepper
+	{
+		IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
+		
+		padding: 0px;
+		border-style: solid;
+		border-color: #000000;
+		border-width: 1px;
+		background-color: #FFFFFF;
+		iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+		iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+	}
+	
+	Panel
+	{
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");    
+	}
+	
+	PanelWithControlBar
+	{
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+	}
+	
+	RadioButton
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
+		IBeadView:  ClassReference("org.apache.flex.html.beads.RadioButtonView");			
+	}
+	
+	VScrollBar
+	{
+		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.VScrollBarView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
+	}
+	
+	HScrollBar
+	{
+		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HScrollBarLayout");
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.HScrollBarView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.HScrollBarMouseController");
+	}
+	
+	SimpleAlert
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
+		IBeadView:  ClassReference("org.apache.flex.html.beads.SimpleAlertView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
+		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		
+		background-color: #FFFFFF;
+		border-style: solid;
+		border-color: #000000;
+		border-width: 1px;
+	}
+	
+	Slider
+	{
+		iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
+		iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
+	}
+	
+	Spinner
+	{
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
+	}
+	
+	Table
+	{
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+	}
+	
+	TableCell
+	{
+		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableCellLayout");
+		IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
+	}
+	
+	TableHeader
+	{
+		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableHeaderLayout");
+		IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
+	}
 
-Alert
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.AlertView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-}
-
-Border
-{
-  border-color: inherit;
-  border-style: inherit;
-  border-radius: inherit;
-  border-width: inherit;
-  border: inherit;
-}
-
-Button
-{
-    IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
-}
-
-CheckBox
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.CheckBoxView");			
-}
-
-CloseButton
-{
-    IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
-}
-
-ComboBox
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
-    IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-}
-
-Container
-{
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-}
-
-ControlBar
-{
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
-    iMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");    
-}
-
-DropDownList
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
-    IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
-}
-
-DropDownListList
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-    IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-    IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-    iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-    border-style: solid;
-    border-radius: 4px;
-    border-color: #000000;
-    border-width: 1px;
-    background-color: #FFFFFF;
-}
-
-HRule
-{
-    IBeadView:  ClassReference("org.apache.flex.html.beads.HRuleView");
-}
-
-ImageButton
-{
-    IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
-}
-
-ImageAndTextButton
-{
-    IBeadView: ClassReference("org.apache.flex.html.beads.CSSImageAndTextButtonView");
-}
-
-Label
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
-	iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
-}
-
-List
-{
-    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-    iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-}
-
-MultilineLabel
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
-}
-
-NumericStepper
-{
-    IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
-    
-    padding: 0px;
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-    background-color: #FFFFFF;
-    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-    iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-}
-
-Panel
-{
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");    
-}
-
-PanelWithControlBar
-{
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-}
-
-RadioButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.RadioButtonView");			
-}
-
-VScrollBar
-{
-    IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.VScrollBarView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
-}
-
-HScrollBar
-{
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HScrollBarLayout");
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
-	IBeadView: ClassReference("org.apache.flex.html.beads.HScrollBarView");
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.HScrollBarMouseController");
-}
-
-SimpleAlert
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.SimpleAlertView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-    
-    background-color: #FFFFFF;
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-}
-
-Slider
-{
-    iBeadView:  ClassReference("org.apache.flex.html.beads.SliderView");
-    iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
-    iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
-    iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
-}
-
-Spinner
-{
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
-}
-
-TextArea
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
-    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-    iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-    background-color: #FFFFFF;
-}
-
-TextButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
-    iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
-}
-
-TextFieldItemRenderer
-{
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-    height: 16;
-}
-
-TextInput
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
-    IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
-    iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-    iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-    border-style: solid;
-    border-color: #000000;
-    border-width: 1px;
-    background-color: #FFFFFF;
-}
-
-TitleBar
-{
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-}
-
-ToggleTextButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
-}
-
-View
-{
-    iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-    iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-}
-
-VRule
-{
-    IBeadView:  ClassReference("org.apache.flex.html.beads.VRuleView");
-}
-
-/* SVG */
-
-svg|TextButton
-{
-    IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-    IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
-    iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
-}
+	
+	TextArea
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
+		IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+		IBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+		border-style: solid;
+		border-color: #000000;
+		border-width: 1px;
+		background-color: #FFFFFF;
+	}
+	
+	TextButton
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+		iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
+	}
+	
+	Tree {
+		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+	}
+	
+	/*
+	TextFieldItemRenderer
+	{
+	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+	height: 16;
+	}
+	*/
+	
+	TextInput
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
+		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
+		IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+		IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+		border-style: solid;
+		border-color: #000000;
+		border-width: 1px;
+		background-color: #FFFFFF;
+	}
+	
+	TitleBar
+	{
+		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		border: solid 1px #333333;
+	}
+	
+	ToggleTextButton
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+		IBeadView:  ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
+	}
+	
+	View
+	{
+		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+	}
+	
+	VRule
+	{
+		IBeadView:  ClassReference("org.apache.flex.html.beads.VRuleView");
+	}
+	
+	/* SVG */
+	
+	svg|TextButton
+	{
+		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+		IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+		iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
+	}
 
 }
diff --git a/frameworks/projects/Basic/src/main/resources/svg-manifest.xml b/frameworks/projects/Basic/src/main/resources/svg-manifest.xml
index a32483e..28d4b47 100644
--- a/frameworks/projects/Basic/src/main/resources/svg-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/svg-manifest.xml
@@ -20,5 +20,13 @@
 
 
 <componentPackage>
+    <component id="Circle" class="org.apache.flex.svg.Circle" />
+    <component id="Ellipse" class="org.apache.flex.svg.Ellipse" />
+    <component id="Path" class="org.apache.flex.svg.Path" />
+    <component id="Rect" class="org.apache.flex.svg.Rect" />
+    <component id="CompoundGraphic" class="org.apache.flex.svg.CompoundGraphic" />
+    <component id="GraphicContainer" class="org.apache.flex.svg.GraphicContainer" />
+    <component id="Image" class="org.apache.flex.svg.Image"/>
+    <component id="BinaryImage" class="org.apache.flex.svg.BinaryImage"/>
     <component id="TextButton" class="org.apache.flex.svg.TextButton"/>
 </componentPackage>
diff --git a/frameworks/projects/Basic/src/test/flex/build.xml b/frameworks/projects/Basic/src/test/flex/build.xml
index ecb6f36..6c77dfd 100644
--- a/frameworks/projects/Basic/src/test/flex/build.xml
+++ b/frameworks/projects/Basic/src/test/flex/build.xml
@@ -56,13 +56,13 @@
     <available file="${FLEXUNIT_HOME}/FlexUnit4/target"
         type="dir"
         property="FLEXUNIT_LIBPATH1"
-        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target/flexunit-4.3.0-20140410-as3_4.12.0.swc" />
-    <property name="FLEXUNIT_LIBPATH1" value="-library-path+=${FLEXUNIT_HOME}/flexunit" />
+        value="-swf-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target/flexunit-4.3.0-20140410-as3_4.12.0.swc" />
+    <property name="FLEXUNIT_LIBPATH1" value="-swf-library-path+=${FLEXUNIT_HOME}/flexunit" />
 
     <available file="${FLEXUNIT_HOME}/FlexUnit4CIListener/target"
         type="dir"
         property="FLEXUNIT_LIBPATH2"
-        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+        value="-swf-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
         <property name="FLEXUNIT_LIBPATH2" value="-define=CONFIG::dummy,false" />
 
     <available file="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target"
@@ -88,7 +88,7 @@
     </target>
     
     <path id="lib.path">
-      <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+      <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
     </path>
 
     <target name="compile" description="Compiles FlexUnitApplication.swf">
@@ -119,8 +119,8 @@
             <jvmarg line="${mxmlc.jvm.args}"/>
             <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="-debug" />
+            <arg value="-compiler.targets=SWF" />
             <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.allow-subclass-overrides" />
             <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
             <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
             <arg value="-compiler.binding-value-change-event-type=valueChange" />
@@ -129,7 +129,7 @@
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
             <arg value="-source-path+=${FLEXJS_HOME}/frameworks/projects/Basic/src/main/flex" />
-            <arg value="-library-path+=${FLEXJS_HOME}/frameworks/libs" />
+            <arg value="-swf-library-path+=${FLEXJS_HOME}/frameworks/libs" />
             <arg value="${FLEXUNIT_LIBPATH1}" />
             <arg value="${FLEXUNIT_LIBPATH2}" />
         </mxmlc>
diff --git a/frameworks/projects/Binding/build.xml b/frameworks/projects/Binding/build.xml
index 117b98a..f28b40a 100644
--- a/frameworks/projects/Binding/build.xml
+++ b/frameworks/projects/Binding/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Binding/pom.xml b/frameworks/projects/Binding/pom.xml
index 347c232..8d4e938 100644
--- a/frameworks/projects/Binding/pom.xml
+++ b/frameworks/projects/Binding/pom.xml
@@ -48,6 +48,7 @@
             </namespace>
           </namespaces>
           <includeSources>true</includeSources>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -65,7 +66,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Binding/src/main/config/compile-as-config.xml b/frameworks/projects/Binding/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Binding/src/main/config/compile-as-config.xml
rename to frameworks/projects/Binding/src/main/config/compile-swf-config.xml
index 9f68b12..5436c4e 100644
--- a/frameworks/projects/Binding/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Binding/src/main/config/compile-swf-config.xml
@@ -32,6 +32,15 @@
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/Charts/build.xml b/frameworks/projects/Charts/build.xml
index 0f9dae4..464a1d8 100644
--- a/frameworks/projects/Charts/build.xml
+++ b/frameworks/projects/Charts/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Charts/pom.xml b/frameworks/projects/Charts/pom.xml
index 2b4424e..c3f3c59 100644
--- a/frameworks/projects/Charts/pom.xml
+++ b/frameworks/projects/Charts/pom.xml
@@ -56,6 +56,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -73,7 +74,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -86,7 +87,7 @@
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -99,7 +100,7 @@
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -112,20 +113,20 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Charts/src/main/config/compile-as-config.xml b/frameworks/projects/Charts/src/main/config/compile-swf-config.xml
similarity index 88%
rename from frameworks/projects/Charts/src/main/config/compile-as-config.xml
rename to frameworks/projects/Charts/src/main/config/compile-swf-config.xml
index 465490d..2fcd566 100644
--- a/frameworks/projects/Charts/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Charts/src/main/config/compile-swf-config.xml
@@ -26,15 +26,25 @@
             <path-element>../../../../../libs/Core.swc</path-element>
             <path-element>../../../../../libs/Collections.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as
index fe8830b..157b99b 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as
@@ -62,7 +62,7 @@
 		{
 			COMPILE::SWF
 			{
-				$sprite.removeChildren(0);
+				removeChildren(0);
 			}
 			
 			COMPILE::JS
diff --git a/frameworks/projects/Collections/build.xml b/frameworks/projects/Collections/build.xml
index e24bf0f..9e2d012 100644
--- a/frameworks/projects/Collections/build.xml
+++ b/frameworks/projects/Collections/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Collections/pom.xml b/frameworks/projects/Collections/pom.xml
index f6d6af5..ac18b69 100644
--- a/frameworks/projects/Collections/pom.xml
+++ b/frameworks/projects/Collections/pom.xml
@@ -50,6 +50,7 @@
           <includeClasses>
             <includeClass>CollectionsClasses</includeClass>
           </includeClasses>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -67,7 +68,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Collections/src/main/config/compile-as-config.xml b/frameworks/projects/Collections/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Collections/src/main/config/compile-as-config.xml
rename to frameworks/projects/Collections/src/main/config/compile-swf-config.xml
index 282c931..f10ca02 100644
--- a/frameworks/projects/Collections/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Collections/src/main/config/compile-swf-config.xml
@@ -32,6 +32,15 @@
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/Core/build.xml b/frameworks/projects/Core/build.xml
index 8f96331..08799ba 100644
--- a/frameworks/projects/Core/build.xml
+++ b/frameworks/projects/Core/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Core/pom.xml b/frameworks/projects/Core/pom.xml
index 01a02c8..0d9e215 100644
--- a/frameworks/projects/Core/pom.xml
+++ b/frameworks/projects/Core/pom.xml
@@ -50,7 +50,7 @@
           <includeClasses>
             <includeClass>CoreClasses</includeClass>
           </includeClasses>
-          <skipExtern>false</skipExtern>
+          <skipExtern>true</skipExtern>
           <allowSubclassOverrides>true</allowSubclassOverrides>
         </configuration>
         <!-- As a test, add asdoc generation to the compile step -->
diff --git a/frameworks/projects/Core/src/main/config/compile-as-config.xml b/frameworks/projects/Core/src/main/config/compile-swf-config.xml
similarity index 92%
rename from frameworks/projects/Core/src/main/config/compile-as-config.xml
rename to frameworks/projects/Core/src/main/config/compile-swf-config.xml
index d3070d7..2fd2612 100644
--- a/frameworks/projects/Core/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Core/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as
index da0918f..97e4561 100755
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as
@@ -68,6 +68,7 @@
          *  @productversion FlexJS 0.0
          */
         function get explicitWidth():Number;
+        function set explicitWidth(value:Number):void;
         
         /**
          *  The height of this component 
@@ -79,6 +80,7 @@
          *  @productversion FlexJS 0.0
          */
         function get explicitHeight():Number;
+        function set explicitHeight(value:Number):void;
         
         /**
          * Sets the height of the component without
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as
index 0d2b081..cb8040a 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as
@@ -99,5 +99,10 @@
 			}
 			return false;
 		}
+        
+        public function toString():String
+        {
+            return "EventDispatcher";
+        }
 	}
 }
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as
index f16efb4..a0259f9 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as
@@ -129,6 +129,11 @@
     public var delay:Number;
     public var repeatCount:int;
     
+	public function running():Boolean
+	{
+		return timerInterval != -1;
+	}
+	
     private var _currentCount:int = 0;
 	
 	public function get currentCount():int
diff --git a/frameworks/projects/Core/src/test/flex/build.xml b/frameworks/projects/Core/src/test/flex/build.xml
index a65c2e5..a239218 100644
--- a/frameworks/projects/Core/src/test/flex/build.xml
+++ b/frameworks/projects/Core/src/test/flex/build.xml
@@ -88,7 +88,7 @@
     </target>
     
     <path id="lib.path">
-      <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+      <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
     </path>
 
     <target name="compile" description="Compiles FlexUnitApplication.swf">
diff --git a/frameworks/projects/CreateJS/build.xml b/frameworks/projects/CreateJS/build.xml
index de0a253..e86d19f 100644
--- a/frameworks/projects/CreateJS/build.xml
+++ b/frameworks/projects/CreateJS/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
-
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+        
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/createjs-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/CreateJS/pom.xml b/frameworks/projects/CreateJS/pom.xml
index cd1c3ae..9d32606 100644
--- a/frameworks/projects/CreateJS/pom.xml
+++ b/frameworks/projects/CreateJS/pom.xml
@@ -56,6 +56,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -73,20 +74,20 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -99,7 +100,7 @@
       <artifactId>Effects</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -112,7 +113,7 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
 
     <dependency>
diff --git a/frameworks/projects/CreateJS/src/main/config/compile-as-config.xml b/frameworks/projects/CreateJS/src/main/config/compile-swf-config.xml
similarity index 88%
rename from frameworks/projects/CreateJS/src/main/config/compile-as-config.xml
rename to frameworks/projects/CreateJS/src/main/config/compile-swf-config.xml
index b6c6cd3..56ec6e9 100644
--- a/frameworks/projects/CreateJS/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/CreateJS/src/main/config/compile-swf-config.xml
@@ -24,17 +24,27 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
             <path-element>../../../../../libs/Effects.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
index ac22fa0..d778020 100644
--- a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
+++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
@@ -90,6 +90,7 @@
 	 *  @productversion FlexJS 0.0
 	 */
 	[Event(name="applicationComplete", type="org.apache.flex.events.Event")]
+    
 	/**
 	 *  The Application class is the main class and entry point for a FlexJS
 	 *  application.  This Application class is different than the
@@ -116,6 +117,56 @@
 		// does nothing different for SWF side
 	}
 	
+    /**
+     *  Dispatched at startup. Attributes and sub-instances of
+     *  the MXML document have been created and assigned.
+     *  The component lifecycle is different
+     *  than the Flex SDK.  There is no creationComplete event.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="initialize", type="org.apache.flex.events.Event")]
+    
+    /**
+     *  Dispatched at startup before the instances get created.
+     *  Beads can call preventDefault and defer initialization.
+     *  This event will be dispatched on every frame until no
+     *  listeners call preventDefault(), then the initialize()
+     *  method will be called.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="preinitialize", type="org.apache.flex.events.Event")]
+    
+    /**
+     *  Dispatched at startup after the initial view has been
+     *  put on the display list. This event is sent before
+     *  applicationComplete is dispatched.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="viewChanged", type="org.apache.flex.events.Event")]
+    
+    /**
+     *  Dispatched at startup after the initial view has been
+     *  put on the display list.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="applicationComplete", type="org.apache.flex.events.Event")]
+    
 	COMPILE::JS
 	public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher
 	{
diff --git a/frameworks/projects/DragDrop/build.xml b/frameworks/projects/DragDrop/build.xml
index 59bcd35..a847e13 100644
--- a/frameworks/projects/DragDrop/build.xml
+++ b/frameworks/projects/DragDrop/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/DragDrop/pom.xml b/frameworks/projects/DragDrop/pom.xml
index d3a9cff..243c33d 100644
--- a/frameworks/projects/DragDrop/pom.xml
+++ b/frameworks/projects/DragDrop/pom.xml
@@ -50,6 +50,7 @@
           <includeClasses>
             <includeClass>DragDropClasses</includeClass>
           </includeClasses>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -67,7 +68,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/DragDrop/src/main/config/compile-as-config.xml b/frameworks/projects/DragDrop/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/DragDrop/src/main/config/compile-as-config.xml
rename to frameworks/projects/DragDrop/src/main/config/compile-swf-config.xml
index a4892e2..15ecb47 100644
--- a/frameworks/projects/DragDrop/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/DragDrop/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
 		<mxml>
@@ -33,6 +33,15 @@
 		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+        
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
 
         <keep-as3-metadata>
           <name>Bindable</name>
diff --git a/frameworks/projects/Effects/build.xml b/frameworks/projects/Effects/build.xml
index ee591bc..022d0be 100644
--- a/frameworks/projects/Effects/build.xml
+++ b/frameworks/projects/Effects/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Effects/pom.xml b/frameworks/projects/Effects/pom.xml
index 3db961f..2f57db3 100644
--- a/frameworks/projects/Effects/pom.xml
+++ b/frameworks/projects/Effects/pom.xml
@@ -50,6 +50,7 @@
           <includeClasses>
             <includeClass>EffectsClasses</includeClass>
           </includeClasses>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -67,20 +68,20 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     
   </dependencies>
diff --git a/frameworks/projects/Effects/src/main/config/compile-as-config.xml b/frameworks/projects/Effects/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Effects/src/main/config/compile-as-config.xml
rename to frameworks/projects/Effects/src/main/config/compile-swf-config.xml
index 0c35f10..4844133 100644
--- a/frameworks/projects/Effects/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Effects/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-			<path-element>../../../../../libs/HTML.swc</path-element>
+			<path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
 		<mxml>
@@ -34,6 +34,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as
index a8a719d..0dc4f98 100644
--- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as
+++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as
@@ -74,6 +74,11 @@
 			return _explicitHeight;
 		}
 		
+		public function set explicitHeight(value:Number):void
+		{
+			_explicitHeight = value;
+		}
+		
 		public function isHeightSizedToContent():Boolean
 		{
 			return _isHeightSizedToContent;
@@ -129,7 +134,11 @@
 		{
 			return _explicitWidth;
 		}
-		
+		public function set explicitWidth(value:Number):void
+		{
+			_explicitWidth = value;
+		}
+
 		public function isWidthSizedToContent():Boolean
 		{
 			return _isWidthSizedToContent;
diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as
index 1da2b5a..a07a1d4 100644
--- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as
+++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as
@@ -182,12 +182,20 @@
 			// TODO Auto Generated method stub
 			return 0;
 		}
+		public function set explicitHeight(value:Number):void
+		{
+			// TODO Auto Generated method stub
+		}
 
 		public function get explicitWidth():Number
 		{
 			// TODO Auto Generated method stub
 			return 0;
 		}
+		public function set explicitWidth(value:Number):void
+		{
+			// TODO Auto Generated method stub
+		}
 
 		public function isHeightSizedToContent():Boolean
 		{
diff --git a/frameworks/projects/Express/build.xml b/frameworks/projects/Express/build.xml
index 7c1a4d1..a50eb27 100644
--- a/frameworks/projects/Express/build.xml
+++ b/frameworks/projects/Express/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Express/pom.xml b/frameworks/projects/Express/pom.xml
index a7cb570..52b7b19 100644
--- a/frameworks/projects/Express/pom.xml
+++ b/frameworks/projects/Express/pom.xml
@@ -62,6 +62,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -79,7 +80,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -92,7 +93,7 @@
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -105,7 +106,7 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -118,20 +119,20 @@
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Express/src/main/config/compile-as-config.xml b/frameworks/projects/Express/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Express/src/main/config/compile-as-config.xml
rename to frameworks/projects/Express/src/main/config/compile-swf-config.xml
index fad9844..3402553 100644
--- a/frameworks/projects/Express/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Express/src/main/config/compile-swf-config.xml
@@ -27,9 +27,10 @@
             <path-element>../../../../../libs/Core.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
             <path-element>../../../../../libs/Collections.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -37,6 +38,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as b/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as
index 286f0eb..38f33f1 100644
--- a/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as
+++ b/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as
@@ -42,10 +42,12 @@
 		/**
 		 * Can enable or disable interaction with the control.
 		 */
+		COMPILE::JS
 		public function get enabled():Boolean
 		{
 			return _enabled;
 		}
+		COMPILE::JS
 		public function set enabled(value:Boolean):void
 		{
 			_enabled = value;
@@ -62,6 +64,30 @@
 			dispatchEvent(new Event("enabledChanged"));
 		}
 		
+		[Bindable("enabledChanged")]
+		/**
+		 * Can enable or disable interaction with the control.
+		 */
+		COMPILE::SWF
+		override public function get enabled():Boolean
+		{
+			return _enabled;
+		}
+		COMPILE::SWF
+		override public function set enabled(value:Boolean):void
+		{
+			_enabled = value;
+			
+			if (_disableBead == null) {
+				_disableBead = new DisableBead();
+				addBead(_disableBead);
+			}
+			
+			_disableBead.disabled = !value;
+				
+			dispatchEvent(new Event("enabledChanged"));
+		}
+
 		[Bindable("toolTipChanged")]
 		/**
 		 * Displays a hint when the mouse hovers over the button
diff --git a/frameworks/projects/Express/src/main/resources/express-manifest.xml b/frameworks/projects/Express/src/main/resources/express-manifest.xml
index 9ea226e..63551e2 100644
--- a/frameworks/projects/Express/src/main/resources/express-manifest.xml
+++ b/frameworks/projects/Express/src/main/resources/express-manifest.xml
@@ -61,7 +61,9 @@
     <component id="ToolTip" class="org.apache.flex.html.ToolTip"  lookupOnly="true" />
     <component id="BasicLayout" class="org.apache.flex.html.beads.layouts.BasicLayout"  lookupOnly="true" />
     <component id="VerticalLayout" class="org.apache.flex.html.beads.layouts.VerticalLayout"  lookupOnly="true" />
+    <component id="VerticalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.VerticalLayoutWithPaddingAndGap"  lookupOnly="true" />
     <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"  lookupOnly="true" />
+    <component id="HorizontalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.HorizontalLayoutWithPaddingAndGap"  lookupOnly="true" />
     <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"  lookupOnly="true" />
     <component id="ListView" class="org.apache.flex.html.beads.ListView" lookupOnly="true" />
     <component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView" lookupOnly="true" />
diff --git a/frameworks/projects/Flat/build.xml b/frameworks/projects/Flat/build.xml
index 3c9e5da..f518a2d 100644
--- a/frameworks/projects/Flat/build.xml
+++ b/frameworks/projects/Flat/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Flat/pom.xml b/frameworks/projects/Flat/pom.xml
index 36f8fee..27013f0 100644
--- a/frameworks/projects/Flat/pom.xml
+++ b/frameworks/projects/Flat/pom.xml
@@ -62,6 +62,7 @@
             </include-file>
           </includeFiles>
           <includeLookupOnly>true</includeLookupOnly>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -79,7 +80,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -101,16 +102,16 @@
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Flat/src/main/config/compile-as-config.xml b/frameworks/projects/Flat/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Flat/src/main/config/compile-as-config.xml
rename to frameworks/projects/Flat/src/main/config/compile-swf-config.xml
index 8ee2592..2a2ff97 100644
--- a/frameworks/projects/Flat/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Flat/src/main/config/compile-swf-config.xml
@@ -26,9 +26,10 @@
             <path-element>../../../../../libs/Binding.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -36,6 +37,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as
index 2d09772..497ea48 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as
@@ -55,6 +55,20 @@
 		}
 	}
     
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched when the user checks or un-checks the CheckBox.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
     COMPILE::JS
     public class CheckBox extends UIBase
     {
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as
index 1e4b3c7..b1c6a9e 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as
@@ -61,6 +61,20 @@
 		}
 	}
     
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched when the user selects an item.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
     COMPILE::JS
     public class DropDownList extends ListBase
     {
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as
index 9fe9d1b..e4bb322 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as
@@ -54,6 +54,20 @@
 		}
 	}
     
+    //--------------------------------------
+    //  Events
+    //--------------------------------------
+    
+    /**
+     *  Dispatched when the user selects a RadioButton.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
     COMPILE::JS
     public class RadioButton extends UIBase
     {
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as
index e37a3b3..4b88ecd 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as
@@ -136,10 +136,10 @@
 			shape.graphics.beginFill(0xCCCCCC);
 			shape.graphics.drawRect(0, 0, 10, 10);
 			shape.graphics.endFill();
-			b.$button.upState = upSprite;
-			b.$button.downState = downSprite;
-			b.$button.overState = overSprite;
-			b.$button.hitTestState = shape;
+			b.upState = upSprite;
+			b.downState = downSprite;
+			b.overState = overSprite;
+			b.hitTestState = shape;
 			if (selectionModel.selectedIndex !== -1)
 				selectionChangeHandler(null);
             else
diff --git a/frameworks/projects/FontAwesome/build.xml b/frameworks/projects/FontAwesome/build.xml
index de271c7..c247547 100644
--- a/frameworks/projects/FontAwesome/build.xml
+++ b/frameworks/projects/FontAwesome/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/FontAwesome/pom.xml b/frameworks/projects/FontAwesome/pom.xml
index 6e06992..9c4d3f2 100644
--- a/frameworks/projects/FontAwesome/pom.xml
+++ b/frameworks/projects/FontAwesome/pom.xml
@@ -62,6 +62,7 @@
             </include-file>
           </includeFiles>
           <includeLookupOnly>true</includeLookupOnly>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -79,7 +80,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -92,7 +93,7 @@
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -105,7 +106,7 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -118,20 +119,20 @@
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/FontAwesome/src/main/config/compile-as-config.xml b/frameworks/projects/FontAwesome/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/FontAwesome/src/main/config/compile-as-config.xml
rename to frameworks/projects/FontAwesome/src/main/config/compile-swf-config.xml
index a8aafa8..90a2d34 100644
--- a/frameworks/projects/FontAwesome/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/FontAwesome/src/main/config/compile-swf-config.xml
@@ -26,9 +26,10 @@
             <path-element>../../../../../libs/Binding.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -36,6 +37,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as b/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as
index d171573..5fd8192 100644
--- a/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as
+++ b/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as
@@ -198,11 +198,13 @@
          *  @productversion FlexJS 0.0
          *
          */
+        COMPILE::JS
         public function get rotation():String
         {
             return _rotation;
         }
 
+        COMPILE::JS
         public function set rotation(value:String):void
         {
             COMPILE::JS
diff --git a/frameworks/projects/Formatters/build.xml b/frameworks/projects/Formatters/build.xml
index dfaf8ec..3dc7d75 100644
--- a/frameworks/projects/Formatters/build.xml
+++ b/frameworks/projects/Formatters/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+
 </project>
diff --git a/frameworks/projects/Formatters/pom.xml b/frameworks/projects/Formatters/pom.xml
index 8fd94d0..8c1863b 100644
--- a/frameworks/projects/Formatters/pom.xml
+++ b/frameworks/projects/Formatters/pom.xml
@@ -50,6 +50,7 @@
           <includeClasses>
             <includeClass>FormattersClasses</includeClass>
           </includeClasses>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -67,20 +68,20 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Formatters/src/main/config/compile-as-config.xml b/frameworks/projects/Formatters/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Formatters/src/main/config/compile-as-config.xml
rename to frameworks/projects/Formatters/src/main/config/compile-swf-config.xml
index f1b67ad..13f8d14 100644
--- a/frameworks/projects/Formatters/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Formatters/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
 		<mxml>
@@ -34,6 +34,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/GoogleMaps/build.xml b/frameworks/projects/GoogleMaps/build.xml
index dbfd669..0bddb63 100644
--- a/frameworks/projects/GoogleMaps/build.xml
+++ b/frameworks/projects/GoogleMaps/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/GoogleMaps/pom.xml b/frameworks/projects/GoogleMaps/pom.xml
index 71e6134..3a013d9 100644
--- a/frameworks/projects/GoogleMaps/pom.xml
+++ b/frameworks/projects/GoogleMaps/pom.xml
@@ -57,6 +57,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -74,20 +75,20 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
         <groupId>org.apache.flex.flexjs.framework</groupId>
-        <artifactId>HTML</artifactId>
+        <artifactId>Basic</artifactId>
         <version>0.8.0-SNAPSHOT</version>
         <type>swc</type>
     </dependency>
     <dependency>
         <groupId>org.apache.flex.flexjs.framework</groupId>
-        <artifactId>HTML</artifactId>
+        <artifactId>Basic</artifactId>
         <version>0.8.0-SNAPSHOT</version>
         <type>swc</type>
-        <classifier>typedefs</classifier>
+        <classifier>js</classifier>
     </dependency>
 
     <dependency>
diff --git a/frameworks/projects/GoogleMaps/src/main/config/compile-as-config.xml b/frameworks/projects/GoogleMaps/src/main/config/compile-swf-config.xml
similarity index 88%
rename from frameworks/projects/GoogleMaps/src/main/config/compile-as-config.xml
rename to frameworks/projects/GoogleMaps/src/main/config/compile-swf-config.xml
index 4d1d74a..dc8546e 100644
--- a/frameworks/projects/GoogleMaps/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/GoogleMaps/src/main/config/compile-swf-config.xml
@@ -24,9 +24,10 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -34,6 +35,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
index f64e909..437716e 100644
--- a/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
+++ b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
@@ -453,7 +453,7 @@
 			model.addEventListener("zoomChanged", handleZoomChange);
 			model.addEventListener("currentLocationChanged", handleCurrentLocationChange);
 
-			(_strand as UIBase).$sprite.addChild(_loader);
+			(_strand as UIBase).addChild(_loader);
 
 			var token:String = GoogleMap(_strand).token;
 			if (token)
diff --git a/frameworks/projects/Graphics/build.xml b/frameworks/projects/Graphics/build.xml
index 01cbeb5..08dd3bb 100644
--- a/frameworks/projects/Graphics/build.xml
+++ b/frameworks/projects/Graphics/build.xml
@@ -74,23 +74,29 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
             <arg value="-compiler.byte-array-embed-class=org.apache.flex.core.ByteArrayAsset" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -114,4 +120,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Graphics/pom.xml b/frameworks/projects/Graphics/pom.xml
index 4c89405..912d678 100644
--- a/frameworks/projects/Graphics/pom.xml
+++ b/frameworks/projects/Graphics/pom.xml
@@ -109,6 +109,7 @@
           <includeClasses>
             <includeClass>GraphicsClasses</includeClass>
           </includeClasses>
+          <skipExtern>true</skipExtern>
           <additionalCompilerOptions>-compiler.byte-array-embed-class=org.apache.flex.core.ByteArrayAsset</additionalCompilerOptions>
         </configuration>
       </plugin>
@@ -127,7 +128,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Graphics/src/main/config/compile-as-config.xml b/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
similarity index 92%
rename from frameworks/projects/Graphics/src/main/config/compile-as-config.xml
rename to frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
index e665c96..fdbf2a6 100644
--- a/frameworks/projects/Graphics/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
@@ -34,6 +34,15 @@
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 		<byte-array-embed-class>org.apache.flex.core.ByteArrayAsset</byte-array-embed-class>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/HTML/build.xml b/frameworks/projects/HTML/build.xml
index 5ee6dd8..8d018f0 100644
--- a/frameworks/projects/HTML/build.xml
+++ b/frameworks/projects/HTML/build.xml
@@ -49,7 +49,7 @@
     </target>
     
     <target name="test" depends="check-for-tests" unless="skip-tests">
-        <ant dir="src/test/flex" />
+        <!--<ant dir="src/test/flex" />-->
     </target>
     
     <target name="clean">
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/HTML/pom.xml b/frameworks/projects/HTML/pom.xml
index 5eab490..0c48e3d 100644
--- a/frameworks/projects/HTML/pom.xml
+++ b/frameworks/projects/HTML/pom.xml
@@ -46,15 +46,6 @@
               <uri>library://ns.apache.org/flexjs/basic</uri>
               <manifest>${project.basedir}/src/main/resources/basic-manifest.xml</manifest>
             </namespace>
-            <namespace>
-              <type>as</type>
-              <uri>library://ns.apache.org/flexjs/basic</uri>
-              <manifest>${project.basedir}/src/main/resources/basic-as-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-              <uri>library://ns.apache.org/flexjs/svg</uri>
-              <manifest>${project.basedir}/src/main/resources/svg-manifest.xml</manifest>
-            </namespace>
           </namespaces>
           <includeClasses>
             <includeClass>HTMLClasses</includeClass>
@@ -65,6 +56,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -82,7 +74,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -95,7 +87,7 @@
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -108,7 +100,7 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -121,7 +113,20 @@
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/HTML/src/main/config/compile-as-config.xml b/frameworks/projects/HTML/src/main/config/compile-as-config.xml
deleted file mode 100644
index 7b1c242..0000000
--- a/frameworks/projects/HTML/src/main/config/compile-as-config.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-<flex-config>
-
-    <compiler>
-        <accessible>false</accessible>
-        
-        <external-library-path>
-            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
-            <path-element>../../../../../libs/Binding.swc</path-element>
-            <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/Graphics.swc</path-element>
-            <path-element>../../../../../libs/Collections.swc</path-element>
-        </external-library-path>
-        
-		<mxml>
-			<children-as-data>true</children-as-data>
-		</mxml>
-		<binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
-		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
-		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
-
-        <keep-as3-metadata>
-          <name>Bindable</name>
-          <name>Managed</name>
-          <name>ChangeEvent</name>
-          <name>NonCommittingChangeEvent</name>
-          <name>Transient</name>
-        </keep-as3-metadata>
-	  
-        <locale/>
-        
-        <library-path/>
-
-        <namespaces>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/basic</uri>
-                <manifest>../resources/basic-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/basic</uri>
-                <manifest>../resources/basic-as-manifest.xml</manifest>
-            </namespace>
-            <namespace>
-                <uri>library://ns.apache.org/flexjs/svg</uri>
-                <manifest>../resources/svg-manifest.xml</manifest>
-            </namespace>
-        </namespaces>
-        
-        <source-path>
-            <path-element>../flex</path-element>
-        </source-path>
-        
-        <warn-no-constructor>false</warn-no-constructor>
-    </compiler>
-    
-    <include-file>
-        <name>defaults.css</name>
-        <path>../resources/defaults.css</path>
-    </include-file>
-
-    <include-classes>
-        <class>HTMLClasses</class>
-    </include-classes>
-    
-    <include-namespaces>
-        <uri>library://ns.apache.org/flexjs/basic</uri>
-        <uri>library://ns.apache.org/flexjs/svg</uri>
-    </include-namespaces>
-        
-    <target-player>${playerglobal.version}</target-player>
-	
-
-</flex-config>
diff --git a/frameworks/projects/Charts/src/main/config/compile-as-config.xml b/frameworks/projects/HTML/src/main/config/compile-swf-config.xml
similarity index 84%
copy from frameworks/projects/Charts/src/main/config/compile-as-config.xml
copy to frameworks/projects/HTML/src/main/config/compile-swf-config.xml
index 465490d..1e80ecd 100644
--- a/frameworks/projects/Charts/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/HTML/src/main/config/compile-swf-config.xml
@@ -23,12 +23,14 @@
         
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../../../../libs/Binding.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/Collections.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Collections.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -36,6 +38,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
@@ -62,13 +73,8 @@
         <warn-no-constructor>false</warn-no-constructor>
     </compiler>
     
-    <include-file>
-        <name>defaults.css</name>
-        <path>../resources/defaults.css</path>
-    </include-file>
-
     <include-classes>
-        <class>ChartsClasses</class>
+        <class>HTMLClasses</class>
     </include-classes>
     
     <include-namespaces>
diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
index 38fae24..0cf5594 100644
--- a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
+++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
@@ -26,211 +26,8 @@
  *  from the classes specified in manifest.xml.
  */
 internal class HTMLClasses
-{	
-    import org.apache.flex.html.ToolTip; ToolTip;
-	import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
-	import org.apache.flex.html.beads.DispatchInputFinishedBead; DispatchInputFinishedBead;
-	import org.apache.flex.html.accessories.PasswordInputBead; PasswordInputBead;
-	import org.apache.flex.html.accessories.TextPromptBead; TextPromptBead;
-    import org.apache.flex.html.beads.AlertView; AlertView;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.BackgroundImageBead; BackgroundImageBead;
-	}
-	import org.apache.flex.html.beads.ButtonBarView; ButtonBarView;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.CheckBoxView; CheckBoxView;
-	}
-	import org.apache.flex.html.beads.ComboBoxView; ComboBoxView;
-    import org.apache.flex.html.beads.ContainerView; ContainerView;
-	import org.apache.flex.html.beads.GroupView; GroupView;
-	COMPILE::SWF
-	{
-	    import org.apache.flex.html.beads.ControlBarMeasurementBead; ControlBarMeasurementBead;
-	    import org.apache.flex.html.beads.CSSButtonView; CSSButtonView;
-	    import org.apache.flex.html.beads.CSSImageAndTextButtonView; CSSImageAndTextButtonView;
-		import org.apache.flex.html.beads.CSSTextButtonView; CSSTextButtonView;
-	    import org.apache.flex.html.beads.CSSTextToggleButtonView; CSSTextToggleButtonView;
-		import org.apache.flex.html.beads.DropDownListView; DropDownListView;
-		import org.apache.flex.html.beads.CloseButtonView; CloseButtonView;
-    	import org.apache.flex.html.beads.ImageAndTextButtonView; ImageAndTextButtonView;
-	}
-	import org.apache.flex.html.beads.ImageView; org.apache.flex.html.beads.ImageView;
-	import org.apache.flex.html.beads.BinaryImageLoader; BinaryImageLoader;
-	import org.apache.flex.html.beads.models.BinaryImageModel; BinaryImageModel;
-	import org.apache.flex.html.beads.ImageButtonView; ImageButtonView;
-	import org.apache.flex.html.beads.ListView; ListView;
-	COMPILE::SWF
-	{
-	    import org.apache.flex.html.beads.NumericStepperView; NumericStepperView;
-	}
-	import org.apache.flex.html.beads.PanelView; PanelView;
-	import org.apache.flex.html.supportClasses.PanelLayoutProxy; PanelLayoutProxy;
-	import org.apache.flex.html.beads.PanelWithControlBarView; PanelWithControlBarView;
-	import org.apache.flex.html.beads.AccordionItemRendererView; AccordionItemRendererView;
-	import org.apache.flex.html.beads.SliderView; SliderView;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.RadioButtonView; RadioButtonView;
-		import org.apache.flex.html.beads.VScrollBarView; VScrollBarView;
-		import org.apache.flex.html.beads.HScrollBarView; HScrollBarView;
-    	import org.apache.flex.html.beads.ScrollBarView; ScrollBarView;
-		import org.apache.flex.html.beads.SliderThumbView; SliderThumbView;
-		import org.apache.flex.html.beads.SliderTrackView; SliderTrackView;
-		import org.apache.flex.html.beads.SimpleAlertView; SimpleAlertView;
-    	import org.apache.flex.html.beads.SingleLineBorderBead; SingleLineBorderBead;
-		import org.apache.flex.html.beads.SingleLineBorderWithChangeListenerBead; SingleLineBorderWithChangeListenerBead;
-	}
-	import org.apache.flex.html.beads.SpinnerView; SpinnerView;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.SolidBackgroundBead; SolidBackgroundBead;
-		import org.apache.flex.html.beads.SolidBackgroundWithChangeListenerBead; SolidBackgroundWithChangeListenerBead;
-    	import org.apache.flex.html.beads.TextButtonMeasurementBead; TextButtonMeasurementBead;
-		import org.apache.flex.html.beads.TextFieldLabelMeasurementBead; TextFieldLabelMeasurementBead;
-    	import org.apache.flex.html.beads.TextAreaView; TextAreaView;
-    	import org.apache.flex.html.beads.TextButtonView; TextButtonView;
-    	import org.apache.flex.html.beads.TextFieldView; TextFieldView;
-    	import org.apache.flex.html.beads.TextInputView; TextInputView;
-	    import org.apache.flex.html.beads.TextInputWithBorderView; TextInputWithBorderView;
-	    import org.apache.flex.html.beads.models.AlertModel; AlertModel;
-	}
-	import org.apache.flex.html.beads.models.AlertModel; AlertModel;
-	import org.apache.flex.html.beads.models.ArraySelectionModel; ArraySelectionModel;
-	import org.apache.flex.html.beads.models.ArrayListSelectionModel; ArrayListSelectionModel;
-    import org.apache.flex.html.beads.models.RangeModel; RangeModel;
-    import org.apache.flex.html.beads.models.RangeModelExtended; RangeModelExtended;
-	import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.models.ImageModel; ImageModel;
-	    import org.apache.flex.html.beads.models.ImageAndTextModel; ImageAndTextModel;
-	}
-	import org.apache.flex.html.beads.models.PanelModel; PanelModel;
-	COMPILE::SWF
-	{
-	    import org.apache.flex.html.beads.models.SingleLineBorderModel; SingleLineBorderModel;
-	}
-	import org.apache.flex.html.beads.models.TextModel; TextModel;
-    import org.apache.flex.html.beads.models.TitleBarModel; TitleBarModel;
-	import org.apache.flex.html.beads.models.ToggleButtonModel; ToggleButtonModel;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.models.ValueToggleButtonModel; ValueToggleButtonModel;
-	}
-	import org.apache.flex.html.beads.models.ViewportModel; ViewportModel;
-	COMPILE::SWF
-	{
-	    import org.apache.flex.html.beads.controllers.AlertController; AlertController;
-    	import org.apache.flex.html.beads.controllers.DropDownListController; DropDownListController;
-		import org.apache.flex.html.beads.controllers.EditableTextKeyboardController; EditableTextKeyboardController;
-	}
-	import org.apache.flex.html.beads.controllers.ComboBoxController; ComboBoxController;
-	import org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController; AccordionItemRendererMouseController;
-    import org.apache.flex.html.beads.controllers.ItemRendererMouseController; ItemRendererMouseController;
-    import org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController; ListSingleSelectionMouseController;
-	import org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController; TreeSingleSelectionMouseController;
-	import org.apache.flex.html.beads.controllers.SliderMouseController; SliderMouseController;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.controllers.SpinnerMouseController; SpinnerMouseController;
-	    import org.apache.flex.html.beads.controllers.VScrollBarMouseController; VScrollBarMouseController;
-		import org.apache.flex.html.beads.controllers.HScrollBarMouseController; HScrollBarMouseController;
-	}
-	import org.apache.flex.html.beads.layouts.ButtonBarLayout; ButtonBarLayout;
-    import org.apache.flex.html.beads.layouts.VerticalLayout; VerticalLayout;
-	import org.apache.flex.html.beads.layouts.VerticalFlexLayout; VerticalFlexLayout;
-	import org.apache.flex.html.beads.layouts.HorizontalLayout; HorizontalLayout;
-	import org.apache.flex.html.beads.layouts.HorizontalFlexLayout; HorizontalFlexLayout;
-    import org.apache.flex.html.beads.layouts.BasicLayout; BasicLayout;
-	import org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout; OneFlexibleChildHorizontalLayout;
-	import org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout; OneFlexibleChildVerticalLayout;
+{
 
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.layouts.HScrollBarLayout; HScrollBarLayout;
-    	import org.apache.flex.html.beads.layouts.VScrollBarLayout; VScrollBarLayout;
-		import org.apache.flex.html.supportClasses.ContainerContentArea; ContainerContentArea;
-	}
-	import org.apache.flex.html.beads.layouts.TileLayout; TileLayout;
-    import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
-	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
-	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList;
-	import org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData; DataItemRendererFactoryForHierarchicalData;
-	import org.apache.flex.html.supportClasses.DataGroup; DataGroup;
-	import org.apache.flex.html.supportClasses.Viewport; Viewport;
-	import org.apache.flex.html.supportClasses.ScrollingViewport; ScrollingViewport;
-	import org.apache.flex.html.supportClasses.TextButtonItemRenderer; TextButtonItemRenderer;
-
-	import org.apache.flex.html.DataGridButtonBarTextButton; DataGridButtonBarTextButton;
-	import org.apache.flex.html.DataGridButtonBar; DataGridButtonBar;
-	import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView;
-	import org.apache.flex.html.beads.DataGridView; DataGridView;
-	import org.apache.flex.html.beads.DataGridPercentageView; DataGridPercentageView;
-	import org.apache.flex.html.beads.DateChooserView; DateChooserView;
-	import org.apache.flex.html.beads.DateFieldView; DateFieldView;
-	import org.apache.flex.html.beads.DecrementButtonView; DecrementButtonView;
-	import org.apache.flex.html.beads.IncrementButtonView; IncrementButtonView;
-	import org.apache.flex.html.beads.RangeStepperView; RangeStepperView;
-    import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout;
-	import org.apache.flex.html.beads.models.DataGridModel; DataGridModel;
-	import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel;
-	import org.apache.flex.html.beads.models.DataGridPresentationModel; DataGridPresentationModel;
-	import org.apache.flex.html.beads.controllers.DateChooserMouseController; DateChooserMouseController;
-	import org.apache.flex.html.beads.controllers.DateFieldMouseController; DateFieldMouseController;
-	import org.apache.flex.html.beads.controllers.RangeStepperMouseController; RangeStepperMouseController;
-	import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn;
-	import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
-	import org.apache.flex.html.supportClasses.DateHeaderButton; DateHeaderButton;
-	import org.apache.flex.html.supportClasses.DateItemRenderer; DateItemRenderer;
-	import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
-	import org.apache.flex.html.supportClasses.DateChooserList; DateChooserList;
-
-    import org.apache.flex.html.beads.TitleBarView; TitleBarView;
-    import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
-
-	import org.apache.flex.html.beads.WebBrowserView; WebBrowserView;
-	import org.apache.flex.html.beads.models.WebBrowserModel; WebBrowserModel;
-
-	import org.apache.flex.core.ListBase; ListBase;
-	import org.apache.flex.core.FilledRectangle; FilledRectangle;
-    import org.apache.flex.core.UIBase; UIBase;
-    import org.apache.flex.core.SimpleApplication; SimpleApplication;
-	import org.apache.flex.svg.GraphicContainer; GraphicContainer;
-	import org.apache.flex.svg.DOMWrapper; DOMWrapper;
-
-	import org.apache.flex.svg.GraphicShape; GraphicShape;
-	import org.apache.flex.svg.Rect; Rect;
-	import org.apache.flex.svg.Ellipse; Ellipse;
-	import org.apache.flex.svg.Circle; Circle;
-	import org.apache.flex.svg.Image; Image;
-	import org.apache.flex.svg.BinaryImage; BinaryImage;
-	import org.apache.flex.svg.beads.ImageView; org.apache.flex.svg.beads.ImageView;
-	import org.apache.flex.svg.Path; Path;
-	import org.apache.flex.svg.Text; Text;
-	import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;
-
-    import org.apache.flex.html.beads.models.DataProviderModel; DataProviderModel;
-    import org.apache.flex.html.beads.DataContainerView; DataContainerView;
-
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.HRuleView; HRuleView;
-		import org.apache.flex.html.beads.VRuleView; VRuleView;
-		import org.apache.flex.html.beads.MultilineTextFieldView; MultilineTextFieldView;
-	}
-	
-	import org.apache.flex.html.SubAppLoader; SubAppLoader;
-	
-	import org.apache.flex.html.Table; Table;
-	import org.apache.flex.html.TableRow; TableRow;
-	import org.apache.flex.html.TableCell; TableCell;
-	import org.apache.flex.html.TableHeader; TableHeader;
-	import org.apache.flex.html.beads.TableCellView; TableCellView;
-	import org.apache.flex.html.beads.layouts.SimpleTableLayout; SimpleTableLayout;
-	import org.apache.flex.html.beads.layouts.TableCellLayout; TableCellLayout;
-	import org.apache.flex.html.beads.layouts.TableHeaderLayout; TableHeaderLayout;
 }
 
 }
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
deleted file mode 100644
index da34bc0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
+++ /dev/null
@@ -1,592 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-    
-    
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.utils.MXMLDataInterpreter;
-    import org.apache.flex.utils.Timer;
-
-    COMPILE::SWF {
-	    import flash.display.Stage;
-        import flash.display.DisplayObject;
-        import flash.display.Graphics;
-        import flash.display.Sprite;
-		import flash.events.Event;
-        import org.apache.flex.events.utils.MouseEventConverter;
-    }
-
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-
-    /**
-     *  Dispatched at startup. Attributes and sub-instances of
-     *  the MXML document have been created and assigned.
-     *  The component lifecycle is different
-     *  than the Flex SDK.  There is no creationComplete event.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="initialize", type="org.apache.flex.events.Event")]
-
-    /**
-     *  Dispatched at startup before the instances get created.
-     *  Beads can call preventDefault and defer initialization.
-     *  This event will be dispatched on every frame until no
-     *  listeners call preventDefault(), then the initialize()
-     *  method will be called.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="preinitialize", type="org.apache.flex.events.Event")]
-
-    /**
-     *  Dispatched at startup after the initial view has been
-     *  put on the display list. This event is sent before
-     *  applicationComplete is dispatched.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="viewChanged", type="org.apache.flex.events.Event")]
-
-    /**
-     *  Dispatched at startup after the initial view has been
-     *  put on the display list.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="applicationComplete", type="org.apache.flex.events.Event")]
-	
-	/**
-	 *  A SWF application must be bootstrapped by a Flash Sprite.
-	 *  The factory class is the default bootstrap.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Frame(factoryClass="org.apache.flex.core.ApplicationFactory")]
-
-    /**
-     *  The Application class is the main class and entry point for a FlexJS
-     *  application.  This Application class is different than the
-     *  Flex SDK's mx:Application or spark:Application in that it does not contain
-     *  user interface elements.  Those UI elements go in the views (ViewBase).  This
-     *  Application class expects there to be a main model, a controller, and
-     *  an initial view.
-     *
-     *  @toplevel
-     *  @see ViewBase
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2 
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    public class Application extends ApplicationBase implements IInitialViewApplication, IStrand, IParent, IEventDispatcher, ISWFApplication, IPopUpHost, IRenderedObject
-    {
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function Application()
-        {
-            super();
-        }
-
-		/**
-		 *  Application wraps the root object.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		COMPILE::SWF
-		public function setRoot(r:WrappedMovieClip):void
-		{
-			element = r;
-			element.flexjs_wrapper = this;
-			MouseEventConverter.setupAllConverters(r.stage);
-            MouseEventConverter.setupAllConverters(r.stage, false);
-			initHandler();
-		}
-		
-        COMPILE::SWF
-        private function initHandler():void
-        {
-			if (model is IBead) addBead(model as IBead);
-			if (controller is IBead) addBead(controller as IBead);
-
-            for each (var bead:IBead in beads)
-                addBead(bead);
-
-            dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-
-            if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
-                initialize();
-            else
-                addEventListener(flash.events.Event.ENTER_FRAME, enterFrameHandler);
-
-        }
-
-        COMPILE::SWF
-        private function enterFrameHandler(event:flash.events.Event):void
-        {
-            if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
-            {
-                removeEventListener(flash.events.Event.ENTER_FRAME, enterFrameHandler);
-                initialize();
-            }
-        }
-
-        /**
-         *  This method gets called when all preinitialize handlers
-         *  no longer call preventDefault();
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-		 *  @flexjsignorecoercion org.apache.flex.core.IBead
-         */
-        protected function initialize():void
-        {
-            MXMLDataInterpreter.generateMXMLInstances(this, null, MXMLDescriptor);
-
-            dispatchEvent(new org.apache.flex.events.Event("initialize"));
-
-            if (initialView)
-            {
-                initialView.applicationModel =  model;
-        	    this.addElement(initialView);
-				
-				COMPILE::SWF
-				{	
-                // if someone has installed a resize listener, fake an event to run it now
-                if ($displayObject.stage.hasEventListener("resize"))
-					$displayObject.stage.dispatchEvent(new flash.events.Event("resize"));
-                else if (initialView is ILayoutChild)
-                {
-                    var ilc:ILayoutChild = initialView as ILayoutChild;
-                    // otherwise, size once like this
-                    if (!isNaN(ilc.percentWidth) && !isNaN(ilc.percentHeight))
-                        ilc.setWidthAndHeight($displayObject.stage.stageWidth, $displayObject.stage.stageHeight, true);
-                    else if (!isNaN(ilc.percentWidth))
-                        ilc.setWidth($displayObject.stage.stageWidth);
-                    else if (!isNaN(ilc.percentHeight))
-                        ilc.setHeight($displayObject.stage.stageHeight);
-                }
-				}
-				COMPILE::JS
-				{	
-				var baseView:UIBase = initialView as UIBase;
-				if (!isNaN(baseView.percentWidth) || !isNaN(baseView.percentHeight)) {
-					this.element.style.height = window.innerHeight + 'px';
-					this.element.style.width = window.innerWidth + 'px';
-					this.initialView.dispatchEvent('sizeChanged'); // kick off layout if % sizes
-				}
-				}
-				COMPILE::SWF
-				{
-                var bgColor:Object = ValuesManager.valuesImpl.getValue(this, "background-color");
-                if (bgColor != null)
-                {
-                    var backgroundColor:uint = ValuesManager.valuesImpl.convertColor(bgColor);
-                    var graphics:Graphics = Sprite($displayObject).graphics;
-					graphics.beginFill(backgroundColor);
-					graphics.drawRect(0, 0, initialView.width, initialView.height);
-					graphics.endFill();
-                }
-				}
-                dispatchEvent(new org.apache.flex.events.Event("viewChanged"));
-            }
-            dispatchEvent(new org.apache.flex.events.Event("applicationComplete"));
-        }
-
-        /**
-         *  The org.apache.flex.core.IValuesImpl that will
-         *  determine the default values and other values
-         *  for the application.  The most common choice
-         *  is org.apache.flex.core.SimpleCSSValuesImpl.
-         *
-         *  @see org.apache.flex.core.SimpleCSSValuesImpl
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function set valuesImpl(value:IValuesImpl):void
-        {
-            ValuesManager.valuesImpl = value;
-            ValuesManager.valuesImpl.init(this);
-        }
-
-        private var _initialView:IApplicationView;
-
-        /**
-         *  The controller.  The controller typically watches
-         *  the UI for events and updates the model accordingly.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var controller:Object;
-
-        /**
-         *  An array of data that describes the MXML attributes
-         *  and tags in an MXML document.  This data is usually
-         *  decoded by an MXMLDataInterpreter
-         *
-         *  @see org.apache.flex.utils.MXMLDataInterpreter
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get MXMLDescriptor():Array
-        {
-            return null;
-        }
-
-        /**
-         *  An method called by the compiler's generated
-         *  code to kick off the setting of MXML attribute
-         *  values and instantiation of child tags.
-         *
-         *  The call has to be made in the generated code
-         *  in order to ensure that the constructors have
-         *  completed first.
-         *
-         *  @param data The encoded data representing the
-         *  MXML attributes.
-         *
-         *  @see org.apache.flex.utils.MXMLDataInterpreter
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-    	public function generateMXMLAttributes(data:Array):void
-        {
-			MXMLDataInterpreter.generateMXMLProperties(this, data);
-        }
-
-        /**
-         *  The array property that is used to add additional
-         *  beads to an MXML tag.  From ActionScript, just
-         *  call addBead directly.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var beads:Array;
-
-        private var _elements:Array;
-
-        /**
-         *  @copy org.apache.flex.core.IParent#addElement()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
-         *  @flexjsignorecoercion HTMLElement
-         */
-        public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    _elements = [];
-                _elements[_elements.length] = c;
-				$displayObjectContainer.addChild(c.$displayObject);
-                if (c is IUIBase)
-                {
-                    IUIBase(c).addedToParent();
-                }
-            }
-            COMPILE::JS {
-                this.element.appendChild(c.element as HTMLElement);
-                (c as IUIBase).addedToParent();
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#addElementAt()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
-         */
-        public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    _elements = [];
-                _elements.splice(index,0,c);
-
-				$displayObjectContainer.addChildAt(c.$displayObject,index);
-
-                if (c is IUIBase)
-                {
-                    IUIBase(c).addedToParent();
-                }
-            }
-            COMPILE::JS {
-                var children:NodeList = internalChildren();
-                if (index >= children.length)
-                    addElement(c);
-                else
-                {
-                    element.insertBefore(c.positioner,
-                        children[index]);
-                    (c as IUIBase).addedToParent();
-                }
-
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementAt()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getElementAt(index:int):IChild
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    return null;
-                return _elements[index];
-            }
-            COMPILE::JS
-            {
-                var children:NodeList = internalChildren();
-                return children[index].flexjs_wrapper;
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementIndex()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getElementIndex(c:IChild):int
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    return -1;
-                return _elements.indexOf(c);
-            }
-            COMPILE::JS {
-                var children:NodeList = internalChildren();
-                var n:int = children.length;
-                for (var i:int = 0; i < n; i++)
-                {
-                    if (children[i] == c.element)
-                        return i;
-                }
-                return -1;
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#removeElement()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion HTMLElement
-         */
-        public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements)
-                {
-                    var idx:int = _elements.indexOf(c);
-                    if(idx>=0)
-                        _elements.splice(idx,1);
-                }
-				$displayObjectContainer.removeChild(c.$displayObject as DisplayObject);
-            }
-            COMPILE::JS
-            {
-                element.removeChild(c.element as HTMLElement);
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#numElements
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get numElements():int
-        {
-            COMPILE::SWF
-            {
-                return _elements ? _elements.length : 0;
-            }
-            COMPILE::JS
-            {
-                var children:NodeList = internalChildren();
-                return children.length;
-            }
-        }
-
-        /**
-         * @return {Object} The array of children.
-         */
-        COMPILE::JS
-        protected function internalChildren():NodeList
-        {
-            return element.childNodes;
-        };
-		
-		COMPILE::JS
-		protected var startupTimer:Timer;
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.IBead
-		 */
-		COMPILE::JS
-		public function start():void
-		{
-			element = document.getElementsByTagName('body')[0];
-			element.flexjs_wrapper = this;
-			element.className = 'Application';
-            positioner = element;
-			
-			if (model is IBead) addBead(model as IBead);
-			if (controller is IBead) addBead(controller as IBead);
-			
-			for (var index:int in beads) {
-				addBead(beads[index]);
-			}
-			
-			dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-			
-			if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
-				initialize();
-			else {			
-				startupTimer = new Timer(34, 0);
-				startupTimer.addEventListener("timer", handleStartupTimer);
-				startupTimer.start();
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::JS
-		protected function handleStartupTimer(event:Event):void
-		{
-			if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
-			{
-				startupTimer.stop();
-				initialize();
-			}
-		}
-		
-		/**
-		 *  The initial view.
-		 *
-		 *  @see org.apache.flex.core.ViewBase
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get initialView():IApplicationView
-		{
-			return _initialView;
-		}
-		
-		public function set initialView(value:IApplicationView):void
-		{
-			_initialView = value;
-		}
-		
-		COMPILE::SWF
-		public function get stage():Stage
-		{
-			return $displayObject.stage;
-		}
-		
-        COMPILE::SWF
-        override public function set width(value:Number):void
-        {
-            // just eat this.  
-            // The stageWidth will be set by SWF metadata. 
-            // Setting this directly doesn't do anything
-        }
-        
-        COMPILE::SWF
-        override public function set height(value:Number):void
-        {
-            // just eat this.  
-            // The stageWidth will be set by SWF metadata. 
-            // Setting this directly doesn't do anything
-        }
-        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ApplicationBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ApplicationBase.as
deleted file mode 100644
index 0fe63ba..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ApplicationBase.as
+++ /dev/null
@@ -1,109 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-    COMPILE::SWF {
-        import flash.system.ApplicationDomain;
-        import flash.utils.getQualifiedClassName;
-    }
-        
-    /**
-     *  This is a platform-dependent base class
-     *  for Application
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    COMPILE::SWF
-	public class ApplicationBase extends UIHTMLElementWrapper implements IFlexInfo
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ApplicationBase()
-		{
-			super();
-		}
-        
-        private var _info:Object;
-        
-        /**
-         *  An Object containing information generated
-         *  by the compiler that is useful at startup time.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function info():Object
-        {
-            if (!_info)
-            {
-                var mainClassName:String = getQualifiedClassName(this);
-                var initClassName:String = "_" + mainClassName + "_FlexInit";
-                var c:Class = ApplicationDomain.currentDomain.getDefinition(initClassName) as Class;
-                _info = c.info();
-            }
-            return _info;
-        }
-   	}
-    
-    COMPILE::JS
-    public class ApplicationBase extends UIHTMLElementWrapper implements IFlexInfo
-    {
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function ApplicationBase()
-        {
-            super();
-        }
-        
-        private var _info:Object;
-        
-        /**
-         *  An Object containing information generated
-         *  by the compiler that is useful at startup time.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function info():Object
-        {
-            return _info;
-        }
-        
-
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
deleted file mode 100644
index 0dcb0e3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
+++ /dev/null
@@ -1,241 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.ValueChangeEvent;
-
-    /**
-     *  Indicates that the state change has completed.  All properties
-     *  that need to change have been changed, and all transitinos
-     *  that need to run have completed.  However, any deferred work
-     *  may not be completed, and the screen may not be updated until
-     *  code stops executing.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="stateChangeComplete", type="org.apache.flex.events.Event")]
-    
-    /**
-     *  Indicates that the initialization of the container is complete.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="initComplete", type="org.apache.flex.events.Event")]
-    
-    /**
-     *  Indicates that the children of the container is have been added.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="childrenAdded", type="org.apache.flex.events.Event")]
-    
-    /**
-     *  The ContainerBase class is the base class for most containers
-     *  in FlexJS.  It is usable as the root tag of MXML
-     *  documents and UI controls and containers are added to it.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ContainerBase extends GroupBase implements IStrandPrivate
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ContainerBase()
-		{
-			super();
-		}
-		
-		private var _strandChildren:ContainerBaseStrandChildren;
-		
-		/**
-		 * @private
-		 */
-		override public function get strandChildren():IParent
-		{
-			if (_strandChildren == null) {
-				_strandChildren = new ContainerBaseStrandChildren(this);
-			}
-			return _strandChildren;
-		}
-		
-		/*
-		 * The following functions are for the SWF-side only and re-direct element functions
-		 * to the content area, enabling scrolling and clipping which are provided automatically
-		 * in the JS-side.
-		 */
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			var layoutHost:ILayoutHost = view as ILayoutHost;
-			var contentView:IParent = layoutHost.contentView as IParent;
-			contentView.addElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			var layoutHost:ILayoutHost = view as ILayoutHost;
-			var contentView:IParent = layoutHost.contentView as IParent;
-			contentView.addElementAt(c, index, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function getElementIndex(c:IChild):int
-		{
-			var layoutHost:ILayoutHost = view as ILayoutHost;
-			var contentView:IParent = layoutHost.contentView as IParent;
-			return contentView.getElementIndex(c);
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			var layoutHost:ILayoutHost = view as ILayoutHost;
-			var contentView:IParent = layoutHost.contentView as IParent;
-			contentView.removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function get numElements():int
-		{
-			var layoutHost:ILayoutHost = view as ILayoutHost;
-			var contentView:IParent = layoutHost.contentView as IParent;
-			return contentView.numElements;
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function getElementAt(index:int):IChild
-		{
-			var layoutHost:ILayoutHost = view as ILayoutHost;
-			var contentView:IParent = layoutHost.contentView as IParent;
-			return contentView.getElementAt(index);
-		}
-
-		/*
-		 * IStrandPrivate
-		 *
-		 * These "internal" function provide a backdoor way for proxy classes to
-		 * operate directly at strand level. While these function are available on
-		 * both SWF and JS platforms, they really only have meaning on the SWF-side. 
-		 * Other subclasses may provide use on the JS-side.
-		 *
-		 * @see org.apache.flex.core.IContainer#strandChildren
-		 */
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $numElements():int
-		{
-			return super.numElements;
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			super.addElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			super.addElementAt(c, index, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			super.removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $getElementIndex(c:IChild):int
-		{
-			return super.getElementIndex(c);
-		}
-		
-		/**
-		 * @private
-         * @suppress {undefinedNames}
-		 * Support strandChildren.
-		 */
-		public function $getElementAt(index:int):IChild
-		{
-			return super.getElementAt(index);
-		}
-
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
deleted file mode 100644
index d831004..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
+++ /dev/null
@@ -1,99 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-    /**
-     *  The ContainerBaseStrandChildren class the provides a way for advanced
-	 *  components to place children directly into the strand unlike the
-	 *  addElement() APIs on the Container which place children into the contentView.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ContainerBaseStrandChildren implements IParent
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @flexjsignorecoercion org.apache.flex.core.ContainerBase
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ContainerBaseStrandChildren(owner:IParent)
-		{
-			super();
-			
-			this.owner = owner as IStrandPrivate;
-		}
-		
-		public var owner:IStrandPrivate;
-		
-		/**
-		 *  @private
-		 */
-		public function get numElements():int
-		{
-			return owner.$numElements();
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			owner.$addElement(c, dispatchEvent);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			owner.$addElementAt(c, index, dispatchEvent);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			owner.$removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function getElementIndex(c:IChild):int
-		{
-			return owner.$getElementIndex(c);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function getElementAt(index:int):IChild
-		{
-			return owner.$getElementAt(index);
-		}
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/FilledRectangle.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/FilledRectangle.as
deleted file mode 100644
index 5888a94..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/FilledRectangle.as
+++ /dev/null
@@ -1,125 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-    COMPILE::SWF
-    {
-        import flash.display.Shape;            
-    }
-	
-	import org.apache.flex.core.UIBase;
-	
-    /**
-     *  The FilledRectangle class draws a simple filled
-     *  rectangle without a border and with square corners.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class FilledRectangle extends UIBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function FilledRectangle()
-		{
-			super();
-			
-            COMPILE::SWF
-            {
-                _shape = new flash.display.Shape();
-                $displayObjectContainer.addChild(_shape);
-            }
-		}
-		
-        COMPILE::SWF
-		private var _shape:flash.display.Shape;
-		
-		private var _fillColor:uint = 0x000000;
-        
-        /**
-         *  The color of the rectangle.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get fillColor():uint
-		{
-			return _fillColor;
-		}
-        
-        /**
-         *  @private 
-         */
-		public function set fillColor(value:uint):void
-		{
-			_fillColor = value;
-		}
-		
-        /**
-         *  @private 
-         */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			drawRect(0, 0, this.width, this.height);
-		}
-		
-        /**
-         *  Draw the rectangle.
-         *  @param x The x position of the top-left corner of the rectangle.
-         *  @param y The y position of the top-left corner.
-         *  @param width The width of the rectangle.
-         *  @param height The height of the rectangle.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function drawRect(x:Number, y:Number, width:Number, height:Number):void
-		{
-            COMPILE::SWF
-            {
-                _shape.graphics.clear();
-                _shape.graphics.beginFill(_fillColor);
-                _shape.graphics.drawRect(x, y, width, height);
-                _shape.graphics.endFill();                    
-            }
-            COMPILE::JS
-            {
-                element.style.position = 'absolute';
-                element.style.backgroundColor = '#' + _fillColor.toString(16);
-                if (!isNaN(x)) this.x = x;
-                if (!isNaN(y)) this.y = y;
-                if (!isNaN(width)) this.width = width;
-                if (!isNaN(height)) this.height = height;
-            }
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as
deleted file mode 100644
index 5e9768e..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as
+++ /dev/null
@@ -1,68 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.ScrollBar;
-
-    /**
-     *  The IScrollingLayoutParent interface is an ILayoutParent
-     *  that has traditional scrollbars.  The layout implementation
-     *  often needs to know certain things about other objects in
-     *  the component.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IScrollingLayoutParent
-	{
-        /**
-         *  The border.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get border():Border;
-		
-        /**
-         *  The vertical ScrollBar.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get vScrollBar():ScrollBar;
-        
-        /**
-         *  The horizontal ScrollBar.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get hScrollBar():ScrollBar;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ImageBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ImageBase.as
deleted file mode 100644
index a7d135a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ImageBase.as
+++ /dev/null
@@ -1,84 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	import org.apache.flex.core.IImage;
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.UIBase;
-	
-	/**
-	 *  The ImageBase class serves as a base class for components that displays a bitmap. The Image uses
-	 *  the following beads:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model for the Image, including the url/binary property.
-	 *  org.apache.flex.core.IBeadView: constructs the visual elements of the component.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ImageBase extends UIBase implements IImage
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ImageBase()
-		{
-			super();
-		}
-		
-		/**
-		 *  The location of the bitmap, usually a URL.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IImageModel
-		 */
-		public function get src():String
-		{
-			return (model as IImageModel).url;
-		}
-		public function set src(value:String):void
-		{
-			(model as IImageModel).url = value;
-		}
-		
-		COMPILE::JS
-		public function get imageElement():Element
-		{
-			return null;
-			// override this
-		}
-		
-		COMPILE::JS
-		public function applyImageData(binaryDataAsString:String):void
-		{
-			// override this
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBaseStrandChildren.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBaseStrandChildren.as
deleted file mode 100644
index b1748f9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBaseStrandChildren.as
+++ /dev/null
@@ -1,100 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	
-    
-    /**
-     *  The ListBaseStrandChildren exists so that Lists are compatible with
-	 *  the ListView/ContainerView beads. 
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ListBaseStrandChildren implements IParent
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @flexjsignorecoercion org.apache.flex.core.ListBase
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ListBaseStrandChildren(owner:IParent)
-		{
-			super();
-			
-			this.owner = owner as ListBase;
-		}
-		
-		public var owner:ListBase;
-		
-		/**
-		 *  @private
-		 */
-		public function get numElements():int
-		{
-			return owner.$numElements();
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			owner.$addElement(c, dispatchEvent);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			owner.$addElementAt(c, index, dispatchEvent);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			owner.$removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function getElementIndex(c:IChild):int
-		{
-			return owner.$getElementIndex(c);
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function getElementAt(index:int):IChild
-		{
-			return owner.$getElementAt(index);
-		}
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/SimpleApplication.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/SimpleApplication.as
deleted file mode 100644
index 7198323..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/SimpleApplication.as
+++ /dev/null
@@ -1,104 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	COMPILE::SWF
-	{
-    import flash.display.DisplayObject;
-    import flash.display.Sprite;
-    import flash.display.StageAlign;
-    import flash.display.StageQuality;
-    import flash.display.StageScaleMode;
-    import flash.events.Event;
-    import flash.system.ApplicationDomain;
-    import flash.utils.getQualifiedClassName;
-	}
-	
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.MouseEvent;
-	COMPILE::SWF {
-	    import org.apache.flex.events.utils.MouseEventConverter;
-	}
-    import org.apache.flex.utils.MXMLDataInterpreter;
-    
-	/**
-	 *  A SWF application must be bootstrapped by a Flash Sprite.
-	 *  The factory class is the default bootstrap.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Frame(factoryClass="org.apache.flex.core.ApplicationFactory")]
-	
-    /**
-     *  The SimpleApplication class can be used as the main class and entry point
-     *  for low-level ActionScript-only FlexJS
-     *  applications.  It is not indended for use in MXML applications or most
-     *  of the FlexJS components as they expect a certain application lifecycle
-     *  in the org.apache.flex.core.Application class.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    public class SimpleApplication extends ApplicationBase
-    {
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function SimpleApplication()
-        {
-            super();
-		}
-        
-		COMPILE::SWF
-        public function setRoot(r:WrappedMovieClip):void
-        {
-			element = r;
-			start();
-        }
-        
-        /**
-         *  The entry point.  Override this and put all of your code in here.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function start():void
-		{
-		  COMPILE::JS
-		  {
-			  this.element = document.getElementsByTagName('body')[0];
-			  this.element.flexjs_wrapper = this;
-			  this.element.className = 'SimpleApplication';
-		  }
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
deleted file mode 100644
index ad4f999..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
+++ /dev/null
@@ -1,1415 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-    COMPILE::SWF
-    {
-        import flash.display.DisplayObject;
-        import flash.display.Sprite;
-        import flash.display.Stage;            
-    }
-	
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.ValueChangeEvent;
-	COMPILE::SWF {
-	    import flash.display.InteractiveObject;
-	    import org.apache.flex.events.utils.MouseEventConverter;
-	}
-    import org.apache.flex.utils.StringUtil;
-	
-	/**
-	 *  Set a different class for click events so that
-	 *  there aren't dependencies on the flash classes
-	 *  on the JS side.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-	
-    /**
-     *  Set a different class for rollOver events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="rollOver", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for rollOut events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="rollOut", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseDown events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseDown", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseUp events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseUp", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseMove events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseMove", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseOut events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseOut", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseOver events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseOver", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  The UIBase class is the base class for most composite user interface
-     *  components.  For the Flash Player, Buttons and Text controls may
-     *  have a different base class and therefore may not extend UIBase.
-     *  However all user interface components should implement IUIBase.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class UIBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IParentIUIBase, IStyleableObject, ILayoutChild, ITransformHost
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function UIBase()
-		{
-			super();
-            
-            createElement();
-            
-            COMPILE::SWF
-            {
-                MouseEventConverter.setupInstanceConverters(this);
-            }                
-        }
-        
-        COMPILE::SWF
-        public function get $sprite():Sprite
-        {
-            return $displayObject as Sprite;
-        }
-        
-		private var _explicitWidth:Number;
-        
-        /**
-         *  The explicitly set width (as opposed to measured width
-         *  or percentage width).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get explicitWidth():Number
-		{
-			return _explicitWidth;
-		}
-
-        /**
-         *  @private
-         */
-        public function set explicitWidth(value:Number):void
-		{
-			if (_explicitWidth == value)
-				return;
-			
-			// width can be pixel or percent not both
-			if (!isNaN(value))
-				_percentWidth = NaN;
-			
-			_explicitWidth = value;
-			
-			dispatchEvent(new Event("explicitWidthChanged"));
-		}
-		
-		private var _explicitHeight:Number;
-
-        /**
-         *  The explicitly set width (as opposed to measured width
-         *  or percentage width).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get explicitHeight():Number
-		{
-			return _explicitHeight;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set explicitHeight(value:Number):void
-		{
-			if (_explicitHeight == value)
-				return;
-			
-			// height can be pixel or percent not both
-			if (!isNaN(value))
-				_percentHeight = NaN;
-			
-			_explicitHeight = value;
-			
-			dispatchEvent(new Event("explicitHeightChanged"));
-		}
-		
-		private var _percentWidth:Number;
-
-        /**
-         *  The requested percentage width this component
-         *  should have in the parent container.  Note that
-         *  the actual percentage may be different if the 
-         *  total is more than 100% or if there are other
-         *  components with explicitly set widths.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get percentWidth():Number
-		{
-			return _percentWidth;
-		}
-
-        /**
-         *  @private
-         */
-		public function set percentWidth(value:Number):void
-		{
-			COMPILE::SWF {
-				if (_percentWidth == value)
-					return;
-				
-				if (!isNaN(value))
-					_explicitWidth = NaN;
-				
-				_percentWidth = value;
-			}
-			COMPILE::JS {
-				this._percentWidth = value;
-				this.positioner.style.width = value + '%';
-				if (!isNaN(value))
-					this._explicitWidth = NaN;
-			}
-			
-			dispatchEvent(new Event("percentWidthChanged"));
-		}
-
-        private var _percentHeight:Number;
-        
-        /**
-         *  The requested percentage height this component
-         *  should have in the parent container.  Note that
-         *  the actual percentage may be different if the 
-         *  total is more than 100% or if there are other
-         *  components with explicitly set heights.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get percentHeight():Number
-		{
-			return _percentHeight;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set percentHeight(value:Number):void
-		{
-			COMPILE::SWF {
-				if (_percentHeight == value)
-					return;
-				
-				if (!isNaN(value))
-					_explicitHeight = NaN;
-				
-				_percentHeight = value;
-			}
-				
-			COMPILE::JS {
-				this._percentHeight = value;
-				this.positioner.style.height = value + '%';
-				if (!isNaN(value))
-					this._explicitHeight = NaN;
-			}
-			
-			dispatchEvent(new Event("percentHeightChanged"));
-		}
-		
-		private var _width:Number;
-
-        [Bindable("widthChanged")]
-        [PercentProxy("percentWidth")]
-        /**
-         *  The width of the component.  If no width has been previously
-         *  set the default width may be specified in the IValuesImpl
-         *  or determined as the bounding box around all child
-         *  components and graphics.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-        override public function get width():Number
-		{
-			var w:Number = _width;
-			if (isNaN(w)) {
-				w = $width;
-			}
-			return w;
-		}
-        
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get width():Number
-        {
-            var pixels:Number;
-            var strpixels:String = positioner.style.width as String;
-            if (strpixels !== null && strpixels.indexOf('%') != -1)
-                pixels = NaN;
-            else
-                pixels = parseFloat(strpixels);
-            if (isNaN(pixels)) {
-                pixels = positioner.offsetWidth;
-                if (pixels === 0 && positioner.scrollWidth !== 0) {
-                    // invisible child elements cause offsetWidth to be 0.
-                    pixels = positioner.scrollWidth;
-                }
-            }
-            return pixels;
-        }
-
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-		override public function set width(value:Number):void
-		{
-			if (explicitWidth != value)
-			{
-				explicitWidth = value;
-			}
-			
-            setWidth(value);
-		}
-        
-        /**
-         *  @private
-         */
-        COMPILE::JS
-        public function set width(value:Number):void
-        {
-            if (explicitWidth != value)
-            {
-                explicitWidth = value;
-            }
-            
-            setWidth(value);
-        }
-
-        /**
-         *  Retrieve the low-level bounding box width.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-		public function get $width():Number
-		{
-			return super.width;
-		}
-		
-		private var _height:Number;
-
-        [Bindable("heightChanged")]
-        [PercentProxy("percentHeight")]
-        /**
-         *  The height of the component.  If no height has been previously
-         *  set the default height may be specified in the IValuesImpl
-         *  or determined as the bounding box around all child
-         *  components and graphics.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-		override public function get height():Number
-		{
-			var h:Number = _height;
-			if (isNaN(h)) {
-				h = $height;
-			}
-			return h;
-		}
-        
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get height():Number
-        {
-            var pixels:Number;
-            var strpixels:String = positioner.style.height as String;
-            if (strpixels !== null && strpixels.indexOf('%') != -1)
-                pixels = NaN;
-            else
-                pixels = parseFloat(strpixels);
-            if (isNaN(pixels)) {
-                pixels = positioner.offsetHeight;
-                if (pixels === 0 && positioner.scrollHeight !== 0) {
-                    // invisible child elements cause offsetHeight to be 0.
-                    pixels = positioner.scrollHeight;
-                }
-            }
-            return pixels;
-        }
-
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-		override public function set height(value:Number):void
-		{
-			if (explicitHeight != value)
-			{
-				explicitHeight = value;
-			}
-			
-            setHeight(value);
-		}
-        
-        /**
-         *  @private
-         */
-        COMPILE::JS
-        public function set height(value:Number):void
-        {
-            if (explicitHeight != value)
-            {
-                explicitHeight = value;
-            }
-            
-            setHeight(value);
-        }
-        
-        /**
-         *  Retrieve the low-level bounding box height.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-		public function get $height():Number
-		{
-			return super.height;
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setHeight(value:Number, noEvent:Boolean = false):void
-        {
-            if (_height != value)
-            {
-                _height = value;
-                COMPILE::JS
-                {
-                    this.positioner.style.height = value + 'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-        }
-
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidth(value:Number, noEvent:Boolean = false):void
-        {
-            if (_width != value)
-            {
-                _width = value;
-                COMPILE::JS
-                {
-                    this.positioner.style.width = value + 'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("widthChanged"));
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setWidthAndHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidthAndHeight(newWidth:Number, newHeight:Number, noEvent:Boolean = false):void
-        {
-            if (_width != newWidth)
-            {
-                _width = newWidth;
-                COMPILE::JS
-                {
-                    this.positioner.style.width = newWidth + 'px';        
-                }
-                if (!noEvent) 
-                    dispatchEvent(new Event("widthChanged"));
-            }
-            if (_height != newHeight)
-            {
-                _height = newHeight;
-                COMPILE::JS
-                {
-                    this.positioner.style.height = newHeight + 'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-            dispatchEvent(new Event("sizeChanged"));
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isWidthSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isWidthSizedToContent():Boolean
-        {
-            if (!isNaN(_explicitWidth))
-                return false;
-            if (!isNaN(_percentWidth))
-                return false;
-            var left:* = ValuesManager.valuesImpl.getValue(this, "left");
-            var right:* = ValuesManager.valuesImpl.getValue(this, "right");
-            return (left === undefined || right === undefined);
-
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isHeightSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isHeightSizedToContent():Boolean
-        {
-            if (!isNaN(_explicitHeight))
-                return false;
-            if (!isNaN(_percentHeight))
-                return false;
-            var top:* = ValuesManager.valuesImpl.getValue(this, "top");
-            var bottom:* = ValuesManager.valuesImpl.getValue(this, "bottom");
-            return (top === undefined || bottom === undefined);          
-        }
-		
-        private var _x:Number;
-        
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-        override public function set x(value:Number):void
-        {
-            super.x = _x = value;
-            if (!style)
-                style = { left: value };
-            else
-                style.left = value;
-        }
-        
-        COMPILE::JS
-        public function set x(value:Number):void
-        {
-//            positioner.style.position = 'absolute';
-            positioner.style.left = value + 'px';
-        }
-
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get x():Number
-        {
-            var strpixels:String = positioner.style.left as String;
-            var pixels:Number = parseFloat(strpixels);
-            if (isNaN(pixels))
-                pixels = positioner.offsetLeft;
-            return pixels;
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setX
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setX(value:Number):void
-        {
-			COMPILE::SWF
-			{
-				super.x = value;					
-			}
-			COMPILE::JS
-			{
-//				positioner.style.position = 'absolute';
-				positioner.style.left = value + 'px';
-			}
-        }
-        
-        private var _y:Number;
-        
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-        override public function set y(value:Number):void
-        {
-            super.y = _y = value;
-            if (!style)
-                style = { top: value };
-            else
-                style.top = value;
-        }
-        
-        COMPILE::JS
-        public function set y(value:Number):void
-        {
-//            positioner.style.position = 'absolute';
-            positioner.style.top = value + 'px';
-        }
-        
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get y():Number
-        {
-            var strpixels:String = positioner.style.top as String;
-            var pixels:Number = parseFloat(strpixels);
-            if (isNaN(pixels))
-                pixels = positioner.offsetTop;
-            return pixels;
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setY
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setY(value:Number):void
-        {
-			COMPILE::SWF
-			{
-				super.y = value;					
-			}
-			COMPILE::JS
-			{
-//				positioner.style.position = 'absolute';
-				positioner.style.top = value + 'px';				
-			}
-        }
-        
-		/**
-		 * @private
-		 */
-        [Bindable("visibleChanged")]
-        COMPILE::SWF
-		override public function set visible(value:Boolean):void
-		{
-			super.visible = value;
-			dispatchEvent(new Event(value?"show":"hide"));
-			dispatchEvent(new Event("visibleChanged"));
-        }
-        
-        COMPILE::JS
-        private var displayStyleForLayout:String;
-		
-		/**
-		 *  The display style is used for both visible
-		 *  and layout so is managed as a special case.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		COMPILE::JS
-		public function setDisplayStyleForLayout(value:String):void
-		{
-			if (positioner.style.display !== 'none')
-				positioner.style.display = value;
-			else
-				displayStyleForLayout = value;
-		}
-        
-        COMPILE::JS
-        public function get visible():Boolean
-        {
-            return positioner.style.display !== 'none';
-        }
-        
-        COMPILE::JS
-        public function set visible(value:Boolean):void
-        {
-            var oldValue:Boolean = positioner.style.display !== 'none';
-            if (value !== oldValue) 
-            {
-                if (!value) 
-                {
-					displayStyleForLayout = positioner.style.display;
-                    positioner.style.display = 'none';
-                    dispatchEvent(new Event('hide'));
-                } 
-                else 
-                {
-                    if (displayStyleForLayout != null) 
-                        positioner.style.display = displayStyleForLayout;
-                    dispatchEvent(new Event('show'));
-                }
-                dispatchEvent(new Event('visibleChanged'));
-            }
-        }
-        
-        /**
-         * @return The array of children.
-         * @flexjsignorecoercion Array
-         */
-        COMPILE::JS
-        public function internalChildren():Array
-        {
-            if (!element) return [];
-            
-            return element.childNodes as Array;
-        }
-        		
-        private var _view:IBeadView;
-        
-        /**
-         *  An IBeadView that serves as the view for the component.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion Class
-         */
-        public function get view():IBeadView
-        {
-            if (_view == null)
-            {
-                var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    if (c)
-                    {
-                        _view = (new c()) as IBeadView;
-                        addBead(_view);
-                    }
-                }
-            }
-            return _view;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set view(value:IBeadView):void
-        {
-            if (_view != value)
-            {
-                addBead(value as IBead);
-                dispatchEvent(new Event("viewChanged"));
-            }
-        }
-
-        private var _id:String;
-
-        /**
-         *  An id property for MXML documents.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get id():String
-		{
-			return _id;
-		}
-
-        /**
-         *  @private
-         */
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-
-            COMPILE::JS
-            {
-                element.id = _id;
-            }
-		}
-		
-        private var _style:Object;
-        
-        /**
-         *  The object that contains
-         *  "styles" and other associated
-         *  name-value pairs.  You can
-         *  also specify a string in
-         *  HTML style attribute format.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get style():Object
-        {
-            return _style;
-        }
-        
-        /**
-         *  @private
-         *  @flexjsignorecoercion String
-         */
-        public function set style(value:Object):void
-        {
-            if (_style != value)
-            {
-                if (value is String)
-                {
-                    _style = ValuesManager.valuesImpl.parseStyles(value as String);
-                }
-                else
-                    _style = value;
-                if (!isNaN(_y))
-                    _style.top = _y;
-                if (!isNaN(_x))
-                    _style.left = _x;
-                dispatchEvent(new Event("stylesChanged"));
-            }
-        }
-        
-        /**
-         *  A list of type names.  Often used for CSS
-         *  type selector lookups.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var typeNames:String;
-        
-        private var _className:String;
-
-        /**
-         *  The classname.  Often used for CSS
-         *  class selector lookups.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get className():String
-		{
-			return _className;
-		}
-
-        /**
-         *  @private
-         */
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
-                COMPILE::JS
-                {
-                    setClassName(typeNames ? StringUtil.trim(value + ' ' + typeNames) : value);             
-                }
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
-		
-		COMPILE::JS
-		protected function setClassName(value:String):void
-		{
-			element.className = value;           
-		}
-		        
-        /**
-         *  @copy org.apache.flex.core.Application#beads
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var beads:Array;
-		
-        /**
-         *  @copy org.apache.flex.core.IStrand#addBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */        
-		override public function addBead(bead:IBead):void
-		{
-            if (bead is IBeadView)
-                _view = bead as IBeadView;
-            
-            super.addBead(bead);
-			
-			if (bead is IBeadView) {
-				IEventDispatcher(this).dispatchEvent(new Event("viewChanged"));
-			}
-		}
-		
-		
-        // maintain this or just calculate it from the displayobject children on demand?
-        private var _elements:Array;
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#addElement()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
-         */
-		public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    _elements = [];
-                _elements[_elements.length] = c;
-                $displayObjectContainer.addChild(c.$displayObject);
-                if (c is IUIBase)
-                {
-                    IUIBase(c).addedToParent();
-                }
-                    
-            }
-            COMPILE::JS
-            {
-                element.appendChild(c.positioner);
-                (c as IUIBase).addedToParent();
-            }
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#addElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
-         */
-        public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    _elements = [];
-                _elements.splice(index,0,c);
-
-                $displayObjectContainer.addChildAt(c.$displayObject,index);
-
-                if (c is IUIBase)
-                {
-                    (c as IUIBase).addedToParent();
-                }
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                if (index >= children.length)
-                    addElement(c);
-                else
-                {
-                    element.insertBefore(c.positioner,
-                        children[index]);
-                    (c as IUIBase).addedToParent();
-                }
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getElementAt(index:int):IChild
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    return null;
-                return _elements[index];
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                if (children.length == 0)
-                {
-                    return null;
-                }
-
-                return children[index].flexjs_wrapper;
-            }
-        }        
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementIndex()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getElementIndex(c:IChild):int
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    return -1;
-                return _elements.indexOf(c);
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                var n:int = children.length;
-                for (var i:int = 0; i < n; i++)
-                {
-                    if (children[i] == c.element)
-                        return i;
-                }
-                return -1;                
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#removeElement()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion HTMLElement
-         */
-        public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements)
-                {
-                    var idx:int = _elements.indexOf(c);
-                    if(idx>=0)
-                        _elements.splice(idx,1);
-                }
-                $displayObjectContainer.removeChild(c.$displayObject as DisplayObject);
-            }
-            COMPILE::JS
-            {
-                element.removeChild(c.element as HTMLElement);
-            }
-        }
-		
-        /**
-         *  @copy org.apache.flex.core.IParent#numElements
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get numElements():int
-        {
-            COMPILE::SWF
-            {
-                return _elements ? _elements.length : 0;
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                return children.length;
-            }
-        }
-        
-        /**
-         *  The method called when added to a parent.  This is a good
-         *  time to set up beads.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion Class
-         *  @flexjsignorecoercion Number
-         */
-        public function addedToParent():void
-        {
-            var c:Class;
-			
-            COMPILE::JS
-            {
-                if (style)
-                    ValuesManager.valuesImpl.applyStyles(this, style);
-            }
-            
-			if (isNaN(_explicitWidth) && isNaN(_percentWidth)) 
-            {
-				var value:* = ValuesManager.valuesImpl.getValue(this,"width");
-				if (value !== undefined) 
-                {
-					if (value is String)
-                    {
-                        var s:String = String(value);
-                        if (s.indexOf("%") != -1)
-        					_percentWidth = Number(s.substring(0, s.length - 1));
-                        else
-                        {
-                            if (s.indexOf("px") != -1)
-                                s = s.substring(0, s.length - 2);
-                            _width = _explicitWidth = Number(s);                            
-                        }
-                    }
-					else 
-						_width = _explicitWidth = value as Number;
-				}
-			}
-			
-			if (isNaN(_explicitHeight) && isNaN(_percentHeight)) 
-            {
-				value = ValuesManager.valuesImpl.getValue(this,"height");
-				if (value !== undefined) 
-                {
-                    if (value is String)
-                    {
-    					s = String(value);
-                        if (s.indexOf("%") != -1)
-    						_percentHeight = Number(s.substring(0, s.length - 1));
-                        else
-                        {
-                            if (s.indexOf("px") != -1)
-                                s = s.substring(0, s.length - 2);
-                            _height = _explicitHeight = Number(s);
-                        }
-					} 
-                    else
-						_height = _explicitHeight = value as Number;
-				}
-			}
-            
-            for each (var bead:IBead in beads)
-                addBead(bead);
-                
-            if (getBeadByType(IBeadModel) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
-                if (c)
-                {
-                    var model:IBeadModel = new c as IBeadModel;
-                    if (model)
-                        addBead(model);
-                }
-            }
-            if (_view == null && getBeadByType(IBeadView) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    var view:IBeadView = new c as IBeadView;
-                    if (view)
-                        addBead(view);                        
-                }
-            }
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-            dispatchEvent(new Event("beadsAdded"));
-        }
-        		
-        /**
-         *  A measurement bead, if one exists.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get measurementBead() : IMeasurementBead
-		{
-			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( measurementBead == null ) {
-				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
-			}
-			
-			return measurementBead;
-		}
-        
-        COMPILE::SWF
-        private var _stageProxy:StageProxy;
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion org.apache.flex.events.IEventDispatcher
-         */
-		public function get topMostEventDispatcher():IEventDispatcher
-        {
-            COMPILE::SWF
-            {
-                if (!_stageProxy)
-                {
-                    _stageProxy = new StageProxy($displayObject.stage);
-                    _stageProxy.addEventListener("removedFromStage", stageProxy_removedFromStageHandler);
-                }
-                
-                return _stageProxy;
-            }
-            COMPILE::JS
-            {
-                var e:WrappedHTMLElement = document.body as WrappedHTMLElement;
-                return e.flexjs_wrapper as IEventDispatcher;
-            }
-        }
-        
-        COMPILE::SWF
-        private function stageProxy_removedFromStageHandler(event:Event):void
-        {
-            _stageProxy = null;
-        }
-        
-        /**
-         * Rebroadcast an event from a sub component from the component.
-         */
-        protected function repeaterListener(event:Event):void
-        {
-            dispatchEvent(event);
-        }
-        
-        /**
-         * @return The actual element to be parented.
-         * @flexjsignorecoercion org.apache.flex.core.IFlexJSElement
-         */
-        COMPILE::SWF
-        protected function createElement():IFlexJSElement
-        {
-			element = new WrappedSprite();
-			element.flexjs_wrapper = this;
-			(element as InteractiveObject).doubleClickEnabled = true; // make JS and flash consistent
-            return element;
-        }
-        
-        /**
-         * @return The actual element to be parented.
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-		COMPILE::JS
-        protected function createElement():WrappedHTMLElement
-        {
-            if (element == null)
-                element = document.createElement('div') as WrappedHTMLElement;
-            if (positioner == null)
-                positioner = element;
-            positioner.style.display = 'block';
-//            positioner.style.position = 'relative';
-            
-            element.flexjs_wrapper = this;
-            
-            return positioner;
-        }
-        
-        /**
-         * The HTMLElement used to position the component.
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get alpha():Number 
-        {
-            var stralpha:String = positioner.style.opacity as String;
-            var alpha:Number = parseFloat(stralpha);
-            return alpha;
-        }
-        
-        COMPILE::JS
-        public function set alpha(value:Number):void
-        {
-            positioner.style.opacity = value;
-        }
-
-        /**
-         * @param value The event containing new style properties.
-         */
-        COMPILE::JS
-        protected function styleChangeHandler(value:ValueChangeEvent):void
-        {
-            var newStyle:Object = {};
-            newStyle[value.propertyName] = value.newValue;
-            ValuesManager.valuesImpl.applyStyles(this, newStyle);
-        };
-
-		COMPILE::SWF
-		public function get transformElement():IFlexJSElement
-		{
-			return element;
-		}
-		
-		COMPILE::JS
-		public function get transformElement():WrappedHTMLElement
-		{
-			return element;
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIButtonBase.as
deleted file mode 100644
index 5c12a69..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ /dev/null
@@ -1,788 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	import flash.display.DisplayObject;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.utils.MouseEventConverter;
-	
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  Set a different class for click events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
-    /**
-     *  The UIHTMLElementWrapper class is the base class for most Buttons
-     *  and other UI objects in a FlexJS application that do not have children.  
-     *  In Flash, these buttons extend SimpleButton and therefore
-     *  do not support all of the Sprite APIs.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	COMPILE::SWF
-	public class UIButtonBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IUIBase, IStyleableObject, ILayoutChild
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function UIButtonBase()
-		{
-			// mouseChildren = true;
-			// mouseEnabled = true;
-            createElement();
-            MouseEventConverter.setupInstanceConverters(this);
-		}
-
-        protected function createElement():IFlexJSElement
-        {
-            element = _button = new WrappedSimpleButton();
-            _button.flexjs_wrapper = this;
-            return element;
-        }
-        private var _button:WrappedSimpleButton;
-
-        public function get $button():SimpleButton
-        {
-            return _button;
-        }
-
-        private var _x:Number;
-        
-		/**
-		 *  @private
-		 */
-		override public function set x(value:Number):void
-		{
-			_button.x = _x = value;
-			if (!style)
-				style = { left: value };
-			else
-				style.left = value;
-			dispatchEvent(new Event("xChanged"));
-		}
-		
-        private var _y:Number;
-        
-        /**
-		 *  @private
-		 */
-		override public function set y(value:Number):void
-		{
-			_button.y = _y = value;
-			if (!style)
-				style = { top: value };
-			else
-				style.top = value;
-			dispatchEvent(new Event("yChanged"));
-		}
-
-		/**
-		 *  Retrieve the low-level bounding box y.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function get $y():Number
-		{
-			return _button.y;
-		}
-		
-		private var _explicitWidth:Number;
-		
-		/**
-		 *  The explicitly set width (as opposed to measured width
-		 *  or percentage width).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get explicitWidth():Number
-		{
-			if (isNaN(_explicitWidth))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-				if (value !== undefined) {
-					_explicitWidth = Number(value);
-				}
-			}
-			
-			return _explicitWidth;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set explicitWidth(value:Number):void
-		{
-			if (_explicitWidth == value)
-				return;
-			
-			// width can be pixel or percent not both
-			if (!isNaN(value))
-				_percentWidth = NaN;
-			
-			_explicitWidth = value;
-			
-			dispatchEvent(new Event("explicitWidthChanged"));
-		}
-		
-		private var _explicitHeight:Number;
-		
-		/**
-		 *  The explicitly set width (as opposed to measured width
-		 *  or percentage width).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get explicitHeight():Number
-		{
-			if (isNaN(_explicitHeight))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-				if (value !== undefined) {
-					_explicitHeight = Number(value);
-				}
-			}
-			
-			return _explicitHeight;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set explicitHeight(value:Number):void
-		{
-			if (_explicitHeight == value)
-				return;
-			
-			// height can be pixel or percent not both
-			if (!isNaN(value))
-				_percentHeight = NaN;
-			
-			_explicitHeight = value;
-			
-			dispatchEvent(new Event("explicitHeightChanged"));
-		}
-		
-		private var _percentWidth:Number;
-		
-		/**
-		 *  The requested percentage width this component
-		 *  should have in the parent container.  Note that
-		 *  the actual percentage may be different if the 
-		 *  total is more than 100% or if there are other
-		 *  components with explicitly set widths.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get percentWidth():Number
-		{
-			return _percentWidth;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set percentWidth(value:Number):void
-		{
-			if (_percentWidth == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitWidth = NaN;
-			
-			_percentWidth = value;
-			
-			dispatchEvent(new Event("percentWidthChanged"));
-		}
-		
-		private var _percentHeight:Number;
-		
-		/**
-		 *  The requested percentage height this component
-		 *  should have in the parent container.  Note that
-		 *  the actual percentage may be different if the 
-		 *  total is more than 100% or if there are other
-		 *  components with explicitly set heights.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get percentHeight():Number
-		{
-			return _percentHeight;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set percentHeight(value:Number):void
-		{
-			if (_percentHeight == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitHeight = NaN;
-			
-			_percentHeight = value;
-			
-			dispatchEvent(new Event("percentHeightChanged"));
-		}
-		
-		private var _width:Number;
-        
-		[Bindable("widthChanged")]
-        [PercentProxy("percentWidth")]
-        /**
-         *  @copy org.apache.flex.core.UIBase#width
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function get width():Number
-		{
-			if (isNaN(explicitWidth))
-			{
-				var w:Number = _width;
-				if (isNaN(w)) w = $width;
-				return w;
-			}
-			else
-				return explicitWidth;
-		}
-
-        /**
-         *  @private
-         */
-		override public function set width(value:Number):void
-		{
-			if (explicitWidth != value)
-			{
-				explicitWidth = value;
-			}
-			
-			setWidth(value);
-		}
-
-        /**
-         *  Retrieve the low-level bounding box width.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get $width():Number
-		{
-			return _button.width;
-		}
-		
-		private var _height:Number;
-
-		[Bindable("heightChanged")]
-        [PercentProxy("percentHeight")]
-        /**
-         *  @copy org.apache.flex.core.UIBase#width
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function get height():Number
-		{
-			if (isNaN(explicitHeight))
-			{
-				var h:Number = _height;
-				if (isNaN(h)) h = $height;
-				return h;
-			}
-			else
-				return explicitHeight;
-		}
-        
-        /**
-         *  @private
-         */
-		override public function set height(value:Number):void
-		{
-			if (explicitHeight != value)
-			{
-				explicitHeight = value;
-			}
-			
-			setHeight(value);
-		}
-        
-        /**
-         *  Retrieve the low-level bounding box height.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get $height():Number
-		{
-			return _button.height;
-		}
-
-        /**
-         *  @copy org.apache.flex.core.IUIBase#setHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setHeight(value:Number, noEvent:Boolean = false):void
-        {
-            if (_height != value)
-            {
-                _height = value;
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#setWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidth(value:Number, noEvent:Boolean = false):void
-        {
-            if (_width != value)
-            {
-                _width = value;
-                if (!noEvent)
-                    dispatchEvent(new Event("widthChanged"));
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#setWidthAndHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidthAndHeight(newWidth:Number, newHeight:Number, noEvent:Boolean = false):void
-        {
-            if (_width != newWidth)
-            {
-                _width = newWidth;
-                if (_height == newHeight)
-                    if (!noEvent) 
-                        dispatchEvent(new Event("widthChanged"));
-            }
-            if (_height != newHeight)
-            {
-                _height = newHeight;
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-            dispatchEvent(new Event("sizeChanged"));
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isWidthSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isWidthSizedToContent():Boolean
-        {
-            return (isNaN(_explicitWidth) && isNaN(_percentWidth));
-        }
-		        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setX
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setX(value:Number):void
-        {
-            _button.x = value;
-        }
-                
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setY
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setY(value:Number):void
-        {
-            _button.y = value;
-        }
-        
-		/**
-		 * @private
-		 */
-        [Bindable("visibleChanged")]
-		override public function set visible(value:Boolean):void
-		{
-			_button.visible = value;
-			dispatchEvent(new Event(value?"show":"hide"));
-			dispatchEvent(new Event("visibleChanged"));
-		}
-
-        override public function get visible():Boolean
-        {
-            return _button.visible;
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isHeightSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isHeightSizedToContent():Boolean
-        {
-            return (isNaN(_explicitHeight) && isNaN(_percentHeight));
-        }
-        
-        private var _view:IBeadView;
-        
-        /**
-         *  An IBeadView that serves as the view for the component.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get view():IBeadView
-        {
-            if (_view == null)
-            {
-                var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    _view = (new c()) as IBeadView;
-                    addBead(_view);
-                }
-            }
-            return _view;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set view(value:IBeadView):void
-        {
-            if (_view != value)
-            {
-                addBead(value as IBead);
-                dispatchEvent(new Event("viewChanged"));
-            }
-        }
-        
-		private var _id:String;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#id
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get id():String
-		{
-			return _id;
-		}
-
-        /**
-         *  @private
-         */
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-
-        private var _styles:Object;
-        
-        /**
-         *  The object that contains
-         *  "styles" and other associated
-         *  name-value pairs.  You can
-         *  also specify a string in
-         *  HTML style attribute format.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get style():Object
-        {
-            return _styles;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set style(value:Object):void
-        {
-            if (value is String)
-                _styles = ValuesManager.valuesImpl.parseStyles(value as String);
-            else
-                _styles = value;
-            if (!isNaN(_y))
-                _styles.top = _y;
-            if (!isNaN(_x))
-                _styles.left = _x;
-            dispatchEvent(new Event("stylesChanged"));
-        }
-        
-        /**
-         *  The styles for this object formatted
-         *  as an HTML style attribute.  While this
-         *  may be a convenient and less verbose
-         *  way of specifying styles than using
-         *  the style object, you run the risk of
-         *  having a typo.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function set styleString(value:String):void
-        {
-            _styles = JSON.parse("{" + value + "}");
-        }
-        
-        /**
-         *  A list of type names.  Often used for CSS
-         *  type selector lookups.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var typeNames:String;
-        
-		private var _className:String;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#className
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get className():String
-		{
-			return _className;
-		}
-
-        /**
-         *  @private
-         */
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.UIBase#beads
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var beads:Array;
-        
-		private var strand:Vector.<IBead>;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#addBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function addBead(bead:IBead):void
-		{
-            super.addBead(bead);
-            if (bead is IBeadView)
-                _view = bead as IBeadView;
-			//bead.strand = this; // super.addBead already did this!
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#addToParent()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function addedToParent():void
-		{
-            var c:Class;
-            
-            for each (var bead:IBead in beads)
-                addBead(bead);
-            
-            if (getBeadByType(IBeadModel) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
-                if (c)
-                {
-                    var model:IBeadModel = new c as IBeadModel;
-                    if (model)
-                        addBead(model);
-                }
-            }
-            if (getBeadByType(IBeadView) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    var view:IBeadView = new c as IBeadView;
-                    if (view)
-                        addBead(view);
-                }
-            }
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-
-            dispatchEvent(new Event("beadsAdded"));
-            
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#measurementBead
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get measurementBead() : IMeasurementBead
-		{
-			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( measurementBead == null ) {
-				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
-			}
-			
-			return measurementBead;
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get topMostEventDispatcher():IEventDispatcher
-        {
-            if (!parent)
-                return null;
-            return IUIBase(parent).topMostEventDispatcher;
-        }
-
-        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
deleted file mode 100644
index 27882f3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
+++ /dev/null
@@ -1,123 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{    	
-	import org.apache.flex.core.IMXMLDocument;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-	
-	/**
-	 * The default property uses when additional MXML content appears within an element's
-	 * definition in an MXML file.
-	 */
-	[DefaultProperty("mxmlContent")]
-	
-    /**
-     *  The View class is the class for most views in a FlexJS
-     *  application.  It is generally used as the root tag of MXML
-     *  documents and UI controls and containers are added to it.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class View extends ViewBase
-	{		
-		public function View()
-		{
-			super();
-		}
-		
-		private var _mxmlDescriptor:Array;
-		private var _mxmlDocument:Object = this;
-		private var _initialized:Boolean;
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			if (!_initialized)
-			{
-				// each MXML file can also have styles in fx:Style block
-				ValuesManager.valuesImpl.init(this);
-			}
-			
-			super.addedToParent();
-			
-			if (!_initialized)
-			{
-				MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
-				
-				dispatchEvent(new Event("initBindings"));
-				dispatchEvent(new Event("initComplete"));
-				_initialized = true;
-				
-				// - why was this added here? childrenAdded(); //?? Is this necessary since MXMLDataInterpreter will already have called it
-			}
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.Application#MXMLDescriptor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function get MXMLDescriptor():Array
-		{
-			return _mxmlDescriptor;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function setMXMLDescriptor(document:Object, value:Array):void
-		{
-			_mxmlDocument = document;
-			_mxmlDescriptor = value;
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function generateMXMLAttributes(data:Array):void
-		{
-			MXMLDataInterpreter.generateMXMLProperties(this, data);
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public var mxmlContent:Array;
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ViewBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ViewBase.as
deleted file mode 100644
index cd9b835..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ViewBase.as
+++ /dev/null
@@ -1,97 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	import org.apache.flex.events.Event;
-
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-
-    /**
-     *  Dispatched at startup. Attributes and sub-instances of
-     *  the MXML document have been created and assigned.
-     *  The component lifecycle is different
-     *  than the Flex SDK.  There is no creationComplete event.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="initComplete", type="org.apache.flex.events.Event")]
-
-	[DefaultProperty("mxmlContent")]
-
-    /**
-     *  The ViewBase class is the base class for most views in a FlexJS
-     *  application.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ViewBase extends GroupBase implements IPopUpHost, IApplicationView
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ViewBase()
-		{
-			super();
-
-			className = "flexjs";
-		}
-
-		private var _applicationModel:Object;
-
-		[Bindable("modelChanged")]
-
-        /**
-         *  A reference to the Application's model.  Usually,
-         *  a view is displaying the main model for an
-         *  application.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get applicationModel():Object
-		{
-			return _applicationModel;
-		}
-
-        /**
-         *  @private
-         */
-        public function set applicationModel(value:Object):void
-        {
-            _applicationModel = value;
-            dispatchEvent(new Event("modelChanged"));
-        }
-
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemAddedEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
deleted file mode 100644
index d67c406..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
+++ /dev/null
@@ -1,89 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-
-	import org.apache.flex.events.CustomEvent;
-	import org.apache.flex.events.IFlexJSEvent;
-	
-	/**
-	 * The ItemAddedEvent is dispatched by IItemRendererParent objects whenenver an
-	 * itemRenderer is added.
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10.2
-	 * @playerversion AIR 2.6
-	 * @productversion FlexJS 0.0
-	 */
-	public class ItemAddedEvent extends CustomEvent
-	{
-
-		//--------------------------------------
-		//   Constructor
-		//--------------------------------------
-
-		/**
-		 * Constructor.
-		 *
-		 * @param type The name of the event.
-		 * @param bubbles Whether the event bubbles.
-		 * @param cancelable Whether the event can be canceled.
-		 *
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public function ItemAddedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
-		{
-            COMPILE::SWF
-            {
-                super(type, bubbles, cancelable);                    
-            }
-            COMPILE::JS
-            {
-                super(type);
-            }
-			
-			item = null;
-		}
-		
-		/**
-		 * The item being added.
-		 *
-		 * @export
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public var item:Object;
-		
-		/**
-		 * @private
-		 */
-		override public function cloneEvent():IFlexJSEvent
-		{
-			var newEvent:ItemAddedEvent = new ItemAddedEvent(type);
-			newEvent.item = item;
-			return newEvent;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemClickedEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
deleted file mode 100644
index 0b7cdce..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
+++ /dev/null
@@ -1,116 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-
-	import org.apache.flex.events.CustomEvent;
-	import org.apache.flex.events.IFlexJSEvent;
-	
-	/**
-	 * The ItemClickedEvent is a custom event issued by an itemRenderer to
-	 * convey information about itself when it has determined that the
-	 * event(s) happening to it constitute a 'click' on itself.
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10.2
-	 * @playerversion AIR 2.6
-	 * @productversion FlexJS 0.0
-	 */
-	public class ItemClickedEvent extends CustomEvent
-	{
-
-		//--------------------------------------
-		//   Constructor
-		//--------------------------------------
-
-		/**
-		 * Constructor.
-		 *
-		 * @param type The name of the event.
-		 * @param bubbles Whether the event bubbles.
-		 * @param cancelable Whether the event can be canceled.
-		 *
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public function ItemClickedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
-		{
-            COMPILE::SWF
-            {
-                super(type, bubbles, cancelable);                    
-            }
-            COMPILE::JS
-            {
-                super(type);
-            }
-			
-			index = -1;
-			data = null;
-			multipleSelection = false;
-		}
-		
-		/**
-		 * The index of the item beginning with zero.
-		 *
-		 * @export
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public var index:Number;
-		
-		/**
-		 * The data of the item.
-		 *
-		 * @export
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public var data:Object;
-		
-		/**
-		 * Whether or not this click is part of a multi-selection sequence.
-		 *
-		 * @export
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public var multipleSelection:Boolean;
-		
-		/**
-		 * @private
-		 */
-		override public function cloneEvent():IFlexJSEvent
-		{
-			var newEvent:ItemClickedEvent = new ItemClickedEvent(type);
-			newEvent.index = index;
-			newEvent.data = data;
-			newEvent.multipleSelection = multipleSelection;
-			return newEvent;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
deleted file mode 100644
index d5dcb80..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
+++ /dev/null
@@ -1,89 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-
-	import org.apache.flex.events.CustomEvent;
-	import org.apache.flex.events.IFlexJSEvent;
-	
-	/**
-	 * The ItemRemovedEvent is dispatched by IItemRendererParent objects whenenver an
-	 * itemRenderer is removed.
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10.2
-	 * @playerversion AIR 2.6
-	 * @productversion FlexJS 0.0
-	 */
-	public class ItemRemovedEvent extends CustomEvent
-	{
-
-		//--------------------------------------
-		//   Constructor
-		//--------------------------------------
-
-		/**
-		 * Constructor.
-		 *
-		 * @param type The name of the event.
-		 * @param bubbles Whether the event bubbles.
-		 * @param cancelable Whether the event can be canceled.
-		 *
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public function ItemRemovedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
-		{
-            COMPILE::SWF
-            {
-                super(type, bubbles, cancelable);                    
-            }
-            COMPILE::JS
-            {
-                super(type);
-            }
-			
-			item = null;
-		}
-		
-		/**
-		 * The item being removed.
-		 *
-		 * @export
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public var item:Object;
-		
-		/**
-		 * @private
-		 */
-		override public function cloneEvent():IFlexJSEvent
-		{
-			var newEvent:ItemRemovedEvent = new ItemRemovedEvent(type);
-			newEvent.item = item;
-			return newEvent;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRendererEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
deleted file mode 100644
index cf2b803..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
+++ /dev/null
@@ -1,91 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.events.CustomEvent;
-	import org.apache.flex.events.IFlexJSEvent;
-	
-	/**
-	 * The ItemRendererEvent is dispatched by DataItemRendererFactory classes under
-	 * various conditions.
-	 *
-	 * @langversion 3.0
-	 * @playerversion Flash 10.2
-	 * @playerversion AIR 2.6
-	 * @productversion FlexJS 0.0
-	 */
-	public class ItemRendererEvent extends CustomEvent
-	{
-		// dispatched when a new itemRenderer has been created and added to the IItemRendererParent.
-		static public const CREATED:String = "itemRendererCreated";
-		
-		//--------------------------------------
-		//   Constructor
-		//--------------------------------------
-
-		/**
-		 * Constructor.
-		 *
-		 * @param type The name of the event.
-		 * @param bubbles Whether the event bubbles.
-		 * @param cancelable Whether the event can be canceled.
-		 *
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public function ItemRendererEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
-		{
-            COMPILE::SWF
-            {
-                super(type, bubbles, cancelable);                    
-            }
-            COMPILE::JS
-            {
-                super(type);
-            }
-			
-			itemRenderer = null;
-		}
-		
-		/**
-		 * The itemRenderer that has been created.
-		 *
-		 * @export
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public var itemRenderer:IItemRenderer;
-		
-		/**
-		 * @private
-		 */
-		override public function cloneEvent():IFlexJSEvent
-		{
-			var newEvent:ItemRendererEvent = new ItemRendererEvent(type);
-			newEvent.itemRenderer = itemRenderer;
-			return newEvent;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as
deleted file mode 100644
index a145ae4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as
+++ /dev/null
@@ -1,320 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IPopUp;
-	import org.apache.flex.core.UIBase;
-
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.events.Event;
-    }
-	
-	/**
-	 *  The Alert class is a component that displays a message and one or more buttons
-	 *  in a view that pops up over all other controls and views. The Alert component
-	 *  uses the AlertView bead to display a modal dialog with a title and a variety
-	 *  of buttons configured through the flag property of its show() static function.
-	 *  The Alert component uses the following beads:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model for the Alert.
-	 *  org.apache.flex.core.IBeadView: the bead used to create the parts of the Alert.
-	 *  org.apache.flex.core.IBeadController: the bead used to handle input events.
-	 *  org.apache.flex.core.IBorderBead: if present, draws a border around the Alert.
-	 *  org.apache.flex.core.IBackgroundBead: if present, places a solid color background below the Alert.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class Alert extends UIBase implements IPopUp
-	{
-		/**
-		 *  The bitmask button flag to show the YES button.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public static const YES:uint    = 0x000001;
-		
-		/**
-		 *  The bitmask button flag to show the NO button.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public static const NO:uint     = 0x000002;
-		
-		/**
-		 *  The bitmask button flag to show the OK button.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public static const OK:uint     = 0x000004;
-		
-		/**
-		 *  The bitmask button flag to show the Cancel button.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public static const CANCEL:uint = 0x000008;
-		
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Alert()
-		{
-			super();
-			
-			className = "Alert";
-		}
-
-        COMPILE::JS
-        private var titleBar:TitleBar;
-        
-        COMPILE::JS
-        private var label:Label;
-        
-        COMPILE::JS
-        private var buttonArea:Container;
-        
-        /**
-         * @override
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            super.createElement();
-            
-            element.className = 'Alert';
-            
-            // add in a title bar
-            titleBar = new TitleBar();
-			titleBar.percentWidth = 100;
-			titleBar.height = 24;
-            addElement(titleBar);
-            titleBar.element.id = 'titleBar';
-			titleBar.element.style.top = "0px";
-			titleBar.element.style.right = "0px";
-			titleBar.element.style.left = "0px";
-			titleBar.element.style.marginBottom = "6px";
-            
-            label = new Label();
-            addElement(label);
-			label.element.style.display = "block";
-			label.element.style.padding = "6px";
-			label.element.style.left = "0px";
-			label.element.style.right = "0px";
-			label.element.style.whiteSpace = "normal";
-            label.element.id = 'message';
-            
-            // add a place for the buttons
-            buttonArea = new Container();
-			buttonArea.percentWidth = 100;
-			buttonArea.height = 28;
-            addElement(buttonArea);
-			buttonArea.element.style.marginTop = "6px";
-			buttonArea.element.style.marginBottom = "6px";
-			buttonArea.element.style.padding = "2px";
-			buttonArea.element.style.left = "0px";
-			buttonArea.element.style.right = "0px";
-            buttonArea.element.id = 'buttonArea';
-            
-            return element;
-        };
-		
-		// note: only passing parent to this function as I don't see a way to identify
-		// the 'application' or top level view without supplying a place to start to
-		// look for it.
-		/**
-		 *  This static method is a convenience function to quickly create and display an Alert. The
-		 *  text and parent paramters are required, the others will default.
-		 * 
-		 *  @param String text The message content of the Alert.
-		 *  @param Object parent The object that hosts the pop-up.
-		 *  @param String title An optional title for the Alert.
-		 *  @param uint flags Identifies which buttons to display in the alert.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : Alert
-		{
-			var alert:Alert = new Alert();
-			alert.message = text;
-			alert.title  = title;
-			alert.flags = flags;
-			
-			alert.show(parent);
-            
-            COMPILE::JS
-            {
-                alert.positioner.style.margin = 'auto';
-				alert.positioner.style.left = "50%";
-				alert.positioner.style.top = "50%";
-				alert.positioner.style.width = "200px";
-            }
-			
-			return alert;
-		}
-		
-		/**
-		 *  Shows the Alert anchored to the given parent object which is usally a root component such
-		 *  as a UIView..
-		 * 
-		 *  @param Object parent The object that hosts the pop-up.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function show(parent:Object) : void
-		{
-			parent.addElement(this);
-		}
-		
-		/**
-		 *  The tile of the Alert.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return IAlertModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			IAlertModel(model).title = value;
-			
-			COMPILE::JS {
-				titleBar.title = value;
-			}
-		}
-		
-		/**
-		 *  The message to display in the Alert body.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get message():String
-		{
-			return IAlertModel(model).message;
-		}
-		public function set message(value:String):void
-		{
-			IAlertModel(model).message = value;
-			
-			COMPILE::JS {
-				label.text = value;
-			}
-		}
-		
-		/**
-		 *  The buttons to display on the Alert as bit-mask values.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get flags():uint
-		{
-			return IAlertModel(model).flags;
-		}
-		public function set flags(value:uint):void
-		{
-			IAlertModel(model).flags = value;
-            
-            COMPILE::JS
-            {
-                // add buttons based on flags
-                if (flags & Alert.OK) {
-                    var ok:TextButton = new TextButton();
-                    buttonArea.addElement(ok);
-                    ok.text = 'OK';
-					ok.element.style.margin = "4px";
-                    goog.events.listen(ok.element, 'click', dismissAlert);
-                }
-                if (flags & Alert.CANCEL) {
-                    var cancel:TextButton = new TextButton();
-                    buttonArea.addElement(cancel);
-                    cancel.text = 'Cancel';
-					cancel.element.style.margin = "4px";
-                    goog.events.listen(cancel.element, 'click', dismissAlert);
-                }
-                if (flags & Alert.YES) {
-                    var yes:TextButton = new TextButton();
-                    buttonArea.addElement(yes);
-                    yes.text = 'YES';
-					yes.element.style.margin = "4px";
-                    goog.events.listen(yes.element, 'click', dismissAlert);
-                }
-                if (flags & Alert.NO) {
-                    var nob:TextButton = new TextButton();
-                    buttonArea.addElement(nob);
-                    nob.text = 'NO';
-					nob.element.style.margin = "4px";
-                    goog.events.listen(nob.element, 'click', dismissAlert);
-                }
-                
-            }
-		}
-        
-        /**
-         * @param event The event object.
-         * @flexjsignorecoercion HTMLElement
-         */
-        COMPILE::JS
-        private function dismissAlert(event:Event):void
-        {
-            var htmlElement:HTMLElement = element as HTMLElement;
-            htmlElement.parentElement.removeChild(element);
-        };
-	
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as
deleted file mode 100644
index 55051d5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as
+++ /dev/null
@@ -1,86 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-    COMPILE::SWF
-    {
-    	import org.apache.flex.core.UIButtonBase;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.UIBase;
-		import org.apache.flex.core.WrappedHTMLElement;
-    }
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.IEventDispatcher;
-    
-	
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  Dispatched when the user clicks on a button.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
-    /**
-     *  The Button class is a simple button.  Use TextButton for
-     *  buttons that should show text.  This is the lightest weight
-     *  button used for non-text buttons like the arrow buttons
-     *  in a Scrollbar or NumericStepper.
-     * 
-     *  The most common view for this button is CSSButtonView that
-     *  allows you to specify a backgroundImage in CSS that defines
-     *  the look of the button.
-     * 
-     *  However, when used in ScrollBar and when composed in many
-     *  other components, it is more common to assign a custom view
-     *  to the button.  
-     *  
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    public class Button extends ButtonBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function Button()
-		{
-			super();
-		}
-	}
-    
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as
deleted file mode 100644
index 0dffead..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as
+++ /dev/null
@@ -1,95 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.html.beads.models.ButtonBarModel;
-	
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	/**
-	 *  The ButtonBar class is a component that displays a set of Buttons. The ButtonBar
-	 *  is actually a List with a default horizontal layout and an itemRenderer that
-	 *  produces Buttons. The ButtonBar uses the following beads:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model for the ButtonBar, including the dataProvider.
-	 *  org.apache.flex.core.IBeadView: constructs the parts of the component.
-	 *  org.apache.flex.core.IBeadController: handles input events.
-	 *  org.apache.flex.core.IBeadLayout: sizes and positions the component parts.
-	 *  org.apache.flex.core.IDataProviderItemRendererMapper: produces itemRenderers.
-	 *  org.apache.flex.core.IItemRenderer: the class or class factory to use.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ButtonBar extends List
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ButtonBar()
-		{
-			super();
-		}
-		
-		public function get buttonWidths():Array
-		{
-			return ButtonBarModel(model).buttonWidths;
-		}
-		public function set buttonWidths(value:Array):void
-		{
-			ButtonBarModel(model).buttonWidths = value;
-		}
-		
-		public function get widthType():Number
-		{
-			return ButtonBarModel(model).widthType;
-		}
-		public function set widthType(value:Number):void
-		{
-			ButtonBarModel(model).widthType = value;
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-
-            className = 'ButtonBar';
-
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBase.as
deleted file mode 100644
index 72d19e1..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBase.as
+++ /dev/null
@@ -1,100 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-    COMPILE::SWF
-    {
-    	import org.apache.flex.core.UIButtonBase;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.UIBase;
-		import org.apache.flex.core.WrappedHTMLElement;
-    }
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.IEventDispatcher;
-    
-	
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  Dispatched when the user clicks on a button.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
-    /**
-     *  The ButtonBase class is the base class for Button.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    COMPILE::SWF
-	public class ButtonBase extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ButtonBase()
-		{
-			super();
-		}
-	}
-    
-    COMPILE::JS
-    public class ButtonBase extends UIBase implements IStrand, IEventDispatcher, IUIBase
-    {
-        /**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('button') as WrappedHTMLElement;
-            element.setAttribute('type', 'button');
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            /* AJH comment out until we figure out why it is needed
-            if (org.apache.flex.core.ValuesManager.valuesImpl.getValue) {
-                var impl:Object = org.apache.flex.core.ValuesManager.valuesImpl.
-                    getValue(this, 'iStatesImpl');
-            }*/
-            
-            return element;
-        }        
-
-    }        
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as
deleted file mode 100644
index ef78a05..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as
+++ /dev/null
@@ -1,189 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    COMPILE::SWF
-    {
-        import flash.events.MouseEvent;
-    }
-
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.core.IUIBase;
-    COMPILE::SWF
-    {
-        import org.apache.flex.core.UIButtonBase;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.UIBase;
-        import org.apache.flex.core.WrappedHTMLElement;
-		import org.apache.flex.html.supportClasses.CheckBoxIcon;
-    }
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.MouseEvent;
-
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-
-    /**
-     *  Dispatched when the user checks or un-checks the CheckBox.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="change", type="org.apache.flex.events.Event")]
-
-    /**
-     *  The CheckBox class implements the common user interface
-     *  control.  The CheckBox includes its text label.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    COMPILE::SWF
-	public class CheckBox extends UIButtonBase implements IStrand
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CheckBox()
-		{
-			super();
-
-			addEventListener(org.apache.flex.events.MouseEvent.CLICK, internalMouseHandler);
-		}
-
-        /**
-         *  The text label for the CheckBox.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			return IToggleButtonModel(model).text;
-		}
-
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-			IToggleButtonModel(model).text = value;
-		}
-
-        [Bindable("change")]
-        /**
-         *  <code>true</code> if the check mark is displayed.
-         *
-         *  @default false
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selected():Boolean
-		{
-			return IToggleButtonModel(model).selected;
-		}
-
-        /**
-         *  @private
-         */
-		public function set selected(value:Boolean):void
-		{
-			IToggleButtonModel(model).selected = value;
-		}
-
-		private function internalMouseHandler(event:org.apache.flex.events.MouseEvent) : void
-		{
-			selected = !selected;
-			dispatchEvent(new Event("change"));
-		}
-	}
-
-    COMPILE::JS
-    public class CheckBox extends UIBase
-    {
-		private var _label:WrappedHTMLElement;
-		private var _icon:CheckBoxIcon;
-
-		private static var _checkNumber:Number = 0;
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        override protected function createElement():WrappedHTMLElement
-        {
-            var cb:HTMLInputElement;
-
-            element = document.createElement('label') as WrappedHTMLElement;
-			_label = element;
-			_icon = new CheckBoxIcon();
-            element.appendChild(_icon.element);
-
-            element.appendChild(document.createTextNode(''));
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-			_icon.element.flexjs_wrapper = this;
-
-            className = 'CheckBox';
-            typeNames = 'CheckBox, CheckBoxIcon';
-
-            return element;
-        }
-
-        public function get text():String
-        {
-            return _label.childNodes.item(1).nodeValue;
-        }
-
-        public function set text(value:String):void
-        {
-            _label.childNodes.item(1).nodeValue = value;
-        }
-
-        public function get selected():Boolean
-        {
-            return (_icon.element as HTMLInputElement).checked;
-        }
-
-        public function set selected(value:Boolean):void
-        {
-           (_icon.element as HTMLInputElement).checked = value;
-        }
-    }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as
deleted file mode 100644
index f2e37f4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as
+++ /dev/null
@@ -1,67 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
-
-    /**
-     *  The CloseButton class is Button that displays an X
-     *  and is commonly used in a Panel's TitleBar.
-     *  
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CloseButton extends Button
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CloseButton()
-		{
-			super();
-		}
-        
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            super.createElement();
-            element.innerHTML = 'x';
-            
-            element.style.padding = 0;
-            height = 11;
-            width = 11;
-            return element;
-        }        
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as
deleted file mode 100644
index 5ada753..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as
+++ /dev/null
@@ -1,119 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.IUIBase;
-	
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.html.beads.models.ComboBoxModel;
-	
-	[Event(name="change", type="org.apache.flex.events.Event")]
-	
-	/**
-	 *  The ComboBox class is a component that displays an input field and
-	 *  pop-up List with selections. Selecting an item from the pop-up List
-	 *  places that item into the input field of the ComboBox. The ComboBox
-	 *  uses the following bead types:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model, which includes the dataProvider, selectedItem, and
-	 *  so forth.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the component.
-	 *  org.apache.flex.core.IBeadController: the bead that handles input and output.
-	 * 
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ComboBox extends UIBase
-	{
-		/**
-		 *  Constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ComboBox()
-		{
-			super();
-			
-			className = "ComboBox";
-		}
-		
-		/**
-		 *  The data for display by the ComboBox.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataProvider():Object
-		{
-			return IComboBoxModel(model).dataProvider;
-		}
-		
-		public function set dataProvider(value:Object):void
-		{
-			IComboBoxModel(model).dataProvider = value;
-		}
-		
-		[Bindable("change")]
-		/**
-		 *  The index of the currently selected item. Changing this item changes
-		 *  the selectedItem value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedIndex():int
-		{
-			return IComboBoxModel(model).selectedIndex;
-		}
-		public function set selectedIndex(value:int):void
-		{
-			IComboBoxModel(model).selectedIndex = value;
-		}
-		
-		[Bindable("change")]
-		/**
-		 *  The item that is currently selected. Changing this item changes
-		 *  the selectedIndex.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedItem():Object
-		{
-			return IComboBoxModel(model).selectedItem;
-		}
-		public function set selectedItem(value:Object):void
-		{
-			IComboBoxModel(model).selectedItem = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
deleted file mode 100644
index cbcf526..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
+++ /dev/null
@@ -1,159 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ContainerBase;
-	import org.apache.flex.core.IMXMLDocument;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-	
-	/**
-	 * The default property uses when additional MXML content appears within an element's
-	 * definition in an MXML file.
-	 */
-	[DefaultProperty("mxmlContent")]
-
-	
-    /**
-     *  The Container class implements a basic container for
-     *  other controls and containers.  The position and size
-     *  of the children are determined by a layout while the size of
-     *  a Container can either be determined by its children or by
-     *  specifying an exact size in pixels or as a percentage of the
-     *  parent element.
-     *
-     *  This Container does not have a built-in scroll bar or clipping of
-     *  its content should the content exceed the Container's boundaries. To
-     *  have scroll bars and clipping, add the ScrollingView bead.  
-     * 
-     *  While the container is relatively lightweight, it should
-     *  generally not be used as the base class for other controls,
-     *  even if those controls are composed of children.  That's
-     *  because the fundamental API of Container is to support
-     *  an arbitrary set of children, and most controls only
-     *  support a specific set of children.
-     * 
-     *  And that's one of the advantages of beads: that functionality
-     *  used in a Container can also be used in a Control as long
-     *  as that bead doesn't assume that its strand is a Container.
-     * 
-     *  For example, even though you can use a Panel to create the
-     *  equivalent of an Alert control, the Alert is a 
-     *  control and not a Container because the Alert does not
-     *  support an arbitrary set of children.
-     *  
-     *  @toplevel
-     *  @see org.apache.flex.html.beads.layout
-     *  @see org.apache.flex.html.supportClasses.ScrollingViewport
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */    
-	public class Container extends ContainerBase implements IMXMLDocument
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function Container()
-		{
-			super();
-		}
-		
-		private var _mxmlDescriptor:Array;
-		private var _mxmlDocument:Object = this;
-		private var _initialized:Boolean;
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			if (!_initialized)
-			{
-				// each MXML file can also have styles in fx:Style block
-				ValuesManager.valuesImpl.init(this);
-			}
-			
-			super.addedToParent();
-			
-			if (!_initialized)
-			{
-				MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
-				
-				dispatchEvent(new Event("initBindings"));
-				dispatchEvent(new Event("initComplete"));
-				_initialized = true;
-				
-				//?? why is this here? childrenAdded(); //?? Is this needed since MXMLDataInterpreter will have already called it
-			}
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.Application#MXMLDescriptor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function get MXMLDescriptor():Array
-		{
-			return _mxmlDescriptor;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function setMXMLDescriptor(document:Object, value:Array):void
-		{
-			_mxmlDocument = document;
-			_mxmlDescriptor = value;
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function generateMXMLAttributes(data:Array):void
-		{
-			MXMLDataInterpreter.generateMXMLProperties(this, data);
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public var mxmlContent:Array;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as
deleted file mode 100644
index 588bd8c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as
+++ /dev/null
@@ -1,95 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.ValuesManager;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	/**
-	 *  The ControlBar class is used within a Panel as a place to position
-	 *  additional controls. The ControlBar appears at the bottom of the
-	 *  org.apache.flex.html.Panel
-	 *  and is not part of the Panel's scrollable content area. The ControlBar
-	 *  is a Container and implements the org.apache.flex.core.IChrome interface, indicating that is
-	 *  outside of the Container's content area. The ControlBar uses the following
-	 *  beads:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model for the component.
-	 *  org.apache.flex.core.IMeasurementBead: helps determine the overlay size of the ControlBar for layout.
-	 *  org.apache.flex.core.IBorderBead: if present, displays a border around the component.
-	 *  org.apache.flex.core.IBackgroundBead: if present, displays a solid background below the ControlBar.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ControlBar extends Group implements IChrome
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ControlBar()
-		{
-			super();
-
-			className = "ControlBar";
-		}
-
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			if( getBeadByType(IBeadLayout) == null ) {
-				var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBeadLayout;
-				addBead(layout);
-			}
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-			element = document.createElement('div') as WrappedHTMLElement;
-			
-			positioner = element;
-			element.flexjs_wrapper = this;
-
-            return element;
-        }
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
deleted file mode 100644
index 5a17c4a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
+++ /dev/null
@@ -1,171 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.IDataGridPresentationModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.GroupBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.beads.models.DataGridPresentationModel;
-	import org.apache.flex.events.Event;
-	
-	[Event(name="change", type="org.apache.flex.events.Event")]
-	
-	/**
-	 *  The DataGrid class displays a collection of data using columns and rows. Each
-	 *  column represents a specific field in the data set; each row represents a specific
-	 *  datum. The DataGrid is a composite component built with a org.apache.flex.html.ButtonBar 
-	 *  for the column headers and a org.apache.flex.html.List for each column. The DataGrid's 
-	 *  view bead (usually org.apache.flex.html.beads.DataGridView) constructs these parts while 
-	 *  itemRenderer factories contruct the elements to display the data in each cell.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGrid extends GroupBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGrid()
-		{
-			super();
-			
-			className = "DataGrid";
-		}
-		
-		/**
-		 *  The array of org.apache.flex.html.supportClasses.DataGridColumns used to 
-		 *  describe each column.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columns():Array
-		{
-			return IDataGridModel(model).columns;
-		}
-		public function set columns(value:Array):void
-		{
-			IDataGridModel(model).columns = value;
-		}
-		
-		/**
-		 *  The object used to provide data to the org.apache.flex.html.DataGrid.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataProvider():Object
-		{
-			return IDataGridModel(model).dataProvider;
-		}
-		public function set dataProvider(value:Object):void
-		{
-			IDataGridModel(model).dataProvider = value;
-		}
-		
-		/**
-		 *  The currently selected row.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedIndex():int
-		{
-			return IDataGridModel(model).selectedIndex;
-		}
-		public function set selectedIndex(value:int):void
-		{
-			IDataGridModel(model).selectedIndex = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		private var _presentationModel:IDataGridPresentationModel;
-		
-		/**
-		 *  The DataGrid's presentation model
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get presentationModel():IDataGridPresentationModel
-		{
-			if (_presentationModel == null) {
-				var c:Class = ValuesManager.valuesImpl.getValue(this, "iDataGridPresentationModel");
-				if (c) {
-					var presModel:Object = new c();
-					_presentationModel = presModel as IDataGridPresentationModel;
-					if (_presentationModel != null) {
-						addBead(_presentationModel as IBead);
-					}
-				}
-			}
-			
-			return _presentationModel;
-		}
-		public function set presentationModel(value:IDataGridPresentationModel):void
-		{
-			_presentationModel = value;
-		}
-				
-		/**
-		 *  The default height of each cell in every column
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get rowHeight():Number
-		{
-			return presentationModel.rowHeight;
-		}
-		public function set rowHeight(value:Number):void
-		{
-			presentationModel.rowHeight = value;
-		}
-		
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			dispatchEvent(new Event("initComplete"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBar.as
deleted file mode 100644
index c7208dc..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBar.as
+++ /dev/null
@@ -1,51 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
-
-	/**
-	 *  The DataGridButtonBar class extends ButtonBar and provides a class for styling
-	 *  the header region of the DataGrid.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridButtonBar extends ButtonBar
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridButtonBar()
-		{
-			super();
-			className = "DataGridButtonBar";
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBarTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBarTextButton.as
deleted file mode 100644
index 67be174..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBarTextButton.as
+++ /dev/null
@@ -1,55 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-
-	COMPILE::JS {
-		import org.apache.flex.core.WrappedHTMLElement;
-	}
-
-    /**
-     *  The DataGridButtonBarTextButton class extends TextButton so that
-	 *  the buttons used in the DataGrid header can be styled separately
-	 *  from normal TextButtons.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DataGridButtonBarTextButton extends TextButton
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DataGridButtonBarTextButton()
-		{
-			super();
-			typeNames = "";
-			className = "DataGridButtonBarTextButton";
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
deleted file mode 100644
index 971ed75..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
+++ /dev/null
@@ -1,73 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.html.Group;
-
-	/**
-	 * The change event is dispatched when the selectedDate is changed.
-	 */
-	[Event(name="change", type="org.apache.flex.events.Event")]
-
-	/**
-	 *  The DateChooser class is a component that displays a calendar.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateChooser extends Group
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateChooser()
-		{
-			super();
-			
-			// default to today
-			selectedDate = new Date();
-		}
-
-		/**
-		 *  The currently selected date (or null if no date has been selected).
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedDate():Date
-		{
-			return IDateChooserModel(model).selectedDate;
-		}
-		public function set selectedDate(value:Date):void
-		{
-			IDateChooserModel(model).selectedDate = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as
deleted file mode 100644
index 5b73db0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as
+++ /dev/null
@@ -1,118 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	
-	/**
-	 * The change event is dispatched when the selectedDate is changed.
-	 */
-	[Event(name="change", type="org.apache.flex.events.Event")]
-	
-	/**
-	 * The DateField class provides an input field where a date can be entered
-	 * and a pop-up calendar control for picking a date as an alternative to
-	 * the text field.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateField extends UIBase
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateField()
-		{
-			super();
-			
-			className = "DateField";
-		}
-		
-		/**
-		 * The method called when added to a parent. The DateField class uses
-		 * this opportunity to install additional beads.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function addedToParent():void
-		{
-            var klass:* = ValuesManager.valuesImpl.getValue(this,"iFormatBead");
-            var bead:IBead = new klass() as IBead;
-            if (bead) {
-                addBead(bead);
-            }
-            
-			super.addedToParent();
-		}
-
-		/**
-		 *  Replace existing format bead if it exists.
-		 *
-		 *  @copy org.apache.flex.core.IStrand#addBead()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function addBead(bead:IBead):void
-		{
-			if (bead is IFormatBead) {
-				var formatBead:IBead = getBeadByType(IFormatBead);
-				if (formatBead != null) {
-					removeBead(formatBead);
-				}
-			}
-			super.addBead(bead);
-		}
-		
-		/**
-		 *  The currently selected date (or null if no date has been selected).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedDate():Date
-		{
-			return IDateChooserModel(model).selectedDate;
-		}
-		public function set selectedDate(value:Date):void
-		{
-			IDateChooserModel(model).selectedDate = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as
deleted file mode 100644
index d547f27..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as
+++ /dev/null
@@ -1,236 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    import org.apache.flex.core.ISelectionModel;
-
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.html.beads.models.ArraySelectionModel;
-    }
-
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-
-    /**
-     *  Dispatched when the user selects an item.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="change", type="org.apache.flex.events.Event")]
-
-    /**
-     *  The DropDownList class implements the basic equivalent of
-     *  the <code>&lt;select&gt;</code> tag in HTML.
-     *  The default implementation only lets the user see and
-     *  choose from an array of strings.  More complex controls
-     *  would display icons as well as strings, or colors instead
-     *  of strings or just about anything.
-     *
-     *  The default behavior only lets the user choose one and
-     *  only one item.  More complex controls would allow
-     *  mutiple selection by not dismissing the dropdown as soon
-     *  as a selection is made.
-     *
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DropDownList extends Button
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DropDownList()
-		{
-            COMPILE::JS
-            {
-                model = new ArraySelectionModel();
-            }
-		}
-
-        /**
-         *  The data set to be displayed.  Usually a simple
-         *  array of strings.  A more complex component
-         *  would allow more complex data and data sets.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get dataProvider():Object
-        {
-            return ISelectionModel(model).dataProvider;
-        }
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion HTMLOptionElement
-         *  @flexjsignorecoercion HTMLSelectElement
-         */
-        public function set dataProvider(value:Object):void
-        {
-            ISelectionModel(model).dataProvider = value;
-            COMPILE::JS
-            {
-                var dp:HTMLOptionsCollection;
-                var i:int;
-                var n:int;
-                var opt:HTMLOptionElement;
-                var dd:HTMLSelectElement = element as HTMLSelectElement;
-
-                model.dataProvider = value;
-                dp = dd.options;
-                n = dp.length;
-                for (i = 0; i < n; i++) {
-                    dd.remove(0);
-                }
-
-                var lf:String = labelField;
-                n = value.length;
-                for (i = 0; i < n; i++) {
-                    opt = document.createElement('option') as HTMLOptionElement;
-                    if (lf)
-                        opt.text = value[i][lf];
-                    else
-                        opt.text = value[i];
-                    dd.add(opt, null);
-                }
-
-            }
-        }
-
-        [Bindable("change")]
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get selectedIndex():int
-        {
-            return ISelectionModel(model).selectedIndex;
-        }
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion HTMLSelectElement
-         */
-        public function set selectedIndex(value:int):void
-        {
-            ISelectionModel(model).selectedIndex = value;
-            COMPILE::JS
-            {
-                (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex;
-            }
-        }
-
-
-        [Bindable("change")]
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get selectedItem():Object
-        {
-            return ISelectionModel(model).selectedItem;
-        }
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion HTMLSelectElement
-         */
-        public function set selectedItem(value:Object):void
-        {
-            ISelectionModel(model).selectedItem = value;
-            COMPILE::JS
-            {
-                (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex;
-            }
-        }
-
-        /**
-         *  The name of field within the data used for display. Each item of the
-         *  data should have a property with this name.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get labelField():String
-        {
-            return ISelectionModel(model).labelField;
-        }
-        public function set labelField(value:String):void
-        {
-            ISelectionModel(model).labelField = value;
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         * @flexjsignorecoercion HTMLSelectElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('select') as WrappedHTMLElement;
-            (element as HTMLSelectElement).size = 1;
-            goog.events.listen(element, 'change',
-                changeHandler);
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-
-        /**
-         * @flexjsignorecoercion HTMLSelectElement
-         */
-        COMPILE::JS
-        protected function changeHandler(event:Event):void
-        {
-            model.selectedIndex = (element as HTMLSelectElement).selectedIndex;
-        }
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Form.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Form.as
deleted file mode 100644
index 96fe42a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Form.as
+++ /dev/null
@@ -1,100 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    import org.apache.flex.html.Container;
-
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    [DefaultProperty("mxmlContent")]
-
-    /**
-     *  The Form class is a simple form.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    public class Form extends Container
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function Form()
-        {
-            super();
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('form') as WrappedHTMLElement;
-
-            positioner = element;
-
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            return element;
-        }
-
-
-        private var _action:String = "#";
-
-        [Bindable("actionChange")]
-        /**
-         *  The action to be performed when the form is submitted
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get action():String
-        {
-            return _action;
-        }
-
-        /**
-         *  @private
-         */
-        public function set action(value:String):void
-        {
-            _action = value;
-
-            COMPILE::JS
-            {
-                this.element.setAttribute('action', action);
-                this.dispatchEvent('actionChange');
-            }
-        }
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as
deleted file mode 100644
index 2a19648..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as
+++ /dev/null
@@ -1,62 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ContainerBase;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-	
-	[DefaultProperty("mxmlContent")]
-    
-    /**
-     *  A Container that has a HorizontalLayout.
-     * 
-     *  This is effectively the same as the pattern
-     *  <code>
-     *  <basic:Container xmlns:basic="library://ns.apache.org/flexjs/basic">
-     *    <basic:layout>
-     *       <basic:HorizontalLayout />
-     *    </basic:layout>
-     *  </basic:Container>
-     *  </code>
-     *  
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */    
-	public class HContainer extends Container
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HContainer()
-		{
-			super();
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HRule.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HRule.as
deleted file mode 100644
index 3017a34..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HRule.as
+++ /dev/null
@@ -1,64 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.UIBase;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     *  The HRule class displays a horizontal line
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class HRule extends UIBase
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HRule()
-		{
-			super();
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('hr') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            return element;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
deleted file mode 100644
index 6b206c1..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
+++ /dev/null
@@ -1,82 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ImageBase;
-
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	  /**
-	   *  Load Images.
-	   *
-	   *  @toplevel
-	   *  @langversion 3.0
-	   *  @playerversion Flash 10.2
-	   *  @playerversion AIR 2.6
-	   *  @productversion FlexJS 0.0
-	   */
-	public class Image extends ImageBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Image()
-		{
-			super();
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('img') as WrappedHTMLElement;
-            element.className = 'Image';
-            typeNames = 'Image';
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-
-		COMPILE::JS
-		override public function get imageElement():Element
-		{
-			return element;
-		}
-
-		COMPILE::JS
-		override public function applyImageData(binaryDataAsString:String):void
-		{
-			(element as HTMLImageElement).src = binaryDataAsString;
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageAndTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
deleted file mode 100644
index ccdbc3b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
+++ /dev/null
@@ -1,129 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.events.Event;
-    import org.apache.flex.html.beads.models.ImageAndTextModel;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     *  The ImageTextButton class implements a basic button that
-     *  displays and image and text.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ImageAndTextButton extends TextButton
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ImageAndTextButton()
-		{
-			super();
-		}
-
-        /**
-         *  @private
-         */
-        COMPILE::JS
-        override public function get text():String
-        {
-            return ImageAndTextModel(model).text;
-        }
-
-        /**
-         *  @private
-         */
-        COMPILE::JS
-        override public function set text(value:String):void
-        {
-            ImageAndTextModel(model).text = value;
-            COMPILE::JS
-            {
-                setInnerHTML();
-            }
-        }
-
-        /**
-         *  The URL of an icon to use in the button
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get image():String
-        {
-            return ImageAndTextModel(model).image;
-        }
-
-        /**
-         *  @private
-         */
-        public function set image(value:String):void
-        {
-            ImageAndTextModel(model).image = value;
-            COMPILE::JS
-            {
-                setInnerHTML();
-            }
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('button') as WrappedHTMLElement;
-            element.setAttribute('type', 'button');
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-
-        /**
-         */
-        COMPILE::JS
-        protected function setInnerHTML():void
-        {
-            var inner:String = '';
-            if (image != null)
-                inner += "<img src='" + image + "'/>";
-            inner += '&nbsp;';
-            inner += text;
-            element.innerHTML = inner;
-        };
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageButton.as
deleted file mode 100644
index 4b89037..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageButton.as
+++ /dev/null
@@ -1,103 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    import org.apache.flex.core.SimpleCSSStyles;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.html.beads.models.ImageModel;
-
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     *  The ImageButton class presents an image as a button.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ImageButton extends Button
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ImageButton()
-		{
-			super();
-            typeNames = "ImageButton";
-		}
-
-		/**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-		COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('button') as WrappedHTMLElement;
-            element.setAttribute('type', 'button');
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-
-		[Bindable("srcChanged")]
-		/**
-		 * Sets the image for the button. This is a URL.
-		 * TODO: figure out how to set the source in the style, rather than using
-		 * backgroundImage behind the scenes.
-		 */
-        public function get src():String
-        {
-            return ImageModel(model).url;
-        }
-
-        public function set src(url:String):void
-        {
-            ImageModel(model).url = url;
-            COMPILE::SWF
-            {
-                if (!style)
-                    style = new SimpleCSSStyles();
-                style.backgroundImage = url;
-            }
-
-            COMPILE::JS
-            {
-                var inner:String = '';
-                if (url)
-                    inner = "<img src='" + url + "'/>";
-                element.innerHTML = inner;
-            }
-
-			dispatchEvent(new Event("srcChanged"));
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Label.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Label.as
deleted file mode 100644
index 8937f28..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Label.as
+++ /dev/null
@@ -1,177 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     *  Dispatched when the user clicks on a Label.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.8.0
-     */
-    [Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
-	/*
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-
-    /**
-     *  The Label class implements the basic control for labeling
-     *  other controls.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    public class Label extends UIBase
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function Label()
-		{
-			super();
-		}
-
-        [Bindable("textChange")]
-        /**
-         *  The text to display in the label.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).text;
-            }
-            COMPILE::JS
-            {
-                return element.innerHTML;
-            }
-		}
-
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-            COMPILE::SWF
-            {
-                ITextModel(model).text = value;
-            }
-            COMPILE::JS
-            {
-                this.element.innerHTML = value;
-                this.dispatchEvent('textChange');
-            }
-
-		}
-
-        [Bindable("htmlChange")]
-        /**
-         *  The html-formatted text to display in the label.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).html;
-            }
-            COMPILE::JS
-            {
-                return element.innerHTML;
-            }
-		}
-
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-            COMPILE::SWF
-            {
-                ITextModel(model).html = value;
-            }
-            COMPILE::JS
-            {
-                this.element.innerHTML = value;
-                this.dispatchEvent('textChange');
-            }
-		}
-
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-        override public function addedToParent():void
-        {
-            super.addedToParent();
-            model.addEventListener("textChange", repeaterListener);
-            model.addEventListener("htmlChange", repeaterListener);
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('span') as WrappedHTMLElement;
-            positioner = element;
-            element.flexjs_wrapper = this;
-            element.style.whiteSpace = "nowrap";
-
-            className = "Label";
-            typeNames = "Label";
-            return element;
-        }
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
deleted file mode 100644
index fb2481f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
+++ /dev/null
@@ -1,168 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-
-	COMPILE::JS
-	{
-		import org.apache.flex.core.WrappedHTMLElement;
-	}
-
-	/**
-	 *  Indicates that the initialization of the list is complete.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	[Event(name="initComplete", type="org.apache.flex.events.Event")]
-
-	/**
-	 * The change event is dispatched whenever the list's selection changes.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-    [Event(name="change", type="org.apache.flex.events.Event")]
-
-	/**
-	 *  The List class is a component that displays multiple data items. The List uses
-	 *  the following bead types:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model, which includes the dataProvider, selectedItem, and
-	 *  so forth.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the list.
-	 *  org.apache.flex.core.IBeadController: the bead that handles input and output.
-	 *  org.apache.flex.core.IBeadLayout: the bead responsible for the size and position of the itemRenderers.
-	 *  org.apache.flex.core.IDataProviderItemRendererMapper: the bead responsible for creating the itemRenders.
-	 *  org.apache.flex.core.IItemRenderer: the class or factory used to display an item in the list.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class List extends DataContainer
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function List()
-		{
-			super();
-		}
-
-		/**
-		 *  The index of the currently selected item. Changing this value
-		 *  also changes the selectedItem property.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get selectedIndex():int
-		{
-			return ISelectionModel(model).selectedIndex;
-		}
-		public function set selectedIndex(value:int):void
-		{
-			ISelectionModel(model).selectedIndex = value;
-		}
-
-		/**
-		 *  The index of the item currently below the pointer.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get rollOverIndex():int
-		{
-			return IRollOverModel(model).rollOverIndex;
-		}
-		public function set rollOverIndex(value:int):void
-		{
-			IRollOverModel(model).rollOverIndex = value;
-		}
-
-		/**
-		 *  The default height of each cell in every column
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get rowHeight():Number
-		{
-			return presentationModel.rowHeight;
-		}
-		public function set rowHeight(value:Number):void
-		{
-			presentationModel.rowHeight = value;
-		}
-
-		/**
-		 *  The item currently selected. Changing this value also
-		 *  changes the selectedIndex property.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedItem():Object
-		{
-			return ISelectionModel(model).selectedItem;
-		}
-		public function set selectedItem(value:Object):void
-		{
-			ISelectionModel(model).selectedItem = value;
-		}
-
-		/*
-		 * UIBase
-		 */
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            super.createElement();
-            className = 'List';
-
-            return element;
-        }
-   	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
deleted file mode 100644
index 4bfa105..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
+++ /dev/null
@@ -1,317 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.states.State;
-
-	import org.apache.flex.core.IBead;
-    import org.apache.flex.core.ILayoutHost;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IStatesImpl;
-	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.html.beads.GroupView;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.ValueChangeEvent;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-
-    [DefaultProperty("mxmlContent")]
-
-    /**
-     *  The MXMLBeadView class extends ContainerView
-     *  and adds support for databinding and specification
-     *  of children in MXML.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class MXMLBeadView extends GroupView implements IStrand, ILayoutHost
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function MXMLBeadView()
-		{
-			super();
-		}
-
-        [Bindable("strandChanged")]
-        /**
-         *  An MXMLBeadView doesn't create its children until it is added to
-         *  the strand.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        override public function set strand(value:IStrand):void
-        {
-            super.strand = value;
-            // each MXML file can also have styles in fx:Style block
-            ValuesManager.valuesImpl.init(this);
-
-            dispatchEvent(new Event("strandChanged"));
-
-            for each (var bead:IBead in beads)
-                addBead(bead);
-
-            dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-
-            MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), MXMLDescriptor);
-
-            dispatchEvent(new Event("childrenAdded"));
-            dispatchEvent(new Event("initBindings"));
-            dispatchEvent(new Event("initComplete"));
-        }
-
-        [Bindable("__NoChangeEvent__")]
-        /**
-         *  The model object.
-         */
-        public function get model():Object
-        {
-            return _strand["model"];
-        }
-
-        /**
-         *  @copy org.apache.flex.core.Application#MXMLDescriptor
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get MXMLDescriptor():Array
-        {
-            return null;
-        }
-
-        /**
-         *  @copy org.apache.flex.core.Application#generateMXMLAttributes()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function generateMXMLAttributes(data:Array):void
-        {
-            MXMLDataInterpreter.generateMXMLProperties(this, data);
-        }
-
-        /**
-         *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var mxmlContent:Array;
-
-        private var _states:Array;
-
-        /**
-         *  The array of view states. These should
-         *  be instances of org.apache.flex.states.State.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get states():Array
-        {
-            return _states;
-        }
-
-        /**
-         *  @private
-         */
-        public function set states(value:Array):void
-        {
-            _states = value;
-            _currentState = _states[0].name;
-
-            try{
-                if (getBeadByType(IStatesImpl) == null)
-                    addBead(new (ValuesManager.valuesImpl.getValue(this, "iStatesImpl")) as IBead);
-            }
-            //TODO:  Need to handle this case more gracefully
-            catch(e:Error)
-            {
-                COMPILE::SWF
-                {
-                    trace(e.message);
-                }
-            }
-
-        }
-
-        /**
-         *  <code>true</code> if the array of states
-         *  contains a state with this name.
-         *
-         *  @param state The state namem.
-         *  @return True if state in state array
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function hasState(state:String):Boolean
-        {
-            for each (var s:State in _states)
-            {
-                if (s.name == state)
-                    return true;
-            }
-            return false;
-        }
-
-        private var _currentState:String;
-
-        [Bindable("currentStateChange")]
-        /**
-         *  The name of the current state.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get currentState():String
-        {
-            return _currentState;
-        }
-
-        /**
-         *  @private
-         */
-        public function set currentState(value:String):void
-        {
-            var event:ValueChangeEvent = new ValueChangeEvent("currentStateChange", false, false, _currentState, value)
-            _currentState = value;
-            dispatchEvent(event);
-        }
-
-        private var _transitions:Array;
-
-        /**
-         *  The array of transitions.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get transitions():Array
-        {
-            return _transitions;
-        }
-
-        /**
-         *  @private
-         */
-        public function set transitions(value:Array):void
-        {
-            _transitions = value;
-        }
-
-        /**
-         *  @copy org.apache.flex.core.Application#beads
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var beads:Array;
-
-        private var _beads:Array;
-
-        /**
-         *  @copy org.apache.flex.core.IStrand#addBead()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function addBead(bead:IBead):void
-        {
-            if (!_beads)
-                _beads = [];
-            _beads.push(bead);
-            bead.strand = this;
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IStrand#getBeadByType()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getBeadByType(classOrInterface:Class):IBead
-        {
-            for each (var bead:IBead in _beads)
-            {
-                if (bead is classOrInterface)
-                    return bead;
-            }
-            return null;
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IStrand#removeBead()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function removeBead(value:IBead):IBead
-        {
-            var n:int = _beads.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var bead:IBead = _beads[i];
-                if (bead == value)
-                {
-                    _beads.splice(i, 1);
-                    return bead;
-                }
-            }
-            return null;
-        }
-
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MultilineLabel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MultilineLabel.as
deleted file mode 100644
index 52fcfae..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MultilineLabel.as
+++ /dev/null
@@ -1,77 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
-	
-	/*
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-
-    /**
-     *  The Label class implements the basic control for labeling
-     *  other controls.  
-     *  
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */    
-    public class MultilineLabel extends Label
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function MultilineLabel()
-		{
-			super();
-		}
-        
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-            element.flexjs_wrapper = this;
-            return element;
-        }        
-						
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/NumericStepper.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/NumericStepper.as
deleted file mode 100644
index 984fda9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/NumericStepper.as
+++ /dev/null
@@ -1,203 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.UIBase;
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	[Event(name="valueChange", type="org.apache.flex.events.Event")]
-
-	/**
-	 *  The NumericStepper class is a component that displays a numeric
-	 *  value and up/down controls (using a org.apache.flex.html.Spinner) to
-	 *  increase and decrease the value by specific amounts. The NumericStepper uses the following beads:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model for the component of type org.apache.flex.core.IRangeModel.
-	 *  org.apache.flex.core.IBeadView: constructs the parts of the component.
-	 *  org.apache.flex.core.IBeadController: handles the input events.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class NumericStepper extends UIBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function NumericStepper()
-		{
-			super();
-		}
-
-        [Bindable("valueChange")]
-		/**
-		 *  The current value of the control.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-
-		/**
-		 *  The minimum value the control will display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get minimum():Number
-		{
-			return IRangeModel(model).minimum;
-		}
-		public function set minimum(value:Number):void
-		{
-			IRangeModel(model).minimum = value;
-		}
-
-		/**
-		 *  The maximum value the control will display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get maximum():Number
-		{
-			return IRangeModel(model).maximum;
-		}
-		public function set maximum(value:Number):void
-		{
-			IRangeModel(model).maximum = value;
-		}
-
-		/**
-		 *  The amount to increase or descrease the value. The value
-		 *  will not exceed the minimum or maximum value. The final
-		 *  value is affected by the snapInterval.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get stepSize():Number
-		{
-			return IRangeModel(model).stepSize;
-		}
-		public function set stepSize(value:Number):void
-		{
-			IRangeModel(model).stepSize = value;
-		}
-
-		/**
-		 *  The modulus for the value. If this property is set,
-		 *  the value displayed with a muliple of the snapInterval.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get snapInterval():Number
-		{
-			return IRangeModel(model).snapInterval;
-		}
-		public function set snapInterval(value:Number):void
-		{
-			IRangeModel(model).snapInterval = value;
-		}
-
-        COMPILE::JS
-        private var input:TextInput;
-
-        COMPILE::JS
-        private var spinner:Spinner;
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            input = new TextInput();
-            input.className = "NumericStepperInput";
-            input.typeNames = "NumericStepperInput";
-            addElement(input);
-            input.positioner.style.display = 'inline-block';
-            input.positioner.style.width = '100px';
-
-            spinner = new Spinner();
-            addElement(spinner);
-
-            /* TODO: ajh move to view and css */
-            spinner.positioner.style.display = 'inline-block';
-            goog.events.listen(spinner, 'valueChange',
-                spinnerChange);
-
-            element.flexjs_wrapper = this;
-            className = 'NumericStepper';
-
-            input.text = String(spinner.value);
-
-            return element;
-        }
-
-        /**
-         * @param event The input event.
-         */
-        COMPILE::JS
-        private function spinnerChange(event:Event):void
-        {
-            var newValue:Number = spinner.value;
-            value = newValue;
-            input.text = String(spinner.value);
-            dispatchEvent(new Event('valueChange'));
-        };
-
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Panel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Panel.as
deleted file mode 100644
index ab3b114..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Panel.as
+++ /dev/null
@@ -1,196 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IPanelModel;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.html.beads.PanelView;
-	import org.apache.flex.events.Event;
-
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-    
-	[Event(name="close", type="org.apache.flex.events.Event")]
-	
-	/**
-	 *  The Panel class is a Container component capable of parenting other
-	 *  components. The Panel has a TitleBar.  If you want to a Panel with
-     *  a ControlBar, use PanelWithControlBar which
-     *  will instantiate, by default, an ControlBar. 
-	 *  The Panel uses the following bead types:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model for the Panel that includes the title and whether
-	 *  or not to display the close button.
-	 *  org.apache.flex.core.IBeadView: creates the parts of the Panel.
-	 *  org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
-	 *  org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
-	 *  
-     *  @toplevel
-	 *  @see PanelWithControlBar
-	 *  @see ControlBar
-	 *  @see TitleBar
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class Panel extends Group
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Panel()
-		{
-			super();
-			
-			className = "Panel";
-		}
-		
-		public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			super.addElement(c, dispatchEvent);
-		}
-		
-		public function get $numElements():Number
-		{
-			return super.numElements;
-		}
-		
-		public function $getElementAt(index:Number):IChild
-		{
-			return super.getElementAt(index);
-		}
-		
-		/**
-		 *  The string to display in the org.apache.flex.html.TitleBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return IPanelModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			IPanelModel(model).title = value;
-		}
-		
-		/**
-		 *  The HTML string to display in the org.apache.flex.html.TitleBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlTitle():String
-		{
-			return IPanelModel(model).htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			IPanelModel(model).htmlTitle = value;
-		}
-		
-		/**
-		 * Whether or not to show a Close button in the org.apache.flex.html.TitleBar.
-		 */
-		public function get showCloseButton():Boolean
-		{
-			return IPanelModel(model).showCloseButton;
-		}
-		public function set showCloseButton(value:Boolean):void
-		{
-			IPanelModel(model).showCloseButton = value;
-		}
-		
-		
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
-		 */
-		override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			var panelView:PanelView = view as PanelView;
-			panelView.contentArea.addElement(c, dispatchEvent);
-			panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
-		}
-		
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
-		 */
-		override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			var panelView:PanelView = view as PanelView;
-			panelView.contentArea.addElementAt(c, index, dispatchEvent);
-			panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
-		}
-		
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
-		 */
-		override public function getElementIndex(c:IChild):int
-		{
-			var panelView:PanelView = view as PanelView;
-			return panelView.contentArea.getElementIndex(c);
-		}
-		
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
-		 */
-		override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			var panelView:PanelView = view as PanelView;
-			panelView.contentArea.removeElement(c, dispatchEvent);
-		}
-		
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
-		 */
-		override public function get numElements():int
-		{
-			var panelView:PanelView = view as PanelView;
-			return panelView.contentArea.numElements;
-		}
-		
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
-		 */
-		override public function getElementAt(index:int):IChild
-		{
-			var panelView:PanelView = view as PanelView;
-			return panelView.contentArea.getElementAt(index);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/PanelWithControlBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
deleted file mode 100644
index d5ff4b1..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
+++ /dev/null
@@ -1,76 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IPanelModel;
-
-	[Event(name="close", type="org.apache.flex.events.Event")]
-	
-	/**
-	 *  The Panel class is a Container component capable of parenting other
-	 *  components. The Panel has a TitleBar and an optional org.apache.flex.html.ControlBar. 
-	 *  The Panel uses the following bead types:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model for the Panel that includes the title and whether
-	 *  or not to display the close button.
-	 *  org.apache.flex.core.IBeadView: creates the parts of the Panel.
-	 *  org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
-	 *  org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class PanelWithControlBar extends Panel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function PanelWithControlBar()
-		{
-			super();
-		}
-		
-		/**
-		 *  The items in the org.apache.flex.html.ControlBar. Setting this property automatically
-		 *  causes the ControlBar to display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get controlBar():Array
-		{
-			return IPanelModel(model).controlBar;
-		}
-		public function set controlBar(value:Array):void
-		{
-            IPanelModel(model).controlBar = value;
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as
deleted file mode 100644
index d50b7d3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as
+++ /dev/null
@@ -1,351 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    COMPILE::SWF
-    {
-        import flash.display.DisplayObject;
-        import flash.events.MouseEvent;
-        import flash.utils.Dictionary;
-    }
-
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IValueToggleButtonModel;
-    COMPILE::SWF
-    {
-        import org.apache.flex.core.UIButtonBase;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.UIBase;
-        import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.html.supportClasses.RadioButtonIcon;
-    }
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.core.IUIBase;
-
-	[Event(name="change", type="org.apache.flex.events.Event")]
-
-	/**
-	 *  The RadioButton class is a component that displays a selectable Button. RadioButtons
-	 *  are typically used in groups, identified by the groupName property. RadioButton use
-	 *  the following beads:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model, which includes the groupName.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the RadioButton..
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-    COMPILE::SWF
-	public class RadioButton extends UIButtonBase implements IStrand
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RadioButton()
-		{
-			super();
-
-			addEventListener(org.apache.flex.events.MouseEvent.CLICK, internalMouseHandler);
-		}
-
-		protected static var dict:Dictionary = new Dictionary(true);
-
-		private var _groupName:String;
-
-		/**
-		 *  The name of the group. Only one RadioButton in a group is selected.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get groupName() : String
-		{
-			return IValueToggleButtonModel(model).groupName;
-		}
-		public function set groupName(value:String) : void
-		{
-			IValueToggleButtonModel(model).groupName = value;
-		}
-
-		/**
-		 *  The string used as a label for the RadioButton.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get text():String
-		{
-			return IValueToggleButtonModel(model).text;
-		}
-		public function set text(value:String):void
-		{
-			IValueToggleButtonModel(model).text = value;
-		}
-
-		/**
-		 *  Whether or not the RadioButton instance is selected. Setting this property
-		 *  causes the currently selected RadioButton in the same group to lose the
-		 *  selection.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selected():Boolean
-		{
-			return IValueToggleButtonModel(model).selected;
-		}
-		public function set selected(selValue:Boolean):void
-		{
-			IValueToggleButtonModel(model).selected = selValue;
-
-			// if this button is being selected, its value should become
-			// its group's selectedValue
-			if( selValue ) {
-				for each(var rb:RadioButton in dict)
-				{
-					if( rb.groupName == groupName )
-					{
-						rb.selectedValue = value;
-					}
-				}
-			}
-		}
-
-		/**
-		 *  The value associated with the RadioButton. For example, RadioButtons with labels,
-		 *  "Red", "Green", and "Blue" might have the values 0, 1, and 2 respectively.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get value():Object
-		{
-			return IValueToggleButtonModel(model).value;
-		}
-		public function set value(newValue:Object):void
-		{
-			IValueToggleButtonModel(model).value = newValue;
-		}
-
-		/**
-		 *  The group's currently selected value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedValue():Object
-		{
-			return IValueToggleButtonModel(model).selectedValue;
-		}
-		public function set selectedValue(newValue:Object):void
-		{
-			// a radio button is really selected when its value matches that of the group's value
-			IValueToggleButtonModel(model).selected = (newValue == value);
-			IValueToggleButtonModel(model).selectedValue = newValue;
-		}
-
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-            super.addedToParent();
-
-            // if this instance is selected, set the local selectedValue to
-			// this instance's value
-			if( selected ) selectedValue = value;
-
-			else {
-
-				// make sure this button's selectedValue is set from its group's selectedValue
-				// to keep it in sync with the rest of the buttons in its group.
-				for each(var rb:RadioButton in dict)
-				{
-					if( rb.groupName == groupName )
-					{
-						selectedValue = rb.selectedValue;
-						break;
-					}
-				}
-			}
-
-			dict[this] = this;
-		}
-
-		/**
-		 * @private
-		 */
-		private function internalMouseHandler(event:org.apache.flex.events.MouseEvent) : void
-		{
-			// prevent radiobutton from being turned off by a click
-			if( !selected ) {
-				selected = !selected;
-				dispatchEvent(new Event("change"));
-			}
-		}
-	}
-
-    COMPILE::JS
-    public class RadioButton extends UIBase
-    {
-        public static var radioCounter:int = 0;
-
-        private var labelFor:HTMLLabelElement;
-        private var textNode:Text;
-        private var icon:RadioButtonIcon;
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         * @flexjsignorecoercion HTMLInputElement
-         * @flexjsignorecoercion HTMLLabelElement
-         * @flexjsignorecoercion Text
-         */
-        override protected function createElement():WrappedHTMLElement
-        {
-            icon = new RadioButtonIcon()
-            icon.id = '_radio_' + RadioButton.radioCounter++;
-
-            textNode = document.createTextNode('radio button') as Text;
-
-            labelFor = document.createElement('label') as HTMLLabelElement;
-            labelFor.appendChild(icon.element);
-            labelFor.appendChild(textNode);
-
-            element = labelFor as WrappedHTMLElement;
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            (element as WrappedHTMLElement).flexjs_wrapper = this;
-            (textNode as WrappedHTMLElement).flexjs_wrapper = this;
-			(icon.element as WrappedHTMLElement).flexjs_wrapper = this;
-
-            className = 'RadioButton';
-            typeNames = 'RadioButton, RadioButtonIcon';
-
-            return element;
-        }
-
-        override public function set id(value:String):void
-        {
-            super.id = value;
-            labelFor.id = value;
-            icon.element.id = value;
-        }
-
-        public function get groupName():String
-        {
-            return (icon.element as HTMLInputElement).name as String;
-        }
-        public function set groupName(value:String):void
-        {
-            (icon.element as HTMLInputElement).name = value;
-        }
-
-        public function get text():String
-        {
-            return textNode.nodeValue as String;
-        }
-        public function set text(value:String):void
-        {
-            textNode.nodeValue = value;
-        }
-
-        /** @export */
-        public function get selected():Boolean
-        {
-            return (icon.element as HTMLInputElement).checked;
-        }
-        public function set selected(value:Boolean):void
-        {
-            (icon.element as HTMLInputElement).checked = value;
-        }
-
-        public function get value():Object
-        {
-            return (icon.element as HTMLInputElement).value;
-        }
-        public function set value(v:Object):void
-        {
-            (icon.element as HTMLInputElement).value = v as String;
-        }
-
-        public function get selectedValue():Object
-        {
-            var buttons:NodeList;
-            var groupName:String;
-            var i:int;
-            var n:int;
-
-            groupName = (icon.element as HTMLInputElement).name as String;
-            buttons = document.getElementsByName(groupName);
-            n = buttons.length;
-
-            for (i = 0; i < n; i++) {
-                if (buttons[i].checked) {
-                    return buttons[i].value;
-                }
-            }
-            return null;
-        }
-
-        /**
-         * @flexjsignorecoercion Array
-         */
-        public function set selectedValue(value:Object):void
-        {
-            var buttons:NodeList;
-            var groupName:String;
-            var i:int;
-            var n:int;
-
-            groupName = (icon.element as HTMLInputElement).name as String;
-            buttons = document.getElementsByName(groupName);
-            n = buttons.length;
-            for (i = 0; i < n; i++) {
-                if (buttons[i].value === value) {
-                    buttons[i].checked = true;
-                    break;
-                }
-            }
-        }
-    }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RangeStepper.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RangeStepper.as
deleted file mode 100644
index aeedb5d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RangeStepper.as
+++ /dev/null
@@ -1,70 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.UIBase;
-
-	/**
-	 *  The RangeStepper control allows for the selection of a single value
-	 *  from multiple choices.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RangeStepper extends UIBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RangeStepper()
-		{
-			super();
-
-			className = "RangeStepper";
-
-			setWidthAndHeight(40, 60, true);
-		}
-
-		/**
-		 *  The value selected or set.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleAlert.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleAlert.as
deleted file mode 100644
index e04b459..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleAlert.as
+++ /dev/null
@@ -1,141 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{	
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IPopUp;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	
-	[Event(name="close", type="org.apache.flex.events.Event")]
-	
-	/**
-	 *  The SimpleAlert class is a component that displays a message and an OK button. The
-	 *  SimpleAlert converts directly to window.alert() for HTML. SimpleAlert uses
-	 *  the following beads:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model, which includes the message.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the Alert.
-	 *  org.apache.flex.core.IBeadController: the bead responsible for handling input events.
-	 *  org.apache.flex.core.IBorderBead: a bead, if present, that draws a border around the control.
-	 *  org.apache.flex.core.IBackgroundBead: a bead, if present, that creates a solid-color background.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SimpleAlert extends UIBase implements IPopUp
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SimpleAlert()
-		{
-			super();
-			
-			className = "SimpleAlert";
-		}
-		
-		/**
-		 *  The message to display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		private function get message():String
-		{
-			return IAlertModel(model).message;
-		}
-		private function set message(value:String):void
-		{
-			IAlertModel(model).message = value;
-		}
-		
-		/**
-		 *  The HTML message to display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		private function get htmlMessage():String
-		{
-			return IAlertModel(model).htmlMessage;
-		}
-		private function set htmlMessage(value:String):void
-		{
-			IAlertModel(model).htmlMessage = value;
-		}
-		
-		/**
-		 *  This function causes the SimpleAlert to appear. The parent is used for ActionScript and
-		 *  identifies the IPopUpParent that manages the alert.
-		 * 
-		 *  @param Object parent The object that hosts the pop-up.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function showAlert(parent:Object) : void
-		{
-			parent.addElement(this);
-		}
-		
-		/**
-		 *  A convenience function to compose and display the alert.
-		 * 
-		 *  @param String message The content to display in the SimpleAlert.
-		 *  @param Object parent The object that hosts the pop-up.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		static public function show(message:String, parent:Object):SimpleAlert
-		{
-            COMPILE::SWF
-            {
-                var alert:SimpleAlert = new SimpleAlert();
-                alert.message = message;
-                alert.showAlert(parent);                    
-                
-                return alert;
-            }
-            COMPILE::JS
-            {
-                alert(message);
-                return null;
-            }
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleList.as
deleted file mode 100644
index 0d254e5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleList.as
+++ /dev/null
@@ -1,80 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	/**
-	 *  The SimpleList class is a component that displays data in a vertical column. This
-	 *  component differs from org.apache.flex.html.List in that it displays
-	 *  only string values and maps to the &lt;select&gt; HTML element.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SimpleList extends List
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SimpleList()
-		{
-			super();
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         * @flexjsignorecoercion HTMLSelectElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('select') as WrappedHTMLElement;
-            (element as HTMLSelectElement).size = 5;
-            goog.events.listen(element, 'change',
-                changeHandler);
-            positioner = element;
-            //positioner.style.position = 'relative';
-            className = 'SimpleList';
-
-            return element;
-        }
-
-        /**
-         * @flexjsignorecoercion HTMLSelectElement
-         */
-        COMPILE::JS
-        protected function changeHandler(event:Event):void
-        {
-            model.selectedIndex = (element as HTMLSelectElement).selectedIndex;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Slider.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Slider.as
deleted file mode 100644
index fc2889b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Slider.as
+++ /dev/null
@@ -1,199 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.UIBase;
-
-    COMPILE::JS
-    {
-        import org.apache.flex.html.beads.controllers.SliderMouseController;
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	[Event(name="valueChange", type="org.apache.flex.events.Event")]
-
-	/**
-	 *  The Slider class is a component that displays a range of values using a
-	 *  track and a thumb control. The Slider uses the following bead types:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model, typically an IRangeModel, that holds the Slider values.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the Slider.
-	 *  org.apache.flex.core.IBeadController: the bead that handles input.
-	 *  org.apache.flex.core.IThumbValue: the bead responsible for the display of the thumb control.
-	 *  org.apache.flex.core.ITrackView: the bead responsible for the display of the track.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class Slider extends UIBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Slider()
-		{
-			super();
-
-			className = "Slider";
-
-			IRangeModel(model).value = 0;
-			IRangeModel(model).minimum = 0;
-			IRangeModel(model).maximum = 100;
-			IRangeModel(model).stepSize = 1;
-			IRangeModel(model).snapInterval = 1;
-		}
-
-		/**
-		 *  The current value of the Slider.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-
-		/**
-		 *  The minimum value of the Slider.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get minimum():Number
-		{
-			return IRangeModel(model).minimum;
-		}
-		public function set minimum(value:Number):void
-		{
-			IRangeModel(model).minimum = value;
-		}
-
-		/**
-		 *  The maximum value of the Slider.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get maximum():Number
-		{
-			return IRangeModel(model).maximum;
-		}
-		public function set maximum(value:Number):void
-		{
-			IRangeModel(model).maximum = value;
-		}
-
-		/**
-		 *  The modulus of the Slider value. The thumb will be positioned
-		 *  at the nearest multiple of this value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get snapInterval():Number
-		{
-			return IRangeModel(model).snapInterval;
-		}
-		public function set snapInterval(value:Number):void
-		{
-			IRangeModel(model).snapInterval = value;
-		}
-
-		/**
-		 *  The amount to move the thumb when the track is selected. This value is
-		 *  adjusted to fit the nearest snapInterval.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get stepSize():Number
-        {
-            return IRangeModel(model).stepSize;
-        }
-        public function set stepSize(value:Number):void
-        {
-            IRangeModel(model).stepSize = value;
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-
-			// just to give it some default values
-            element.style.width = '100px';
-            element.style.height = '30px';
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
-            className = 'Slider';
-
-            return element;
-        }
-
-        /**
-		 * @private
-         */
-        COMPILE::JS
-        public function snap(value:Number):Number
-        {
-            var si:Number = snapInterval;
-            var n:Number = Math.round((value - minimum) / si) *
-                si + minimum;
-            if (value > 0)
-            {
-                if (value - n < n + si - value)
-                    return n;
-                return n + si;
-            }
-            if (value - n > n + si - value)
-                return n + si;
-            return n;
-        }
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spacer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spacer.as
deleted file mode 100644
index cc65cd8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spacer.as
+++ /dev/null
@@ -1,65 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.UIBase;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
-	
-    /**
-     *  The Spacer class takes up space in the UI layout.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */    
-	public class Spacer extends UIBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function Spacer()
-		{
-			super();
-        }
-        
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            this.element = document.createElement('div') as WrappedHTMLElement;
-            this.positioner = this.element;
-            this.element.flexjs_wrapper = this;
-            
-            return element;
-        }        
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spinner.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spinner.as
deleted file mode 100644
index 2cc160e..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spinner.as
+++ /dev/null
@@ -1,167 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.UIBase;
-
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	[Event(name="valueChange", type="org.apache.flex.events.Event")]
-
-	/**
-	 *  The Spinner class is a component that displays a control for incrementing a value
-	 *  and a control for decrementing a value. The org.apache.flex.html.NumericStepper
-	 *  uses a Spinner as part of the component. Spinner uses the following beads:
-	 *
-	 *  org.apache.flex.core.IBeadModel: an IRangeModel to hold the properties.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the Spinner.
-	 *  org.apache.flex.core.IBeadController: a bead that handles the input events.
-	 *
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class Spinner extends UIBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Spinner()
-		{
-			super();
-
-			className = "Spinner";
-		}
-
-		/**
-		 *  The current value of the Spinner.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get value():Number
-		{
-			return IRangeModel(model).value;
-		}
-		public function set value(newValue:Number):void
-		{
-			IRangeModel(model).value = newValue;
-		}
-
-		/**
-		 *  The minimum value of the Spinner.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get minimum():Number
-		{
-			return IRangeModel(model).minimum;
-		}
-		public function set minimum(value:Number):void
-		{
-			IRangeModel(model).minimum = value;
-		}
-
-		/**
-		 *  The maximum value of the Spinner.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get maximum():Number
-		{
-			return IRangeModel(model).maximum;
-		}
-		public function set maximum(value:Number):void
-		{
-			IRangeModel(model).maximum = value;
-		}
-
-		/**
-		 *  The modulus for the value. If this property is set,
-		 *  the value displayed with a muliple of the snapInterval.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get snapInterval():Number
-		{
-			return IRangeModel(model).snapInterval;
-		}
-		public function set snapInterval(value:Number):void
-		{
-			IRangeModel(model).snapInterval = value;
-		}
-
-		/**
-		 *  The amount to increase or descrease the value. The value
-		 *  will not exceed the minimum or maximum value. The final
-		 *  value is affected by the snapInterval.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get stepSize():Number
-		{
-			return IRangeModel(model).stepSize;
-		}
-		public function set stepSize(value:Number):void
-		{
-			IRangeModel(model).stepSize = value;
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            element.style.verticalAlign = 'middle';
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextArea.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextArea.as
deleted file mode 100644
index 2eb9c72..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextArea.as
+++ /dev/null
@@ -1,186 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-    import org.apache.flex.events.Event;
-
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     *  Dispatched when the user changes the text.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.8.0
-     */
-    [Event(name="change", type="org.apache.flex.events.Event")]
-
-    /**
-     *  The TextArea class implements the basic control for
-     *  multi-line text input.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextArea extends UIBase
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextArea()
-		{
-			super();
-
-            COMPILE::SWF
-            {
-                model.addEventListener("textChange", textChangeHandler);
-            }
-		}
-
-        /**
-         *  @copy org.apache.flex.html.Label#text
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion HTMLInputElement
-         */
-        [Bindable(event="change")]
-		public function get text():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).text;
-            }
-            COMPILE::JS
-            {
-                return (element as HTMLInputElement).value;
-            }
-		}
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion HTMLInputElement
-         */
-		public function set text(value:String):void
-		{
-            COMPILE::SWF
-            {
-                inSetter = true;
-                ITextModel(model).text = value;
-                inSetter = false;
-            }
-            COMPILE::JS
-            {
-                (element as HTMLInputElement).value = value;
-                dispatchEvent(new Event('textChange'));
-            }
-		}
-
-        /**
-         *  @copy org.apache.flex.html.Label#html
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        [Bindable(event="change")]
-        public function get html():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).html;
-            }
-            COMPILE::JS
-            {
-                return (element as HTMLInputElement).value;
-            }
-		}
-
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-            COMPILE::SWF
-            {
-                ITextModel(model).html = value;
-            }
-            COMPILE::JS
-            {
-                (element as HTMLInputElement).value = value;
-                dispatchEvent(new Event('textChange'));
-            }
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('textarea') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            goog.events.listen(element, 'input', textChangeHandler);
-
-            element.flexjs_wrapper = this;
-            element.className = 'TextArea';
-            typeNames = 'TextArea';
-
-            return element;
-        }
-
-        private var inSetter:Boolean;
-
-        /**
-         *  dispatch change event in response to a textChange event
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.8.0
-         */
-        public function textChangeHandler(event:Event):void
-        {
-            if (!inSetter)
-            {
-                dispatchEvent(new Event(Event.CHANGE));
-            }
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextButton.as
deleted file mode 100644
index ce2a454..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextButton.as
+++ /dev/null
@@ -1,140 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-
-	COMPILE::JS {
-		import org.apache.flex.core.WrappedHTMLElement;
-	}
-
-    [DefaultProperty("text")]
-        
-    /**
-     *  The TextButton class implements a basic button that
-     *  displays text.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextButton extends Button
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextButton()
-		{
-			super();
-		}
-
-        /**
-         *  @copy org.apache.flex.html.Label#text
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).text;
-            }
-            COMPILE::JS
-            {
-                return element.innerHTML;
-            }
-		}
-
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-            COMPILE::SWF
-            {
-                ITextModel(model).text = value;
-            }
-            COMPILE::JS
-            {
-                this.element.innerHTML = value;
-                this.dispatchEvent('textChange');
-            }
-		}
-
-        /**
-         *  @copy org.apache.flex.html.Label#html
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).html;
-            }
-            COMPILE::JS
-            {
-                return element.innerHTML;
-            }
-		}
-
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-            COMPILE::SWF
-            {
-                ITextModel(model).html = value;
-            }
-            COMPILE::JS
-            {
-                this.element.innerHTML = value;
-                this.dispatchEvent('textChange');
-            }
-		}
-
-		/**
-		 * @private
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		COMPILE::JS
-		override protected function createElement():WrappedHTMLElement
-		{
-			var element:WrappedHTMLElement = super.createElement();
-			className = "TextButton";
-			typeNames = "TextButton";
-			return element;
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextInput.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextInput.as
deleted file mode 100644
index 0a63c95..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextInput.as
+++ /dev/null
@@ -1,188 +0,0 @@
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-    COMPILE::JS
-    {
-        import goog.events;
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	/**
-     *  Dispatched when the user changes the text.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="change", type="org.apache.flex.events.Event")]
-
-    /**
-     *  The TextInput class implements the basic control for
-     *  single-line text input.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextInput extends UIBase
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextInput()
-		{
-			super();
-
-            COMPILE::SWF
-            {
-                model.addEventListener("textChange", textChangeHandler);
-            }
-		}
-
-        /**
-         *  @copy org.apache.flex.html.Label#text
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion HTMLInputElement
-         */
-		[Bindable(event="change")]
-		public function get text():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).text;
-            }
-            COMPILE::JS
-            {
-                return (element as HTMLInputElement).value;
-            }
-		}
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion HTMLInputElement
-         */
-		public function set text(value:String):void
-		{
-            COMPILE::SWF
-            {
-                inSetter = true;
-                ITextModel(model).text = value;
-                inSetter = false;
-            }
-            COMPILE::JS
-            {
-                (element as HTMLInputElement).value = value;
-                dispatchEvent(new Event('textChange'));
-            }
-		}
-
-        /**
-         *  @copy org.apache.flex.html.Label#html
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion HTMLInputElement
-         */
-		[Bindable(event="change")]
-		public function get html():String
-		{
-            COMPILE::SWF
-            {
-                return ITextModel(model).html;
-            }
-            COMPILE::JS
-            {
-                return (element as HTMLInputElement).value;
-            }
-		}
-
-        /**
-         *  @private
-         *  @flexjsignorecoercion HTMLInputElement
-         */
-		public function set html(value:String):void
-		{
-            COMPILE::SWF
-            {
-                ITextModel(model).html = value;
-            }
-            COMPILE::JS
-            {
-                (element as HTMLInputElement).value = value;
-                dispatchEvent(new Event('textChange'));
-            }
-		}
-
-        private var inSetter:Boolean;
-
-		/**
-		 *  dispatch change event in response to a textChange event
-		 *
-		 *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-		 */
-		public function textChangeHandler(event:Event):void
-		{
-            if (!inSetter)
-                dispatchEvent(new Event(Event.CHANGE));
-		}
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('input') as WrappedHTMLElement;
-            element.setAttribute('type', 'text');
-            element.className = 'TextInput';
-            typeNames = 'TextInput';
-
-            //attach input handler to dispatch flexjs change event when user write in textinput
-            //goog.events.listen(element, 'change', killChangeHandler);
-            goog.events.listen(element, 'input', textChangeHandler);
-
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-
-            return element;
-        }
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TitleBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TitleBar.as
deleted file mode 100644
index 2764731..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TitleBar.as
+++ /dev/null
@@ -1,144 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.ITitleBarModel;
-	import org.apache.flex.core.ValuesManager;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;            
-    }
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.Label;
-	
-	/**
-	 *  The TitleBar class is a Container component that displays a title and an
-	 *  optional close button. The TitleBar uses the following bead types:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model, which includes the title and showCloseButton values.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the component.
-	 *  org.apache.flex.core.IBeadLayout: the bead that handles size and position of the component parts 
-	 *  (org.apache.flex.html.Label and org.apache.flex.html.Button).
-	 *  org.apache.flex.core.IMeasurementBead: a bead that helps determine the size of the 
-	 *  org.apache.flex.html.TitleBar for layout.
-	 * 
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TitleBar extends Group implements IChrome
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TitleBar()
-		{
-			super();
-			
-			className = "TitleBar";
-		}
-		
-		/**
-		 *  The title string to display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return ITitleBarModel(model).title;
-		}
-		public function set title(value:String):void
-		{
-			ITitleBarModel(model).title = value;
-		}
-		
-		/**
-		 *  The HTML title to display.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlTitle():String
-		{
-			return ITitleBarModel(model).htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			ITitleBarModel(model).htmlTitle = value;
-		}
-		
-		/**
-		 *  Whether or not to show a org.apache.flex.html.Button that indicates the component
-		 *  may be closed.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get showCloseButton():Boolean
-		{
-			return ITitleBarModel(model).showCloseButton;
-		}
-		public function set showCloseButton(value:Boolean):void
-		{
-			ITitleBarModel(model).showCloseButton = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			if( getBeadByType(IBeadLayout) == null )
-				addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBead);
-		}
-        
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            
-            positioner = element;
-            element.flexjs_wrapper = this;
-            
-            return element;
-        }        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as
deleted file mode 100644
index fb5ff4e..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as
+++ /dev/null
@@ -1,209 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.Event;
-
-    COMPILE::SWF
-    {
-        import flash.events.MouseEvent;
-    }
-
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.events.MouseEvent;
-    }
-
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-
-    /**
-     *  Dispatched when the user clicks on a button.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
-    /**
-     *  Dispatched when ToggleTextButton is being selected/unselected.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="change", type="org.apache.flex.events.Event")]
-
-    /**
-     *  The ToggleButton class is a TextButton that supports
-     *  a selected property.
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ToggleTextButton extends TextButton implements IStrand, IEventDispatcher, IUIBase
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ToggleTextButton()
-		{
-			super();
-            COMPILE::SWF
-            {
-                addEventListener(MouseEvent.CLICK, internalMouseHandler);
-            }
-            COMPILE::JS
-            {
-                this.typeNames = 'toggleTextButton';
-            }
-		}
-
-        COMPILE::JS
-        private var _selected:Boolean = false;
-
-        [Bindable("change")]
-        /**
-         *  <code>true</code> if the Button is selected.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get selected():Boolean
-        {
-            COMPILE::SWF
-            {
-                return IToggleButtonModel(model).selected;
-            }
-            COMPILE::JS
-            {
-                return _selected;
-            }
-        }
-
-        /**
-         *  @private
-         */
-        public function set selected(value:Boolean):void
-        {
-            COMPILE::SWF
-            {
-                IToggleButtonModel(model).selected = value;
-
-                internalSelected();
-
-                dispatchEvent(new Event("change"));
-            }
-            COMPILE::JS
-            {
-                if (_selected != value)
-                {
-                    _selected = value;
-
-                    internalSelected();
-
-                    dispatchEvent(new Event("change"));
-                }
-            }
-        }
-
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            super.createElement();
-            element.addEventListener("click", clickHandler, false);
-            internalSelected();
-
-            return element;
-        }
-
-        COMPILE::JS
-        private function clickHandler(event:Event):void
-        {
-            selected = !selected;
-        }
-
-        COMPILE::SWF
-        private function internalMouseHandler(event:MouseEvent) : void
-        {
-            selected = !selected;
-        }
-
-        private function internalSelected():void
-        {
-            COMPILE::SWF
-            {
-                var name:String = super.className;
-                if (selected)
-                {
-                    className = "toggleTextButton_Selected" + (name ? " " + name : "");
-                }
-                else
-                {
-                    className = "toggleTextButton" + (name ? " " + name : "");
-                }
-            }
-
-            COMPILE::JS
-            {
-                var isToggleTextButtonSelected:Boolean = element.classList.contains("toggleTextButton_Selected");
-                if (!isToggleTextButtonSelected && _selected == true)
-                {
-                    element.classList.add("toggleTextButton_Selected");
-                }
-                else if (isToggleTextButtonSelected && _selected == false)
-                {
-                    element.classList.toggle("toggleTextButton_Selected");
-                }
-
-                var isToggleTextButton:Boolean = element.classList.contains("toggleTextButton");
-                if (!isToggleTextButton && _selected == false)
-                {
-                    element.classList.add("toggleTextButton");
-                }
-                else if (isToggleTextButton && _selected == true)
-                {
-                    element.classList.toggle("toggleTextButton");
-                }
-
-                typeNames = element.className;
-            }
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToolTip.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToolTip.as
deleted file mode 100644
index c7e3cb8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToolTip.as
+++ /dev/null
@@ -1,61 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/*
-	 *  Label probably should extend TextField directly,
-	 *  but the player's APIs for TextLine do not allow
-	 *  direct instantiation, and we might want to allow
-	 *  Labels to be declared and have their actual
-	 *  view be swapped out.
-	 */
-
-    /**
-     *  The Label class implements the basic control for labeling
-     *  other controls.  
-     *  
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */    
-    public class ToolTip extends Label
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ToolTip()
-		{
-			super();
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Tree.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Tree.as
deleted file mode 100644
index 92ad0ac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Tree.as
+++ /dev/null
@@ -1,74 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.collections.FlattenedList;
-	import org.apache.flex.collections.HierarchicalData;
-
-	/**
-	 *  The Tree component displays structured data. The Tree uses a HierarchicalData
-	 *  object as its data provider. 
-	 * 
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class Tree extends List
-	{
-		/**
-		 * Constructor.
-		 * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Tree()
-		{
-			super();
-		}
-
-		private var _hierarchicalData:HierarchicalData;
-		private var _flatList:FlattenedList;
-
-		/**
-		 * The dataProvider should be of type HierarchicalData.
-		 * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 *  @see org.apache.flex.collections.HierarchicalData.
-		 */
-		override public function get dataProvider():Object
-		{
-			return _hierarchicalData;
-		}
-		override public function set dataProvider(value:Object):void
-		{
-			_hierarchicalData = value as HierarchicalData;
-
-			_flatList = new FlattenedList(_hierarchicalData);
-
-			super.dataProvider = _flatList;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VContainer.as
deleted file mode 100644
index 13df0e8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VContainer.as
+++ /dev/null
@@ -1,63 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.ContainerBase;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-	
-	[DefaultProperty("mxmlContent")]
-    
-    /**
-     *  A Container that has a VerticalLayout.
-     * 
-     *  This is effectively the same as the pattern
-     *  <code>
-     *  <basic:Container xmlns:basic="library://ns.apache.org/flexjs/basic">
-     *    <basic:layout>
-     *       <basic:VerticalLayout />
-     *    </basic:layout>
-     *  </basic:Container>
-     *  </code>
-     *  
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */    
-	public class VContainer extends Container
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VContainer()
-		{
-			super();
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VRule.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VRule.as
deleted file mode 100644
index bdf05eb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VRule.as
+++ /dev/null
@@ -1,69 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	import org.apache.flex.core.UIBase;
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     *  The VRule class displays a vertical line
-     *
-     *  @toplevel
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class VRule extends UIBase
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VRule()
-		{
-			super();
-        }
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('div') as WrappedHTMLElement;
-            element.style.borderLeftStyle = 'solid';
-            element.style.borderLeftWidth = '1px';
-            element.style.borderTop = 'none';
-            element.style.borderBottom = 'none';
-            element.style.borderRight = 'none';
-            positioner = element;
-            //positioner.style.position = 'relative';
-            element.flexjs_wrapper = this;
-            return element;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/WebBrowser.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/WebBrowser.as
deleted file mode 100644
index 326652b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/WebBrowser.as
+++ /dev/null
@@ -1,146 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-	COMPILE::SWF {
-		import flash.events.Event;
-		import flash.html.HTMLLoader;
-		import flash.net.URLRequest;
-
-		import org.apache.flex.events.utils.IHandlesOriginalEvent;
-	}
-	COMPILE::JS
-	{
-		import org.apache.flex.core.WrappedHTMLElement;
-	}
-
-	import org.apache.flex.core.UIBase
-	import org.apache.flex.html.beads.models.WebBrowserModel;
-
-	/**
-	 * Dispatched whenever the WebBrowser's location has been changed.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	[Event(name="locationChanged", type="org.apache.flex.events.Event")]
-
-	/**
-	 * The WebBrowser provides a space in which to display a web page within
-	 * a FlexJS application. Use the url property to change the location of
-	 * the web page being displayed.
-	 *  
-     *  @toplevel
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	COMPILE::SWF
-	public class WebBrowser extends UIBase implements IHandlesOriginalEvent
-	{
-		/**
-		 * Constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function WebBrowser()
-		{
-			super();
-		}
-
-		/**
-		 * The location of the web page to display. Security restrictions may
-		 * apply.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get url():String
-		{
-			return (model as WebBrowserModel).url;
-		}
-
-		public function set url(value:String):void
-		{
-			(model as WebBrowserModel).url = value;
-		}
-	}
-
-	COMPILE::JS
-	public class WebBrowser extends UIBase
-	{
-		/**
-		 * Constructor
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function WebBrowser()
-		{
-			super();
-		}
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		override protected function createElement():WrappedHTMLElement
-		{
-			element = document.createElement('iframe') as WrappedHTMLElement;
-			element.flexjs_wrapper = this;
-
-			var iframe:HTMLIFrameElement = element as HTMLIFrameElement;
-			iframe.frameBorder = "0";
-			iframe.src = "JavaScript:''";
-			iframe.sandbox = "allow-top-navigation allow-forms allow-scripts";
-
-			positioner = element;
-
-			return element;
-		}
-		
-		/**
-		 * The location of the web page to display. Security restrictions may
-		 * apply.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get url():String
-		{
-			return (model as WebBrowserModel).url;
-		}
-
-		public function set url(value:String):void
-		{
-			(model as WebBrowserModel).url = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
deleted file mode 100644
index 1a1e019..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
+++ /dev/null
@@ -1,202 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
-	COMPILE::JS
-	{
-		import goog.events.BrowserEvent;
-	}
-	COMPILE::SWF
-	{
-		import flash.events.TextEvent;
-		import flash.text.TextField;
-		
-		import org.apache.flex.core.CSSTextField;			
-	}
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.ITextFieldView;			
-	}
-	
-	/**
-	 *  The NumericOnlyTextInputBead class is a specialty bead that can be used with
-	 *  any TextInput control. The bead prevents non-numeric entry into the text input
-	 *  area.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class NumericOnlyTextInputBead implements IBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function NumericOnlyTextInputBead()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			COMPILE::SWF
-			{
-				IEventDispatcher(value).addEventListener("beadsAdded",beadsAddedHandler);					
-			}
-			COMPILE::JS
-			{
-				var host:UIBase = _strand as UIBase;
-				host.element.addEventListener("keypress", validateInput, false);
-			}
-		}
-		
-		private var _decimalSeparator:String = ".";
-		
-		/**
-		 *  The character used to separate the integer and fraction parts of numbers.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get decimalSeparator():String
-		{
-			return _decimalSeparator;
-		}
-		public function set decimalSeparator(value:String):void
-		{
-			if (_decimalSeparator != value) {
-				_decimalSeparator = value;
-			}
-		}
-		
-        private var _maxChars:int = 0;
-        
-        /**
-         *  The character used to separate the integer and fraction parts of numbers.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxChars():int
-        {
-            return _maxChars;
-        }
-        public function set maxChars(value:int):void
-        {
-            if (_maxChars != value) {
-                _maxChars = value;
-            }
-        }
-
-        /**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function beadsAddedHandler(event:Event):void
-		{			
-			// get the ITextFieldView bead, which is required for this bead to work
-			var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
-			if (textView) {
-				var textField:CSSTextField = textView.textField;
-				textField.restrict = "0-9" + decimalSeparator;
-				textField.maxChars = maxChars;
-				// listen for changes to this textField and prevent non-numeric values, such
-				// as 34.09.94
-				textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput);
-			}
-			else {
-				throw new Error("NumericOnlyTextInputBead requires strand to have an ITextFieldView bead");
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function handleTextInput(event:TextEvent):void
-		{
-			var insert:String = event.text;
-			var caretIndex:int = (event.target as TextField).caretIndex;
-			var current:String = (event.target as TextField).text;
-			var value:String = current.substring(0,caretIndex) + insert + current.substr(caretIndex);
-			var n:Number = Number(value);
-			if (isNaN(n)) event.preventDefault();
-		}
-		
-		COMPILE::JS
-		private function validateInput(event:BrowserEvent):void
-		{
-			var code:int = event.charCode;
-			
-			// backspace or delete
-			if (event.keyCode == 8 || event.keyCode == 46) return;
-			
-			// tab or return/enter
-			if (event.keyCode == 9 || event.keyCode == 13) return;
-			
-			// left or right cursor arrow
-			if (event.keyCode == 37 || event.keyCode == 39) return;
-			
-			var key:String = String.fromCharCode(code);
-			
-			var regex:RegExp = /[0-9]|\./;
-			if (!regex.test(key)) {
-				event["returnValue"] = false;
-				if (event.preventDefault) event.preventDefault();
-				return;
-			}
-			var cursorStart:int = event.target.selectionStart;
-			var cursorEnd:int = event.target.selectionEnd;
-			var left:String = event.target.value.substring(0, cursorStart);
-			var right:String = event.target.value.substr(cursorEnd);
-			var complete:String = left + key + right;
-			if (isNaN(parseFloat(complete))) {
-				event["returnValue"] = false;
-				if (event.preventDefault) event.preventDefault();
-			}
-
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/PasswordInputBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/PasswordInputBead.as
deleted file mode 100644
index b0c835c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/PasswordInputBead.as
+++ /dev/null
@@ -1,102 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
-	COMPILE::SWF
-	{
-		import org.apache.flex.core.CSSTextField;			
-	}
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	COMPILE::SWF
-	{
-		import org.apache.flex.html.beads.ITextFieldView;
-	}
-	
-	/**
-	 *  The PasswordInput class is a specialty bead that can be used with
-	 *  any TextInput control. The bead secures the text input area by masking
-	 *  the input as it is typed.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class PasswordInputBead implements IBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function PasswordInputBead()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			COMPILE::SWF
-			{
-				IEventDispatcher(value).addEventListener("beadsAdded",beadsAddedHandler);					
-			}
-			COMPILE::JS
-			{
-				var host:UIBase = value as UIBase;
-				var e:HTMLInputElement = host.element as HTMLInputElement;
-				e.type = 'password';
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function beadsAddedHandler(event:Event):void
-		{			
-			// get the ITextFieldView bead, which is required for this bead to work
-			var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
-			if (textView) {
-				var textField:CSSTextField = textView.textField;
-				textField.displayAsPassword = true;
-			}
-			else {
-				throw new Error("PasswordInputBead requires strand to have a TextInputView bead");
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
deleted file mode 100644
index d22cc9a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
+++ /dev/null
@@ -1,153 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
-	COMPILE::SWF
-	{
-		import flash.text.TextFieldType;
-		import flash.text.TextField;
-		
-		import org.apache.flex.core.CSSTextField;
-	}
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  The TextPromptBead class is a specialty bead that can be used with
-	 *  any TextInput control. The bead places a string into the input field
-	 *  when there is no value associated with the text property.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TextPromptBead implements IBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TextPromptBead()
-		{
-		}
-		
-		private var _prompt:String;
-		
-		/**
-		 *  The string to use as the placeholder prompt.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get prompt():String
-		{
-			return _prompt;
-		}
-		public function set prompt(value:String):void
-		{
-			_prompt = value;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 *  @flexjsignorecoercion HTMLInputElement
-		 *  @flexjsignorecoercion org.apache.flex.core.UIBase;
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			COMPILE::SWF
-			{
-				// listen for changes in text to hide or show the prompt
-				var model:Object = UIBase(_strand).model;
-				if (!model.hasOwnProperty("text")) {
-					throw new Error("Model requires a text property when used with TextPromptBead");
-				}
-				IEventDispatcher(model).addEventListener("textChange", handleTextChange);
-				
-				// create a TextField that displays the prompt - it shows
-				// and hides based on the model's content
-				promptField = new TextField();
-				promptField.selectable = false;
-				promptField.type = TextFieldType.DYNAMIC;
-				promptField.mouseEnabled = false;
-				promptField.multiline = false;
-				promptField.wordWrap = false;
-				promptField.textColor = 0xBBBBBB;
-				
-				// trigger the event handler to display if needed
-				handleTextChange(null);					
-			}
-			COMPILE::JS
-			{
-				var host:UIBase = value as UIBase;
-				var e:HTMLInputElement = host.element as HTMLInputElement;
-				e.placeholder = prompt;
-			}
-		}
-		
-		COMPILE::SWF
-		private var promptField:TextField;
-		private var promptAdded:Boolean;
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function handleTextChange( event:Event ):void
-		{	
-			// see what the model currently has to determine if the prompt should be
-			// displayed or not.
-			var model:Object = UIBase(_strand).model;
-			
-			if (model.text != null && model.text.length > 0 ) {
-				if (promptAdded) UIBase(_strand).$displayObjectContainer.removeChild(promptField);
-				promptAdded = false;
-			}
-			else {
-				if (!promptAdded) UIBase(_strand).$displayObjectContainer.addChild(promptField);
-				promptField.text = prompt;
-				promptAdded = true;
-				promptField.x = 2;
-				promptField.y = 2;
-				promptField.width = UIBase(_strand).width-5;
-				promptField.height = UIBase(_strand).height-4;
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/ToolTipBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/ToolTipBead.as
deleted file mode 100644
index 64d04bf..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/ToolTipBead.as
+++ /dev/null
@@ -1,141 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.utils.MouseUtils;
-	import org.apache.flex.geom.Point;
-	import org.apache.flex.html.ToolTip;
-	import org.apache.flex.utils.PointUtils;
-	import org.apache.flex.utils.UIUtils;
-	
-	/**
-	 *  The ToolTipBead class is a specialty bead that can be used with
-	 *  any control. The bead floats a string over a control if
-     *  the user hovers over the control with a mouse.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ToolTipBead implements IBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ToolTipBead()
-		{
-		}
-		
-		private var _toolTip:String;
-		
-		/**
-		 *  The string to use as the toolTip.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get toolTip():String
-		{
-			return _toolTip;
-		}
-		public function set toolTip(value:String):void
-		{
-            _toolTip = value;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-            IEventDispatcher(_strand).addEventListener(MouseEvent.MOUSE_OVER, rollOverHandler, false);
-		}
-		
-        private var tt:ToolTip;
-        private var host:IPopUpHost;
-        
-		/**
-		 * @private
-		 */
-		protected function rollOverHandler( event:MouseEvent ):void
-		{	
-            IEventDispatcher(_strand).addEventListener(MouseEvent.MOUSE_OUT, rollOutHandler, false);
-            
-            var comp:IUIBase = _strand as IUIBase
-            host = UIUtils.findPopUpHost(comp);
-			if (tt) host.removeElement(tt);
-			
-            tt = new ToolTip();
-            tt.text = toolTip;
-            var pt:Point = determinePosition(event, event.target);
-            tt.x = pt.x;
-            tt.y = pt.y;
-            host.addElement(tt, false); // don't trigger a layout
-		}
-		
-		/**
-		 * @private
-		 * Determines the position of the toolTip.
-		 */
-		protected function determinePosition(event:MouseEvent, base:Object):Point
-		{
-			var comp:IUIBase = _strand as IUIBase;
-			var pt:Point = new Point(comp.width, comp.height);
-			pt = PointUtils.localToGlobal(pt, comp);
-			return pt;
-		}
-        
-        /**
-         * @private
-         */
-        private function rollOutHandler( event:MouseEvent ):void
-        {	
-            if (tt) {
-                host.removeElement(tt);
-			}
-            tt = null;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertMeasurementBead.as
deleted file mode 100644
index dbe6c05..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertMeasurementBead.as
+++ /dev/null
@@ -1,88 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	
-	/**
-	 *  The AlertMeasureBead class provides boundary measurements for an 
-	 *  org.apache.flex.html.Alert component.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class AlertMeasurementBead implements IMeasurementBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function AlertMeasurementBead()
-		{
-		}
-		
-		/**
-		 *  Returns the overall width of the org.apache.flex.html.Alert component.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredWidth():Number
-		{
-			return 0;
-		}
-		
-		/**
-		 *  Returns the overall height of the org.apache.flex.html.Alert component.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredHeight():Number
-		{
-			return 0;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertView.as
deleted file mode 100644
index ed81898..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertView.as
+++ /dev/null
@@ -1,228 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IMeasurementBead;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.html.Alert;
-	import org.apache.flex.html.ControlBar;
-    import org.apache.flex.html.Label;
-	import org.apache.flex.html.TextButton;
-	import org.apache.flex.html.TitleBar;
-	import org.apache.flex.utils.CSSContainerUtils;
-	
-	/**
-	 *  The AlertView class creates the visual elements of the org.apache.flex.html.Alert
-	 *  component. The job of the view bead is to put together the parts of the Alert, such as the 
-	 *  title bar, message, and various buttons, within the space of the Alert component strand.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class AlertView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function AlertView()
-		{
-		}
-		
-		private var _titleBar:TitleBar;
-		private var _controlBar:ControlBar;
-		private var _label:Label;
-		private var _okButton:TextButton;
-		private var _cancelButton:TextButton;
-		private var _yesButton:TextButton;
-		private var _noButton:TextButton;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-
-            var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (value.getBeadByType(IBackgroundBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
-			}
-			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (value.getBeadByType(IBorderBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
-			}
-			
-			var flags:uint = IAlertModel(UIBase(_strand).model).flags;
-			if( flags & Alert.OK ) {
-				_okButton = new TextButton();
-				_okButton.text = IAlertModel(UIBase(_strand).model).okLabel;
-				_okButton.addEventListener("click",handleOK);
-			}
-			if( flags & Alert.CANCEL ) {
-				_cancelButton = new TextButton();
-				_cancelButton.text = IAlertModel(UIBase(_strand).model).cancelLabel;
-				_cancelButton.addEventListener("click",handleCancel);
-			}
-			if( flags & Alert.YES ) {
-				_yesButton = new TextButton();
-				_yesButton.text = IAlertModel(UIBase(_strand).model).yesLabel;
-				_yesButton.addEventListener("click",handleYes);
-			}
-			if( flags & Alert.NO ) {
-				_noButton = new TextButton();
-				_noButton.text = IAlertModel(UIBase(_strand).model).noLabel;
-				_noButton.addEventListener("click",handleNo);
-			}
-			
-			_titleBar = new TitleBar();
-			_titleBar.title = IAlertModel(UIBase(_strand).model).title;
-			
-			_label = new Label();
-			_label.text = IAlertModel(UIBase(_strand).model).message;
-			
-			_controlBar = new ControlBar();
-			if( _okButton ) _controlBar.addElement(_okButton);
-			if( _cancelButton ) _controlBar.addElement(_cancelButton);
-			if( _yesButton  ) _controlBar.addElement(_yesButton);
-			if( _noButton ) _controlBar.addElement(_noButton);
-			
-		    IParent(_strand).addElement(_titleBar);
-            IParent(_strand).addElement(_controlBar);
-            IParent(_strand).addElement(_label);
-			
-			sizeHandler(null);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function sizeHandler(event:Event):void
-		{
-			var labelMeasure:IMeasurementBead = _label.measurementBead;
-			var titleMeasure:IMeasurementBead = _titleBar.measurementBead;
-			var ctrlMeasure:IMeasurementBead  = _controlBar.measurementBead;
-			var maxWidth:Number = Math.max(titleMeasure.measuredWidth, ctrlMeasure.measuredWidth, labelMeasure.measuredWidth);
-			
-			var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-
-			_titleBar.x = 0;
-			_titleBar.y = 0;
-			_titleBar.width = maxWidth;
-			_titleBar.height = 25;
-			_titleBar.dispatchEvent(new Event("layoutNeeded"));
-			
-			// content placement here
-			_label.x = metrics.left;
-			_label.y = _titleBar.y + _titleBar.height + metrics.top;
-			_label.width = maxWidth - metrics.left - metrics.right;
-			
-			_controlBar.x = 0;
-			_controlBar.y = _titleBar.height + _label.y + _label.height + metrics.bottom;
-			_controlBar.width = maxWidth;
-			_controlBar.height = 25;
-			_controlBar.dispatchEvent(new Event("layoutNeeded"));
-			
-			UIBase(_strand).width = maxWidth;
-			UIBase(_strand).height = _titleBar.height + _label.height + _controlBar.height + metrics.top + metrics.bottom;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleOK(event:MouseEvent):void
-		{
-			// create some custom event where the detail value
-			// is the OK button flag. Do same for other event handlers
-			dispatchCloseEvent(Alert.OK);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleCancel(event:MouseEvent):void
-		{
-			dispatchCloseEvent(Alert.CANCEL);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleYes(event:MouseEvent):void
-		{
-			dispatchCloseEvent(Alert.YES);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleNo(event:MouseEvent):void
-		{
-			dispatchCloseEvent(Alert.NO);
-		}
-		
-		/**
-		 * @private
-		 */
-		public function dispatchCloseEvent(buttonFlag:uint):void
-		{
-			// TO DO: buttonFlag should be part of the event
-			var newEvent:Event = new Event("close",true);
-			IEventDispatcher(_strand).dispatchEvent(newEvent);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as
deleted file mode 100644
index e25628a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as
+++ /dev/null
@@ -1,112 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Bitmap;
-	import flash.display.Loader;
-	import flash.display.LoaderInfo;
-	import flash.display.Sprite;
-	import flash.events.Event;
-	import flash.events.IOErrorEvent;
-	import flash.net.URLRequest;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	
-	/**
-	 *  The BackgroundImageBead is used to render an image as the background to any component
-	 *  that supports it, such as Container.
-	 * 
-	 *  Note that this bead is for ActionScript only since CSS/HTML allows this just by specifying
-	 *  a background image in the style selector. To use this bead, place a ClassReference to it
-	 *  within @media -flex-flash { } group in the CSS declarations.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class BackgroundImageBead implements IBead, IBackgroundBead
-	{
-		/**
-		 *  Constructor
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function BackgroundImageBead()
-		{
-			backgroundSprite = new Sprite();
-		}
-		
-		private var _strand:IStrand;
-		private var backgroundSprite:Sprite;
-		private var bitmap:Bitmap;
-		private var loader:Loader;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			setupBackground(backgroundSprite);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function setupBackground(sprite:Sprite, state:String = null):void
-		{
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
-			if (backgroundImage)
-			{
-				loader = new Loader();
-				var url:String = backgroundImage as String;
-				loader.load(new URLRequest(url));
-				loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
-					trace(e);
-					e.preventDefault();
-				});
-				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-					var host:UIBase = UIBase(_strand);
-					if (bitmap) {
-						host.$displayObjectContainer.removeChild(bitmap);
-					}
-					
-					bitmap = Bitmap(LoaderInfo(e.target).content);
-					
-					host.$displayObjectContainer.addChildAt(bitmap,0);
-					
-					if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
-						host.setWidth(loader.content.width);
-					else
-						bitmap.width = UIBase(_strand).width;
-					
-					if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
-						host.setHeight(loader.content.height);
-					else
-						bitmap.height = UIBase(_strand).height;
-				});
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ButtonBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ButtonBarView.as
deleted file mode 100644
index 712bac8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ButtonBarView.as
+++ /dev/null
@@ -1,70 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.supportClasses.Border;
-
-	/**
-	 *  The ButtonBarView class creates the visual elements of the org.apache.flex.html.ButtonBar 
-	 *  component. A ButtonBar is a type of List and ButtonBarView extends the ListView bead, adding a border.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ButtonBarView extends ListView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ButtonBarView()
-		{
-			super();
-		}
-				
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			super.strand = value;
-		}		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
deleted file mode 100644
index cc864e4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
+++ /dev/null
@@ -1,171 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import flash.display.Loader;
-    import flash.display.Shape;
-    import flash.display.SimpleButton;
-    import flash.display.Sprite;
-    import flash.events.Event;
-    import flash.net.URLRequest;
-    
-    import org.apache.flex.core.BeadViewBase;
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.ITextModel;
-    import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.utils.CSSBorderUtils;
-    import org.apache.flex.utils.CSSUtils;
-    import org.apache.flex.utils.StringTrimmer;
-
-    /**
-     *  The CSSButtonView class is the default view for
-     *  the org.apache.flex.html.Button class.
-     *  It allows the look of the button to be expressed
-     *  in CSS via the background-image style.  This view
-     *  does not display text.  Use CSSTextButtonView and
-     *  TextButton instead.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CSSButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CSSButtonView()
-		{
-			upSprite = new Sprite();
-			downSprite = new Sprite();
-			overSprite = new Sprite();
-		}
-		
-		private var textModel:ITextModel;
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upSprite;
-			button.downState = downSprite;
-			button.overState = overSprite;
-			button.hitTestState = shape;
-
-            setupBackground(overSprite, "hover");
-            setupBackground(downSprite, "active");
-            setupBackground(upSprite);
-            
-            IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-	
-        private function sizeChangeHandler(event:org.apache.flex.events.Event):void
-        {
-            setupSkins();
-        }
-        
-        protected function setupSkins():void
-        {
-            setupSkin(overSprite, "hover");
-            setupSkin(downSprite, "active");
-            setupSkin(upSprite);
-            updateHitArea();
-        }
-
-		private function setupSkin(sprite:Sprite, state:String = null):void
-		{
-            var host:IUIBase = IUIBase(_strand);
-			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-			var paddingLeft:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
-			var paddingRight:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
-			var paddingTop:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
-			var paddingBottom:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
-			var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, host.width);
-            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, host.width);
-            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, host.height);
-            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, host.height);
-			
-		    CSSBorderUtils.draw(sprite.graphics, 
-					host.width + pl + pr, 
-					host.height + pt + pb,
-                    _strand,
-                    state, true);
-		}
-		
-        private function setupBackground(sprite:Sprite, state:String = null):void
-        {
-            var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
-            if (backgroundImage)
-            {
-                var loader:Loader = new Loader();
-                sprite.addChildAt(loader, 0);
-                var url:String = backgroundImage as String;
-                loader.load(new URLRequest(url));
-                loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-                    setupSkin(sprite, state);
-                    updateHitArea();
-                });
-            }
-            else {
-                setupSkin(sprite, state);
-                updateHitArea();
-            }
-        }
-        
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-				
-		private function updateHitArea():void
-		{
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
-			shape.graphics.endFill();
-			
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
deleted file mode 100644
index 6b4a844..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
+++ /dev/null
@@ -1,373 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Loader;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.events.Event;
-	import flash.net.URLRequest;
-	import flash.text.TextField;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.TextButton;
-	import org.apache.flex.html.beads.models.ImageAndTextModel;
-	import org.apache.flex.utils.CSSUtils;
-	import org.apache.flex.utils.SolidBorderUtil;
-	import org.apache.flex.utils.StringTrimmer;
-
-    /**
-     *  The CSSTextButtonView class is the default view for
-     *  the org.apache.flex.html.TextButton class.
-     *  It allows the look of the button to be expressed
-     *  in CSS via the background-image style and displays
-     *  a text label.  This view does not support right-to-left
-     *  text.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CSSImageAndTextButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CSSImageAndTextButtonView()
-		{
-			upSprite = new Sprite();
-			downSprite = new Sprite();
-			overSprite = new Sprite();
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-			overTextField.type = TextFieldType.DYNAMIC;
-			upTextField.autoSize = "left";
-			downTextField.autoSize = "left";
-			overTextField.autoSize = "left";
-			upSprite.addChild(upTextField);
-			downSprite.addChild(downTextField);
-			overSprite.addChild(overTextField);
-		}
-		
-		private var textModel:ImageAndTextModel;
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			textModel = value.getBeadByType(ImageAndTextModel) as ImageAndTextModel;
-			textModel.addEventListener("textChange", textChangeHandler);
-			textModel.addEventListener("htmlChange", htmlChangeHandler);
-            textModel.addEventListener("imageChange", imageChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-            upTextField.styleParent = _strand;
-            downTextField.styleParent = _strand;
-            overTextField.styleParent = _strand;
-            upTextField.parentDrawsBackground = true;
-            downTextField.parentDrawsBackground = true;
-            overTextField.parentDrawsBackground = true;
-            upTextField.parentHandlesPadding = true;
-            downTextField.parentHandlesPadding = true;
-            overTextField.parentHandlesPadding = true;
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upSprite;
-			button.downState = downSprite;
-			button.overState = overSprite;
-			button.hitTestState = shape;
-			if (textModel.text !== null)
-				text = textModel.text;
-			if (textModel.html !== null)
-				html = textModel.html;
-
-            setupSkins();
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("sizeChanged",sizeChangeHandler);
-		}
-	
-        protected function setupSkins():void
-        {
-            setupSkin(overSprite, overTextField, "hover");
-            setupSkin(downSprite, downTextField, "active");
-            setupSkin(upSprite, upTextField);
-            updateHitArea();
-        }
-        
-		private function setupSkin(sprite:Sprite, textField:CSSTextField, state:String = null):void
-		{
-            var host:IUIBase = IUIBase(_strand);
-			var sw:uint = host.width;
-			var sh:uint = host.height;
-			
-			textField.defaultTextFormat.leftMargin = 0;
-			textField.defaultTextFormat.rightMargin = 0;
-            // set it again so it gets noticed
-			textField.defaultTextFormat = textField.defaultTextFormat;
-            
-			var borderColor:uint;
-			var borderThickness:uint;
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
-			if (borderStyles is Array)
-			{
-				borderColor = CSSUtils.toColor(borderStyles[2]);
-				borderStyle = borderStyles[1];
-				borderThickness = borderStyles[0];
-			}
-            else if (borderStyles is String)
-                borderStyle = borderStyles as String;
-			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
-			if (value != null)
-				borderStyle = value as String;
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
-			if (value != null)
-				borderColor = CSSUtils.toColor(value);
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-width", state);
-			if (value != null)
-				borderThickness = value as uint;
-            if (borderStyle == "none")
-            {
-                borderStyle = "solid";
-                borderThickness = 0;
-            }
-            
-            var borderRadius:String;
-            var borderEllipseWidth:Number = NaN;
-            var borderEllipseHeight:Number = NaN;
-            value = ValuesManager.valuesImpl.getValue(_strand, "border-radius", state);
-            if (value != null)
-            {
-                if (value is Number)
-                    borderEllipseWidth = 2 * (value as Number);
-                else
-                {
-                    borderRadius = value as String;
-                    var arr:Array = StringTrimmer.splitAndTrim(borderRadius, "/");
-                    borderEllipseWidth = 2 * CSSUtils.toNumber(arr[0]);
-                    if (arr.length > 1)
-                        borderEllipseHeight = 2 * CSSUtils.toNumber(arr[1]);
-                } 
-            }
-
-			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-			var paddingLeft:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
-			var paddingRight:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
-			var paddingTop:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
-			var paddingBottom:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
-            var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, host.width);
-            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, host.width);
-            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, host.height);
-            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, host.height);
-            
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
-            var bgColor:uint;
-            var bgAlpha:Number = 1;
-            if (backgroundColor != null)
-            {
-                bgColor = CSSUtils.toColorWithAlpha(backgroundColor);
-                if (bgColor & 0xFF000000)
-                {
-                    bgAlpha = bgColor >>> 24 / 255;
-                    bgColor = bgColor & 0xFFFFFF;
-                }
-            }
-			if (borderStyle == "solid")
-			{
-				var useWidth:Number = Math.max(sw,textField.textWidth);
-				var useHeight:Number = Math.max(sh,textField.textHeight);
-				
-				if ((useWidth-pl-pr-2*borderThickness) < textField.textWidth) 
-					useWidth = textField.textWidth+pl+pr+2*borderThickness;
-				if ((useHeight-pt-pb-2*borderThickness) < textField.textHeight) 
-					useHeight = textField.textHeight+pt+pb+2*borderThickness;
-				
-                sprite.graphics.clear();
-				SolidBorderUtil.drawBorder(sprite.graphics, 
-					0, 0, useWidth, useHeight,
-					borderColor, backgroundColor == null ? null : bgColor, borderThickness, bgAlpha,
-                    borderEllipseWidth, borderEllipseHeight);
-				textField.y = ((useHeight - textField.textHeight) / 2) - 2;
-				textField.x = ((useWidth - textField.textWidth) / 2) - 2;
-			}			
-            var backgroundImage:Object = image;
-            if (backgroundImage)
-            {
-                var loader:Loader = new Loader();
-                sprite.addChildAt(loader, 0);
-                sprite.addChild(textField);
-                var url:String = backgroundImage as String;
-                loader.load(new URLRequest(url));
-                loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-                    updateHitArea();
-                    loader.x = pl;
-                    textField.x = loader.width + pl;
-                    textField.y = pt;
-                    loader.y = (textField.height + pt + pb - loader.height) / 2;
-                    sprite.graphics.clear();
-                    SolidBorderUtil.drawBorder(sprite.graphics, 
-                        0, 0, textField.x + textField.width + pr + borderThickness, 
-                        textField.y + textField.height + pb + borderThickness,
-                        borderColor, backgroundColor == null ? null : bgColor, borderThickness, bgAlpha,
-                        borderEllipseWidth, borderEllipseHeight);
-                });
-            }
-			var textColor:Object = ValuesManager.valuesImpl.getValue(_strand, "color", state);
-			if (textColor) {
-				textField.textColor = Number(textColor);
-			}
-		}
-				
-		private function textChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			text = textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			html = textModel.html;
-		}
-		
-		private function sizeChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			setupSkins();
-		}
-		
-		private var upTextField:CSSTextField;
-		private var downTextField:CSSTextField;
-		private var overTextField:CSSTextField;
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		
-        /**
-         *  The URL of an icon to use in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get image():String
-        {
-            return textModel.image;
-        }
-        
-        private function imageChangeHandler(event:org.apache.flex.events.Event):void
-        {
-            setupSkins();
-        }
-
-        /**
-         *  The text to be displayed in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-			updateHitArea();
-		}
-		
-		private function updateHitArea():void
-		{
-            var host:IUIBase = IUIBase(_strand);
-			var useWidth:uint = Math.max(host.width, upTextField.textWidth);
-			var useHeight:uint = Math.max(host.height, upTextField.textHeight);
-			
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, useWidth, useHeight);
-			shape.graphics.endFill();
-			
-		}
-		
-        /**
-         *  The html-formatted text to be displayed in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-			return upTextField.htmlText;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-			upTextField.htmlText = value;
-			downTextField.htmlText = value;
-			overTextField.htmlText = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as
deleted file mode 100644
index 33ad6aa..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as
+++ /dev/null
@@ -1,351 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Loader;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.events.Event;
-	import flash.net.URLRequest;
-	import flash.text.TextField;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIButtonBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.utils.CSSUtils;
-	import org.apache.flex.utils.SolidBorderUtil;
-	import org.apache.flex.utils.StringTrimmer;
-
-    /**
-     *  The CSSTextButtonView class is the default view for
-     *  the org.apache.flex.html.TextButton class.
-     *  It allows the look of the button to be expressed
-     *  in CSS via the background-image style and displays
-     *  a text label.  This view does not support right-to-left
-     *  text.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CSSTextButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CSSTextButtonView()
-		{
-			upSprite = new Sprite();
-			downSprite = new Sprite();
-			overSprite = new Sprite();
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-			overTextField.type = TextFieldType.DYNAMIC;
-			upTextField.autoSize = "left";
-			downTextField.autoSize = "left";
-			overTextField.autoSize = "left";
-			upSprite.addChild(upTextField);
-			downSprite.addChild(downTextField);
-			overSprite.addChild(overTextField);
-		}
-		
-		private var textModel:ITextModel;
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			textModel = value.getBeadByType(ITextModel) as ITextModel;
-			textModel.addEventListener("textChange", textChangeHandler);
-			textModel.addEventListener("htmlChange", htmlChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-            upTextField.styleParent = _strand;
-            downTextField.styleParent = _strand;
-            overTextField.styleParent = _strand;
-            upTextField.parentDrawsBackground = true;
-            downTextField.parentDrawsBackground = true;
-            overTextField.parentDrawsBackground = true;
-            upTextField.parentHandlesPadding = true;
-            downTextField.parentHandlesPadding = true;
-            overTextField.parentHandlesPadding = true;
-			(value as UIButtonBase).$button.upState = upSprite;
-			(value as UIButtonBase).$button.downState = downSprite;
-			(value as UIButtonBase).$button.overState = overSprite;
-			(value as UIButtonBase).$button.hitTestState = shape;
-			if (textModel.text !== null)
-				text = textModel.text;
-			if (textModel.html !== null)
-				html = textModel.html;
-
-            setupSkins();
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("sizeChanged",sizeChangeHandler);
-		}
-	
-        protected function setupSkins():void
-        {
-            setupSkin(overSprite, overTextField, "hover");
-            setupSkin(downSprite, downTextField, "active");
-            setupSkin(upSprite, upTextField);
-            updateHitArea();
-        }
-        
-		private function setupSkin(sprite:Sprite, textField:CSSTextField, state:String = null):void
-		{
-			var sw:uint = IUIBase(_strand).width;
-			var sh:uint = IUIBase(_strand).height;
-			
-			textField.defaultTextFormat.leftMargin = 0;
-			textField.defaultTextFormat.rightMargin = 0;
-            // set it again so it gets noticed
-			textField.defaultTextFormat = textField.defaultTextFormat;
-            
-			var borderColor:uint;
-			var borderThickness:uint;
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
-			if (borderStyles is Array)
-			{
-				borderColor = CSSUtils.toColor(borderStyles[2]);
-				borderStyle = borderStyles[1];
-				borderThickness = borderStyles[0];
-			}
-            else if (borderStyles is String)
-                borderStyle = borderStyles as String;
-			var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
-			if (value != null)
-				borderStyle = value as String;
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
-			if (value != null)
-				borderColor = CSSUtils.toColor(value);
-			value = ValuesManager.valuesImpl.getValue(_strand, "border-width", state);
-			if (value != null)
-				borderThickness = value as uint;
-            if (borderStyle == "none")
-            {
-                borderStyle = "solid";
-                borderThickness = 0;
-            }
-            
-            var borderRadius:String;
-            var borderEllipseWidth:Number = NaN;
-            var borderEllipseHeight:Number = NaN;
-            value = ValuesManager.valuesImpl.getValue(_strand, "border-radius", state);
-            if (value != null)
-            {
-                if (value is Number)
-                    borderEllipseWidth = 2 * (value as Number);
-                else
-                {
-                    borderRadius = value as String;
-                    var arr:Array = StringTrimmer.splitAndTrim(borderRadius, "/");
-                    borderEllipseWidth = 2 * CSSUtils.toNumber(arr[0]);
-                    if (arr.length > 1)
-                        borderEllipseHeight = 2 * CSSUtils.toNumber(arr[1]);
-                } 
-            }
-
-			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
-			var paddingLeft:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
-			var paddingRight:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
-			var paddingTop:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
-			var paddingBottom:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
-            var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, host.$displayObject.width);
-            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, host.$displayObject.width);
-            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, host.$displayObject.height);
-            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, host.$displayObject.height);
-            
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
-            var bgColor:uint;
-            var bgAlpha:Number = 1;
-            if (backgroundColor != null)
-            {
-                bgColor = CSSUtils.toColorWithAlpha(backgroundColor);
-				if (bgColor == uint.MAX_VALUE) {
-					bgAlpha = 0
-				}
-				else if (bgColor & 0xFF000000)
-                {
-                    bgAlpha = bgColor >>> 24 / 255;
-                    bgColor = bgColor & 0xFFFFFF;
-                }
-            }
-			if (borderStyle == "solid")
-			{
-				var useWidth:Number = Math.max(sw,textField.textWidth);
-				var useHeight:Number = Math.max(sh,textField.textHeight);
-				
-				if ((useWidth-pl-pr-2*borderThickness) < textField.textWidth) 
-					useWidth = textField.textWidth+pl+pr+2*borderThickness;
-				if ((useHeight-pt-pb-2*borderThickness) < textField.textHeight) 
-					useHeight = textField.textHeight+pt+pb+2*borderThickness;
-				
-                sprite.graphics.clear();
-				SolidBorderUtil.drawBorder(sprite.graphics, 
-					0, 0, useWidth, useHeight,
-					borderColor, backgroundColor == null ? null : bgColor, borderThickness, bgAlpha,
-                    borderEllipseWidth, borderEllipseHeight);
-				textField.y = ((useHeight - textField.textHeight) / 2) - 2;
-				textField.x = ((useWidth - textField.textWidth) / 2) - 2;
-			}			
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
-			if (backgroundImage)
-			{
-				var loader:Loader = new Loader();
-				sprite.addChildAt(loader, 0);
-				var url:String = backgroundImage as String;
-				loader.load(new URLRequest(url));
-				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-					var useWidth:Number = Math.max(sw,textField.textWidth);
-					var useHeight:Number = Math.max(sh,textField.textHeight);
-					
-					if ((useWidth-2*Number(padding)-2*borderThickness) < textField.textWidth) 
-						useWidth = textField.textWidth+2*Number(padding)+2*borderThickness;
-					if ((useHeight-2*Number(padding)-2*borderThickness) < textField.textHeight) 
-						useHeight = textField.textHeight+2*Number(padding)+2*borderThickness;
-					
-					textField.y = (useHeight - textField.height) / 2;
-					textField.x = (useWidth - textField.width) / 2;
-					updateHitArea();
-				});
-			}
-			var textColor:Object = ValuesManager.valuesImpl.getValue(_strand, "color", state);
-			if (textColor) {
-				textField.textColor = Number(textColor);
-			}
-		}
-				
-		private function textChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			text = textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			html = textModel.html;
-		}
-		
-		private function sizeChangeHandler(event:org.apache.flex.events.Event):void
-		{
-			setupSkins();
-		}
-		
-		private var upTextField:CSSTextField;
-		private var downTextField:CSSTextField;
-		private var overTextField:CSSTextField;
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		
-        /**
-         *  The text to be displayed in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-			updateHitArea();
-		}
-		
-		private function updateHitArea():void
-		{
-			var useWidth:uint = Math.max(host.$displayObject.width, upTextField.textWidth);
-			var useHeight:uint = Math.max(host.$displayObject.height, upTextField.textHeight);
-			
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, useWidth, useHeight);
-			shape.graphics.endFill();
-			
-		}
-		
-        /**
-         *  The html-formatted text to be displayed in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-			return upTextField.htmlText;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-			upTextField.htmlText = value;
-			downTextField.htmlText = value;
-			overTextField.htmlText = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
deleted file mode 100644
index 77c90f8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
+++ /dev/null
@@ -1,106 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IStyleableObject;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-    /**
-     *  The CSSTextToggleButtonView class is the default view for
-     *  the org.apache.flex.html.TextToggleButton class.
-     *  It allows the look of the button to be expressed
-     *  in CSS via the background-image style and displays
-     *  a text label.  This view does not support right-to-left
-     *  text.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CSSTextToggleButtonView extends CSSTextButtonView
-	{
-        /**
-         *  The suffix appended to the className when selected.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static const SELECTED:String = "_Selected";
-        
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CSSTextToggleButtonView()
-		{
-		}
-		
-		private var toggleButtonModel:IToggleButtonModel;
-		
-        private var _selected:Boolean;
-        
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-            super.strand = value;
-            
-			toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
-            toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
-		}
-	
-		private function selectedChangeHandler(event:org.apache.flex.events.Event):void
-		{
-            var className:String = IStyleableObject(_strand).className;
-            if (toggleButtonModel.selected)
-            {
-                if (className && className.indexOf(SELECTED) == className.length - SELECTED.length)
-                    IStyleableObject(_strand).className = className.substring(0, className.length - SELECTED.length);
-                setupSkins();
-            }
-            else
-            {
-                if (className && className.indexOf(SELECTED) == -1)
-                    IStyleableObject(_strand).className += SELECTED;
-                setupSkins();                
-            }
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
deleted file mode 100644
index 923f21a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
+++ /dev/null
@@ -1,300 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.text.TextFieldAutoSize;
-	import flash.text.TextFieldType;
-	
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.events.Event;
-	
-    /**
-     *  The CheckBoxView class is the default view for
-     *  the org.apache.flex.html.CheckBox class.
-     *  It displays a simple checkbox with an 'x' if checked,
-     *  and a label on the right.  There are no styles or
-     *  properties to configure the look of the 'x' or the
-     *  position of the label relative to the checkbox as
-     *  there are no equivalents in the standard HTML checkbox.
-     * 
-     *  A more complex CheckBox could implement more view
-     *  configuration.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CheckBoxView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CheckBoxView()
-		{
-			sprites = [ upSprite = new Sprite(),
-				        downSprite = new Sprite(),
-						overSprite = new Sprite(),
-						upAndSelectedSprite = new Sprite(),
-						downAndSelectedSprite = new Sprite(),
-						overAndSelectedSprite = new Sprite() ];
-			
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = new CSSTextField();
-				tf.type = TextFieldType.DYNAMIC;
-				tf.autoSize = TextFieldAutoSize.LEFT;
-				tf.name = "textField";
-				var icon:Shape = new Shape();
-				icon.name = "icon";
-				s.addChild(icon);
-				s.addChild(tf);
-			}
-		}
-		
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		private var upAndSelectedSprite:Sprite;
-		private var downAndSelectedSprite:Sprite;
-		private var overAndSelectedSprite:Sprite;
-		
-		private var sprites:Array;
-		
-		private var _toggleButtonModel:IToggleButtonModel;
-
-        // TODO: Can we remove this?
-		private function get toggleButtonModel() : IToggleButtonModel
-		{
-			return _toggleButtonModel;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            
-			_toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
-			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
-			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
-			_toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
-			if (_toggleButtonModel.text !== null)
-				text = _toggleButtonModel.text;
-			
-			layoutControl();
-			
-			var hitArea:Shape = new Shape();
-			hitArea.graphics.beginFill(0x000000);
-			hitArea.graphics.drawRect(0,0,upSprite.width, upSprite.height);
-			hitArea.graphics.endFill();
-			
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upSprite;
-            button.downState = downSprite;
-            button.overState = overSprite;
-            button.hitTestState = hitArea;
-			
-			if (toggleButtonModel.text !== null)
-				text = toggleButtonModel.text;
-			if (toggleButtonModel.html !== null)
-				html = toggleButtonModel.html;
-		}
-		
-        /**
-         *  @copy org.apache.flex.html.Label#text
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.text;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.text = value;
-			}
-			
-			layoutControl();
-		}
-		
-        /**
-         *  @copy org.apache.flex.html.Label#html
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.htmlText;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.htmlText = value;
-			}
-			
-			layoutControl();
-		}
-		
-		private function textChangeHandler(event:Event):void
-		{
-			text = toggleButtonModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = toggleButtonModel.html;
-		}
-		
-		private var _selected:Boolean;
-		
-        /**
-         *  @copy org.apache.flex.core.IToggleButtonModel#selected
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			
-			layoutControl();
-			
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			if( value ) {
-                button.upState = upAndSelectedSprite;
-                button.downState = downAndSelectedSprite;
-                button.overState = overAndSelectedSprite;
-				
-			} else {
-                button.upState = upSprite;
-                button.downState = downSprite;
-                button.overState = overSprite;
-			}
-		}
-		
-		private function selectedChangeHandler(event:Event):void
-		{
-			selected = toggleButtonModel.selected;
-		}
-		
-        /**
-         *  Display the icon and text label
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected function layoutControl() : void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var icon:Shape = s.getChildByName("icon") as Shape;
-				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
-				
-				drawCheckBox(icon);
-				
-				var mh:Number = Math.max(icon.height,tf.height);
-				
-				icon.x = 0;
-				icon.y = (mh - icon.height)/2;
-				
-				tf.x = icon.x + icon.width + 1;
-				tf.y = (mh - tf.height)/2;
-			}
-			
-		}
-		
-        /**
-         *  Draw the checkbox
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected function drawCheckBox(icon:Shape) : void
-		{
-			icon.graphics.clear();
-			icon.graphics.beginFill(0xf8f8f8);
-			icon.graphics.lineStyle(1,0x808080);
-			icon.graphics.drawRect(0,0,10,10);
-			icon.graphics.endFill();
-			
-			if( _toggleButtonModel.selected ) {
-                icon.graphics.lineStyle(2,0);
-				icon.graphics.moveTo(3,4);
-				icon.graphics.lineTo(5,7);
-				icon.graphics.lineTo(9,0);
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
deleted file mode 100644
index cdc5fe4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
+++ /dev/null
@@ -1,104 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.TitleBar;
-	
-    /**
-     *  The CloseButtonView class is the view for
-     *  the down arrow button in a ScrollBar and other controls.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class CloseButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function CloseButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x666666);
-			drawView(overView.graphics, 0x999999);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, 11, 11);
-			g.endFill();
-            g.lineStyle(2);
-            g.moveTo(3,3);
-            g.lineTo(8,8);
-            g.moveTo(3,8);
-            g.lineTo(8,3);
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 11, 11);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-		}
-				
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
deleted file mode 100644
index 3adb9de..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
+++ /dev/null
@@ -1,227 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.TextInput;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.TextButton;
-	import org.apache.flex.html.List;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.utils.UIUtils;
-	import org.apache.flex.utils.PointUtils;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.geom.Point;
-	import org.apache.flex.html.beads.IComboBoxView;
-	
-	/**
-	 *  The ComboBoxView class creates the visual elements of the org.apache.flex.html.ComboBox 
-	 *  component. The job of the view bead is to put together the parts of the ComboBox such as the TextInput
-	 *  control and org.apache.flex.html.Button to trigger the pop-up.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ComboBoxView extends BeadViewBase implements IComboBoxView
-	{
-		public function ComboBoxView()
-		{
-			super();
-		}
-		
-		private var input:TextInput;
-		
-		/**
-		 *  The TextInput component of the ComboBox.
-		 * 
-		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get textInputField():Object
-		{
-			return input;
-		}
-		
-		private var button:TextButton;
-		
-		/**
-		 *  The Button component of the ComboBox.
-		 * 
-		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get popupButton():Object
-		{
-			return button;
-		}
-		
-		private var list:UIBase;
-		
-		/**
-		 *  The pop-up list component of the ComboBox.
-		 * 
-		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get popUp():Object
-		{
-			return list;
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			var host:UIBase = value as UIBase;
-			
-			input = new TextInput();
-			input.className = "ComboBoxTextInput";			
-			
-			button = new TextButton();
-			button.className = "ComboBoxButton";
-			button.text = '\u25BC';
-			
-			if (isNaN(host.width)) input.width = 100;
-			
-			host.addElement(input);
-			host.addElement(button);
-			
-			var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-			list = new popUpClass() as UIBase;
-			list.visible = false;
-			
-			var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
-			model.addEventListener("selectedIndexChanged", handleItemChange);
-			model.addEventListener("selectedItemChanged", handleItemChange);
-			
-			IEventDispatcher(_strand).addEventListener("sizeChanged", handleSizeChange);
-			
-			// set initial value and positions using default sizes
-			handleItemChange(null);
-			handleSizeChange(null);
-		}
-		
-		/**
-		 *  Returns whether or not the pop-up is visible.
-		 * 
-		 *  @copy org.apache.flex.html.beads.IComboBoxView#text
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get popUpVisible():Boolean
-		{
-			if (list) return list.visible;
-			else return false;
-		}
-		public function set popUpVisible(value:Boolean):void
-		{
-			if (value && !list.visible) {
-				var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
-				list.model = model;
-				list.width = input.width;
-				list.height = 200;
-				list.visible = true;
-				
-				var origin:Point = new Point(0, button.y+button.height);
-				var relocated:Point = PointUtils.localToGlobal(origin,_strand);
-				list.x = relocated.x
-				list.y = relocated.y;
-				COMPILE::JS {
-					list.element.style.position = "absolute";
-				}
-				
-				var popupHost:IPopUpHost = UIUtils.findPopUpHost(_strand as IUIBase);
-				popupHost.addElement(list);
-			}
-			else if (list.visible) {
-				UIUtils.removePopUp(list);
-				list.visible = false;
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleSizeChange(event:Event):void
-		{
-			var host:UIBase = UIBase(_strand);
-			
-			input.x = 0;
-			input.y = 0;
-			if (host.isWidthSizedToContent()) {
-				input.width = 100;
-			} else {
-				input.width = host.width - 20;
-			}
-			
-			button.x = input.width;
-			button.y = 0;
-			button.width = 20;
-			button.height = input.height;
-			
-			COMPILE::JS {
-				input.element.style.position = "absolute";
-				button.element.style.position = "absolute";
-			}
-				
-			if (host.isHeightSizedToContent()) {
-				host.height = input.height;
-			}
-			if (host.isWidthSizedToContent()) {
-				host.width = input.width + button.width;
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleItemChange(event:Event):void
-		{
-			var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
-			input.text = model.selectedItem as String;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
deleted file mode 100644
index ac723a9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
+++ /dev/null
@@ -1,391 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.ContainerBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IContainerView;
-	import org.apache.flex.core.IContentViewHost;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewport;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.geom.Size;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.html.beads.models.ViewportModel;
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.ContainerContentArea;
-	import org.apache.flex.html.supportClasses.Viewport;
-	import org.apache.flex.utils.CSSContainerUtils;
-
-	/**
-	 * This class creates and manages the contents of a Container. On the ActionScript
-	 * side, a Container has a contentView into which the offical children can be
-	 * placed. When adding an element that implements IChrome, that element is not
-	 * placed into the contentView, but is made a child of the Container directly.
-	 *
-	 * Containers also have a layout associated with them which controls the size and
-	 * placement of the elements in the contentView. When a Container does not have an
-	 * explicit size (including a percent size), the content dictates the size of the
-	 * Container.
-     *
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-	 */
-	COMPILE::SWF
-	public class ContainerView extends GroupView
-	{
-		/**
-     	 *  The ContainerView class is the default view for
-         *  the org.apache.flex.core.ContainerBase classes.
-         *  It lets you use some CSS styles to manage the border, background
-         *  and padding around the content area.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ContainerView()
-		{
-			super();
-		}
-
-		/**
-		 * The sub-element used as the parent of the container's elements. This does not
-		 * include the chrome elements.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function get contentView():ILayoutView
-		{
-			return viewport.contentView as ILayoutView;
-		}
-
-		/**
-		 * The viewport used to present the content and may display
-		 * scroll bars (depending on the actual type of viewport).
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function get viewport():IViewport
-		{
-			return _viewport;
-		}
-
-		/**
-		 * The data model used by the viewport to determine how it should
-		 * present the content area.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get viewportModel():IViewportModel
-		{
-			return _viewportModel;
-		}
-
-		private var _viewportModel:IViewportModel;
-		private var _viewport:IViewport;
-		private var layoutRunning:Boolean;
-
-		/**
-		 * Strand setter.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-            createViewport();
-
-			var chost:IContainer = host as IContainer;
-			chost.strandChildren.addElement(viewport.contentView);
-
-			super.strand = value;
-		}
-
-		/**
-		 * Called when the host is ready to complete its setup (usually after its size has been
-		 * determined).
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override protected function completeSetup():void
-		{
-			super.completeSetup();
-
-			// when the first layout is complete, set up listeners for changes
-			// to the childrens' sizes.
-//			host.addEventListener("layoutComplete", childrenChangedHandler);
-		}
-
-		/**
-		 * Creates the Viewport (or ScrollableViewport) through which the content
-		 * area is presented.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function createViewport():void
-		{
-            var c:Class;
-			if (viewportModel == null) {
-                _viewportModel = _strand.getBeadByType(IViewportModel) as IViewportModel;
-                if (viewportModel == null) {
-                    c = ValuesManager.valuesImpl.getValue(host, "iViewportModel");
-                    if (c)
-                    {
-                        _viewportModel = new c() as IViewportModel;
-                        _strand.addBead(_viewportModel);
-                    }
-                }
-			}
-
-			if (viewport == null) {
-				_viewport = _strand.getBeadByType(IViewport) as IViewport;
-				if (viewport == null) {
-					c = ValuesManager.valuesImpl.getValue(host, "iViewport");
-					if (c)
-					{
-						_viewport = new c() as IViewport;
-						_strand.addBead(viewport);
-					}
-				}
-			}
-		}
-
-		/**
-		 * Calculate the space taken up by non-content children like a TitleBar in a Panel.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function getChromeMetrics():Rectangle
-		{
-			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			return paddingMetrics;
-		}
-		
-		/**
-		 *  Positions the viewport, then sets any known sizes of the Viewport prior
-         *  to laying out its content.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function beforeLayout():void
-		{
-            var host:ILayoutChild = this.host as ILayoutChild;
-            var vm:IViewportModel = viewportModel;
-			var hostWidth:Number = host.width;
-			var hostHeight:Number = host.height;
-
-            vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
-
-            viewport.setPosition(vm.borderMetrics.left, vm.borderMetrics.top);
-
-			viewport.layoutViewportBeforeContentLayout(
-				host.isWidthSizedToContent() ? NaN : hostWidth - vm.borderMetrics.left - vm.borderMetrics.right,
-				host.isHeightSizedToContent() ? NaN : hostHeight - vm.borderMetrics.top - vm.borderMetrics.bottom);
-		}
-
-		/**
-		 * @private
-		 */
-		private var adjusting:Boolean = false;
-
-		/**
-		 * Adjusts the size of the host, or adds scrollbars to the viewport, after
-		 * the layout has been run.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function afterLayout():void
-		{
-			if (adjusting) return;
-
-			adjusting = true;
-
-			super.afterLayout();
-
-			var contentSize:Size = calculateContentSize();
-			viewport.layoutViewportAfterContentLayout(contentSize);
-
-			adjusting = false;
-		}
-
-		/**
-		 * Handles dynamic changes to the host's size by running the layout once
-		 * the viewport has been adjusted.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-//		override protected function resizeHandler(event:Event):void
-//		{
-//			if (!adjusting) {
-//				performLayout(event);
-//			}
-//		}
-
-		/**
-		 * Whenever children are added, listeners are added to detect changes
-		 * in their size.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-//		protected function childrenChangedHandler(event:Event):void
-//		{
-//			var host:UIBase = _strand as UIBase;
-//			host.removeEventListener(event.type, childrenChangedHandler);
-//
-//			var n:Number = contentView.numElements;
-//			for (var i:int=0; i < n; i++) {
-//				var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-//				child.addEventListener("widthChanged", childResizeHandler);
-//				child.addEventListener("heightChanged", childResizeHandler);
-//				child.addEventListener("sizeChanged", childResizeHandler);
-//			}
-//		}
-	}
-
-	COMPILE::JS
-	public class ContainerView extends GroupView //??implements IParent
-	{
-		private var _viewport:IViewport;
-
-		/**
-		 * The viewport used to present the content and may display
-		 * scroll bars (depending on the actual type of viewport).
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function get viewport():IViewport
-		{
-			return _viewport;
-		}
-		
-		/**
-		 * The sub-element used as the parent of the container's elements. This does not
-		 * include the chrome elements.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function get contentView():ILayoutView
-		{
-			if (viewport != null) {
-				return viewport.contentView as ILayoutView;
-			} else {
-				return host as ILayoutView;
-			}
-		}
-
-		/**
-		 * Strand setter.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			super.strand = value;
-
-			var c:Class;
-
-			if (viewport == null) {
-				_viewport = _strand.getBeadByType(IViewport) as IViewport;
-				if (viewport == null) {
-					c = ValuesManager.valuesImpl.getValue(host, "iViewport");
-					if (c)
-					{
-						_viewport = new c() as IViewport;
-						_strand.addBead(viewport);
-					}
-				}
-			}
-			
-			if (viewport != null) {
-				var chost:IContainer = host as IContainer;
-				// add the viewport's contentView to this host ONLY if
-				// the contentView is not the host itself, which is likely
-				// most situations.
-				if (chost != viewport.contentView) {
-					chost.addElement(viewport.contentView);
-				}
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ControlBarMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ControlBarMeasurementBead.as
deleted file mode 100644
index 18d19dd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ControlBarMeasurementBead.as
+++ /dev/null
@@ -1,116 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObjectContainer;
-	
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.html.Container;
-	
-	/**
-	 *  The ControlBarMeasurementBead class measures the size of a org.apache.flex.html.ControlBar
-	 *  component.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ControlBarMeasurementBead implements IMeasurementBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ControlBarMeasurementBead()
-		{
-		}
-		
-		/**
-		 *  Returns the overall width of the ControlBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredWidth():Number
-		{
-			// Note: the measurement should problably be done by the ControlBar's layout manager bead
-			// since it would know the arrangement of the items and how far apart they are and if
-			// there are margins and paddings and gaps involved.
-			var mwidth:Number = 0;
-            var container:Container = Container(_strand);
-			var n:int = container.numElements;
-			for(var i:int=0; i < n; i++) {
-				var child:IUIBase = container.getElementAt(i) as IUIBase;
-				if( child == null ) continue;
-				var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
-                if (childMeasure)
-    				mwidth += childMeasure.measuredWidth;
-			}
-			return mwidth;
-		}
-		
-		/**
-		 *  Returns the overall height of the ControlBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredHeight():Number
-		{
-			// Note: the measurement should problably be done by the ControlBar's layout manager bead
-			// since it would know the arrangement of the items and how far apart they are and if
-			// there are margins and paddings and gaps involved.
-			var mheight:Number = 0;
-			var n:int = DisplayObjectContainer(_strand).numChildren;
-			for(var i:int=0; i < n; i++) {
-				var child:IUIBase = DisplayObjectContainer(_strand).getChildAt(i) as IUIBase;
-				if( child == null ) continue;
-				var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
-				mheight += childMeasure.measuredHeight;
-			}
-			return mheight;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridColumnView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridColumnView.as
deleted file mode 100644
index 1c8cd42..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridColumnView.as
+++ /dev/null
@@ -1,102 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.html.supportClasses.DataGridColumn;
-	
-	/**
-	 *  The DataGridColumnView class extends org.apache.flex.html.beads.ListView and 
-	 *  provides properties to the org.apache.flex.html.List that makes a column in 
-	 *  the org.apache.flex.html.DataGrid.  
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridColumnView extends ListView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridColumnView()
-		{
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-    	}
-		
-		private var _columnIndex:uint;
-		
-		/**
-		 *  The zero-based index for the column.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columnIndex():uint
-		{
-			return _columnIndex;
-		}
-		public function set columnIndex(value:uint):void
-		{
-			_columnIndex = value;
-		}
-		
-		private var _column:DataGridColumn;
-		
-		/**
-		 *  The org.apache.flex.html.support.DataGridColumn containing information used to 
-		 *  present the org.apache.flex.html.List as a column in the 
-		 *  org.apache.flex.html.DataGrid.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get column():DataGridColumn
-		{
-			return _column;
-		}
-		public function set column(value:DataGridColumn):void
-		{
-			_column = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridLinesBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridLinesBead.as
deleted file mode 100644
index 951f5f7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridLinesBead.as
+++ /dev/null
@@ -1,199 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.collections.ArrayList;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.svg.CompoundGraphic;
-	import org.apache.flex.graphics.IStroke;
-	import org.apache.flex.graphics.SolidColor;
-	import org.apache.flex.graphics.SolidColorStroke;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.beads.models.DataGridPresentationModel;
-	import org.apache.flex.html.supportClasses.DataGridColumn;
-	
-	/**
-	 * The DataGridLinesBead is an add on bead for the DataGrid. This bead
-	 * adds horizontal and vertical grid lines to a DataGrid. The size and
-	 * color of the lines is specified by the stroke property (defaults to
-	 * a thin dark line). 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridLinesBead implements IBead
-	{
-		/**
-		 * Constructor. 
-	     *  
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		public function DataGridLinesBead()
-		{
-			// Set default separator line stroke.
-			var lineStroke:SolidColorStroke = new SolidColorStroke();
-			lineStroke.color = 0x333333;
-			lineStroke.alpha = 1.0;
-			lineStroke.weight = 1;
-			stroke = lineStroke;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 * @copy org.apache.flex.core.UIBase#strand
-	     *  
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			_overlay = new CompoundGraphic();
-			
-			IEventDispatcher(_strand).addEventListener("beadsAdded", handleBeadsAdded);
-		}
-		
-		private var _stroke:IStroke;
-		
-		/**
-		 * Describes the line style used to separate the rows and columns.
-	     *  
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		public function get stroke():IStroke
-		{
-			return _stroke;
-		}
-		public function set stroke(value:IStroke):void
-		{
-			_stroke = value;
-		}
-		
-		private var _overlay:CompoundGraphic;
-		private var _area:UIBase;
-		
-		/**
-		 * Invoked when all of the beads have been added to the DataGrid. This
-		 * function seeks the Container that parents the lists that are the DataGrid's
-		 * columns. An overlay GraphicContainer is added to this Container so that the
-		 * grid lines will scroll with the rows.
-	     *  
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		private function handleBeadsAdded(event:Event):void
-		{
-			var host:UIBase = _strand as UIBase;
-			var n:int = host.numElements;
-			for (var i:int=0; i < n; i++) {
-				var child:UIBase = host.getElementAt(i) as UIBase;
-				if (child.id == "dataGridListArea") {
-					_area = child;
-					_area.addElement(_overlay);
-					break;
-				}
-			}
-			
-			// Now set up listeners to handle changes in the size of the DataGrid.
-			IEventDispatcher(_strand).addEventListener("sizeChanged", drawLines);
-			IEventDispatcher(_strand).addEventListener("widthChanged", drawLines);
-			IEventDispatcher(_strand).addEventListener("heightChanged", drawLines);
-			
-			// Also set up a listener on the model to know when the dataProvider has
-			// changed which might affect the number of rows/columns and thus the
-			// grid lines.
-			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
-			IEventDispatcher(model).addEventListener("dataProviderChanged", drawLines);
-		}
-		
-		/**
-		 * This event handler is invoked whenever something happens to the DataGrid. This
-		 * function draws the lines either using a default stroke or the one specified by
-		 * the stroke property.
-	     *  
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		private function drawLines(event:Event):void
-		{
-			var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-			var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
-			var layoutParent:ILayoutHost = _area.getBeadByType(ILayoutHost) as ILayoutHost;
-			var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
-			
-			var columns:Array = sharedModel.columns;			
-			var arrayList:ArrayList = sharedModel.dataProvider as ArrayList;
-			var rowHeight:Number = presentationModel.rowHeight;
-			
-			var totalHeight:Number = arrayList.length * rowHeight;
-			var columnWidth:Number = _area.width / columns.length;
-			
-			// translate the stroke to a fill since rectangles are used for the grid
-			// lines and not lines.
-			var lineFill:SolidColor = new SolidColor();
-			var weight:Number = 1;
-			lineFill.color = (stroke as SolidColorStroke).color;
-			lineFill.alpha = (stroke as SolidColorStroke).alpha;
-			weight = (stroke as SolidColorStroke).weight;
-			_overlay.fill = lineFill;
-			
-			columnWidth = (columns[0] as DataGridColumn).columnWidth;
-			var xpos:Number = isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
-			
-			_overlay.clear();
-			
-			// draw the verticals
-			for (var i:int=1; i < columns.length; i++) {
-				_overlay.drawRect(xpos, 0, weight, totalHeight);
-				columnWidth = (columns[i] as DataGridColumn).columnWidth;
-				xpos += isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
-			}
-			
-			var n:int = arrayList.length;
-			
-			// draw the horizontals
-			for (i=1; i < n+1; i++) {
-				_overlay.drawRect(0, i*rowHeight, _area.width, weight);
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
deleted file mode 100644
index 3b387d9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
+++ /dev/null
@@ -1,300 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.IDataGridPresentationModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.DataGrid;
-	import org.apache.flex.html.DataGridButtonBar;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.html.beads.layouts.ButtonBarLayout;
-	import org.apache.flex.html.beads.models.ButtonBarModel;
-	import org.apache.flex.html.supportClasses.DataGridColumn;
-	import org.apache.flex.html.supportClasses.DataGridColumnList;
-	import org.apache.flex.html.supportClasses.Viewport;
-	
-	COMPILE::SWF {
-		import org.apache.flex.core.SimpleCSSStyles;
-	}
-		
-		/**
-		 *  The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
-		 *  This class constructs the items that make the DataGrid: Lists for each column and a
-		 *  org.apache.flex.html.ButtonBar for the column headers.
-		 *
-		 *  @viewbead
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public class DataGridView extends GroupView implements IBeadView
-		{
-			/**
-			 *  constructor.
-			 *
-			 *  @langversion 3.0
-			 *  @playerversion Flash 10.2
-			 *  @playerversion AIR 2.6
-			 *  @productversion FlexJS 0.0
-			 */
-			public function DataGridView()
-			{
-				super();
-			}
-			
-			private var _strand:IStrand;
-			private var _header:DataGridButtonBar;
-			private var _listArea:Container;
-			
-			private var _lists:Array;
-			
-			/**
-			 * An array of List objects the comprise the columns of the DataGrid.
-			 */
-			public function get columnLists():Array
-			{
-				return _lists;
-			}
-			
-			/**
-			 * The area used to hold the columns
-			 *
-			 */
-			public function get listArea():Container
-			{
-				return _listArea;
-			}
-			
-			/**
-			 * Returns the component used as the header for the DataGrid.
-			 */
-			public function get header():IUIBase
-			{
-				return _header;
-			}
-			
-			/**
-			 *  @copy org.apache.flex.core.IBead#strand
-			 *
-			 *  @langversion 3.0
-			 *  @playerversion Flash 10.2
-			 *  @playerversion AIR 2.6
-			 *  @productversion FlexJS 0.0
-			 */
-			override public function set strand(value:IStrand):void
-			{
-				super.strand = value;
-				_strand = value;
-				
-				var host:DataGrid = value as DataGrid;
-				
-				_header = new DataGridButtonBar();
-				_header.height = 30;
-				_header.percentWidth = 100;
-				
-				_listArea = new Container();
-				_listArea.percentWidth = 100;
-				_listArea.className = "DataGridListArea";
-				
-				COMPILE::SWF {
-					_header.style = new SimpleCSSStyles();
-					_header.style.flexGrow = 0;
-					
-					_listArea.style = new SimpleCSSStyles();
-					_listArea.style.flexGrow = 1;
-				}
-				COMPILE::JS {
-					_header.element.style["flex-grow"] = "0";
-					_header.element.style["min-height"] = "30px";
-					_listArea.element.style["flex-grow"] = "1";
-				}
-				
-				IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
-			}
-			
-			/**
-			 * @private
-			 */
-			private function finishSetup(event:Event):void
-			{
-				var host:DataGrid = _strand as DataGrid;
-				
-				if (_lists == null || _lists.length == 0) {
-					createLists();
-				}
-				
-				// see if there is a presentation model already in place. if not, add one.
-				var presentationModel:IDataGridPresentationModel = host.presentationModel;
-				var sharedModel:IDataGridModel = host.model as IDataGridModel;
-				IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
-				IEventDispatcher(sharedModel).addEventListener("selectedIndexChanged", handleSelectedIndexChanged);
-				
-				var columnLabels:Array = new Array();
-				var buttonWidths:Array = new Array();
-				
-				var marginBorderOffset:int = 0;
-				COMPILE::SWF {
-					marginBorderOffset = 1;
-				}
-					
-				for(var i:int=0; i < sharedModel.columns.length; i++) {
-					var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-					columnLabels.push(dgc.label);
-					var colWidth:Number = dgc.columnWidth - marginBorderOffset;
-					buttonWidths.push(colWidth);
-					
-					var list:DataGridColumnList = _lists[i] as DataGridColumnList;
-					if (!isNaN(colWidth)) {
-						list.width = Number(colWidth - marginBorderOffset);
-					} else {
-						COMPILE::SWF {
-							list.style = new SimpleCSSStyles();
-							list.style.flexGrow = 1;
-						}
-							COMPILE::JS {
-								list.element.style["flex-grow"] = "1";
-							}
-					}
-				}
-					
-				var bblayout:ButtonBarLayout = new ButtonBarLayout();
-				_header.buttonWidths = buttonWidths
-				_header.widthType = ButtonBarModel.PIXEL_WIDTHS;
-				_header.dataProvider = columnLabels;
-				_header.addBead(bblayout);
-				_header.addBead(new Viewport());
-				host.addElement(_header);
-				
-				host.addElement(_listArea);
-				
-				handleDataProviderChanged(event);
-				
-				host.addEventListener("widthChanged", handleSizeChanges);
-				host.addEventListener("heightChanged", handleSizeChanges);
-			}
-			
-			/**
-			 * @private
-			 */
-			private function handleSizeChanges(event:Event):void
-			{	
-				_header.dispatchEvent(new Event("layoutChanged"));
-				_listArea.dispatchEvent(new Event("layoutChanged"));
-			}
-			
-			/**
-			 * @private
-			 */
-			private function handleDataProviderChanged(event:Event):void
-			{
-				var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-				
-				for (var i:int=0; i < _lists.length; i++)
-				{
-					var list:DataGridColumnList = _lists[i] as DataGridColumnList;
-					var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
-					listModel.dataProvider = sharedModel.dataProvider;
-				}
-				
-				host.dispatchEvent(new Event("layoutNeeded"));
-			}
-			
-			/**
-			 * @private
-			 */
-			private function handleSelectedIndexChanged(event:Event):void
-			{
-				var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-				var newIndex:int = sharedModel.selectedIndex;
-				
-				for (var i:int=0; i < _lists.length; i++)
-				{
-					var list:DataGridColumnList = _lists[i] as DataGridColumnList;
-					list.selectedIndex = newIndex;
-				}
-			}
-			
-			/**
-			 * @private
-			 */
-			private function handleColumnListChange(event:Event):void
-			{
-				var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-				var list:DataGridColumnList = event.target as DataGridColumnList;
-				sharedModel.selectedIndex = list.selectedIndex;
-				
-				for(var i:int=0; i < _lists.length; i++) {
-					if (list != _lists[i]) {
-						var otherList:DataGridColumnList = _lists[i] as DataGridColumnList;
-						otherList.selectedIndex = list.selectedIndex;
-					}
-				}
-				
-				host.dispatchEvent(new Event('change'));
-			}
-			
-			/**
-			 * @private
-			 */
-			private function createLists():void
-			{
-				var host:DataGrid = _strand as DataGrid;
-				
-				var sharedModel:IDataGridModel = host.model as IDataGridModel;
-				var presentationModel:IDataGridPresentationModel = host.presentationModel;
-				
-				_lists = new Array();
-				
-				for (var i:int=0; i < sharedModel.columns.length; i++) {
-					var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-					
-					var list:DataGridColumnList = new DataGridColumnList();
-					list.id = "dataGridColumn"+String(i);
-					list.addBead(sharedModel);
-					list.itemRenderer = dataGridColumn.itemRenderer;
-					list.labelField = dataGridColumn.dataField;
-					list.addEventListener('change',handleColumnListChange);
-					list.addBead(presentationModel);
-					
-					if (i == 0) {
-						list.className = "first";
-					} else if (i == sharedModel.columns.length-1) {
-						list.className = "last";
-					} else {
-						list.className = "middle";
-					}
-					
-					_listArea.addElement(list);
-					_lists.push(list);
-				}
-				
-				host.dispatchEvent(new Event("layoutNeeded"));
-			}
-		}
-}
-
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
deleted file mode 100644
index bcd837b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
+++ /dev/null
@@ -1,183 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDataProviderItemRendererMapper;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IListPresentationModel;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.IDataProviderModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.SimpleCSSStyles;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.ItemRendererEvent;
-	import org.apache.flex.html.List;
-	
-	import org.apache.flex.core.IList;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.IParentIUIBase;
-	
-	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-	
-    /**
-     *  The DataItemRendererFactoryForArrayData class reads an
-     *  array of data and creates an item renderer for every
-     *  item in the array.  Other implementations of
-     *  IDataProviderItemRendererMapper map different data 
-     *  structures or manage a virtual set of renderers.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DataItemRendererFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DataItemRendererFactoryForArrayData(target:Object=null)
-		{
-			super(target);
-		}
-
-		protected var dataProviderModel:IDataProviderModel;
-
-		protected var labelField:String;
-
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function finishSetup(event:Event):void
-		{			
-			dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
-			dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-			labelField = dataProviderModel.labelField;
-			
-			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
-			// already have been loaded by DataContainerBase.addedToParent function.
-			_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-			if (itemRendererFactory == null) {
-				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				_strand.addBead(_itemRendererFactory);
-			}
-			
-			dataProviderChangeHandler(null);
-		}
-		
-		private var _itemRendererFactory:IItemRendererClassFactory;
-		
-        /**
-         *  The org.apache.flex.core.IItemRendererClassFactory used 
-         *  to generate instances of item renderers.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get itemRendererFactory():IItemRendererClassFactory
-		{
-			return _itemRendererFactory;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set itemRendererFactory(value:IItemRendererClassFactory):void
-		{
-			_itemRendererFactory = value;
-		}
-		
-        /**
-         *  The org.apache.flex.core.IItemRendererParent that will
-         *  parent the item renderers.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */		
-		protected function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Array = dataProviderModel.dataProvider as Array;
-			if (!dp)
-				return;
-			
-			var list:IList = _strand as IList;
-			var dataGroup:IItemRendererParent = list.dataGroup;
-			
-			dataGroup.removeAllItemRenderers();
-			
-			var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{				
-				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
-				dataGroup.addItemRenderer(ir);
-				ir.index = i;
-				ir.labelField = labelField;
-				if (presentationModel) {
-					var style:SimpleCSSStyles = new SimpleCSSStyles();
-					style.marginBottom = presentationModel.separatorThickness;
-					UIBase(ir).style = style;
-					UIBase(ir).height = presentationModel.rowHeight;
-					UIBase(ir).percentWidth = 100;
-				}
-				ir.data = dp[i];
-				
-				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
-				newEvent.itemRenderer = ir;
-				dispatchEvent(newEvent);
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
deleted file mode 100644
index c35f07f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
+++ /dev/null
@@ -1,179 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.collections.IArrayList;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDataProviderItemRendererMapper;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IListPresentationModel;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.IDataProviderModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.SimpleCSSStyles;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.ItemRendererEvent;
-	//import org.apache.flex.html.List;
-	import org.apache.flex.core.IList;
-	
-	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-	
-    /**
-     *  The DataItemRendererFactoryForArrayList class uses an ArrayList
-	 *  and creates an item renderer for every
-     *  item in the collection.  Other implementations of
-     *  IDataProviderItemRendererMapper map different data 
-     *  structures or manage a virtual set of renderers.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DataItemRendererFactoryForArrayList extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DataItemRendererFactoryForArrayList(target:Object=null)
-		{
-			super(target);
-		}
-		
-		protected var dataProviderModel:IDataProviderModel;
-		
-		protected var labelField:String;
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
-		}
-		
-		private function finishSetup(event:Event):void
-		{			
-			dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
-			dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-			labelField = dataProviderModel.labelField;
-			
-			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
-			// already have been loaded by DataContainerBase.addedToParent function.
-			_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-			if (itemRendererFactory == null) {
-				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				_strand.addBead(_itemRendererFactory);
-			}
-			
-			dataProviderChangeHandler(null);
-		}
-		
-		private var _itemRendererFactory:IItemRendererClassFactory;
-		
-        /**
-         *  The org.apache.flex.core.IItemRendererClassFactory used 
-         *  to generate instances of item renderers.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get itemRendererFactory():IItemRendererClassFactory
-		{
-			return _itemRendererFactory;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set itemRendererFactory(value:IItemRendererClassFactory):void
-		{
-			_itemRendererFactory = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function setData(ir:ISelectableItemRenderer, data:Object, index:int):void
-		{
-			ir.index = index;
-			ir.labelField = labelField;
-			ir.data = data;
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
-			if (!dp)
-				return;
-			
-			var list:IList = _strand as IList;
-			var dataGroup:IItemRendererParent = list.dataGroup;
-			
-			dataGroup.removeAllItemRenderers();
-			
-			var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{				
-				var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
-				dataGroup.addItemRenderer(ir);
-				if (presentationModel) {
-					var style:SimpleCSSStyles = new SimpleCSSStyles();
-					style.marginBottom = presentationModel.separatorThickness;
-					UIBase(ir).style = style;
-					UIBase(ir).height = presentationModel.rowHeight;
-					UIBase(ir).percentWidth = 100;
-				}
-				setData(ir, dp.getItemAt(i), i);
-				
-				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
-				newEvent.itemRenderer = ir;
-				dispatchEvent(newEvent);
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
deleted file mode 100644
index 554a9c9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
+++ /dev/null
@@ -1,154 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.core.IDataProviderItemRendererMapper;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IList;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.supportClasses.DataItemRenderer;
-	
-	/**
-	 *  The DataItemRendererFactoryForColumnData class implents the 
-	 *  org.apache.flex.core.IDataProviderItemRendererMapper interface and creates the itemRenderers 
-	 *  for each cell in the org.apache.flex.html.DataGrid.  
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataItemRendererFactoryForColumnData implements IBead, IDataProviderItemRendererMapper
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataItemRendererFactoryForColumnData()
-		{
-		}
-		
-		private var selectionModel:IDataGridModel;
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function finishSetup(event:Event):void
-		{			
-			selectionModel = _strand.getBeadByType(IDataGridModel) as IDataGridModel;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-			
-			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
-			// already have been loaded by DataContainerBase.addedToParent function.
-			_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-			if (itemRendererFactory == null) {
-				_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				_strand.addBead(_itemRendererFactory);
-			}
-			
-			dataProviderChangeHandler(null);
-		}
-		
-		private var _itemRendererFactory:IItemRendererClassFactory;
-		
-		/**
-		 *  The factory used to create the itemRenderers.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get itemRendererFactory():IItemRendererClassFactory
-		{
-			return _itemRendererFactory
-		}
-		public function set itemRendererFactory(value:IItemRendererClassFactory):void
-		{
-			_itemRendererFactory = value;
-		}
-		
-		/**
-		 *  The dataGroup that is the pareent for the itemRenderers
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-//		protected var dataGroup:IItemRendererParent;
-		
-		/**
-		 * @private
-		 */
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Array = selectionModel.dataProvider as Array;
-			if (!dp)
-				return;
-			
-			var list:IList = _strand as IList;
-			var dataGroup:IItemRendererParent = list.dataGroup;
-			
-			dataGroup.removeAllItemRenderers();
-						
-			var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
-			if (view == null) return;
-						
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				var tf:DataItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as DataItemRenderer;
-				dataGroup.addItemRenderer(tf);
-				tf.index = i;
-				tf.labelField = view.column.dataField;
-				tf.data = dp[i];
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
deleted file mode 100644
index 1cf4f57..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
+++ /dev/null
@@ -1,113 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IDataProviderItemRendererMapper;
-	import org.apache.flex.core.IItemRendererClassFactory;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IListPresentationModel;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.IDataProviderModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.SimpleCSSStyles;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.ItemRendererEvent;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.List;
-	import org.apache.flex.html.supportClasses.TreeListData;
-	import org.apache.flex.collections.FlattenedList;
-	
-	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
-    /**
-     *  The DataItemRendererFactoryForHierarchicalData class reads a
-     *  HierarchicalData object and creates an item renderer for every
-     *  item in the array.  Other implementations of
-     *  IDataProviderItemRendererMapper map different data
-     *  structures or manage a virtual set of renderers.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DataItemRendererFactoryForHierarchicalData extends DataItemRendererFactoryForArrayList
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DataItemRendererFactoryForHierarchicalData()
-		{
-			super();
-		}
-
-		private var _strand:IStrand;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			super.strand = value;
-		}
-		
-		/**
-		 * Sets the itemRenderer's data with additional tree-related data.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-		 */
-		override protected function setData(ir:ISelectableItemRenderer, data:Object, index:int):void
-		{
-			// Set the listData with the depth of this item
-			var flatList:FlattenedList = dataProviderModel.dataProvider as FlattenedList;
-			var depth:int = flatList.getDepth(data);
-			var isOpen:Boolean = flatList.isOpen(data);
-			var hasChildren:Boolean = flatList.hasChildren(data);
-			
-			var treeData:TreeListData = new TreeListData();
-			treeData.depth = depth;
-			treeData.isOpen = isOpen;
-			treeData.hasChildren = hasChildren;
-			
-			ir.listData = treeData;
-			
-			super.setData(ir, data, index);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
deleted file mode 100644
index e8c28bd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
+++ /dev/null
@@ -1,77 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.collections.ArrayList;
-    import org.apache.flex.html.supportClasses.DataProviderNotifierBase;
-
-    /**
-	 *  The DataProviderChangeNotifier notifies listeners when a selection model's
-	 *  ArrayList dataProvider has changed.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataProviderChangeNotifier extends DataProviderNotifierBase
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataProviderChangeNotifier()
-		{
-		}
-		
-		override protected function destinationChangedHandler(event:Event):void
-		{
-			if (dataProvider == null)
-			{
-				var object:Object = document[sourceID];
-				dataProvider = object[propertyName] as ArrayList;
-			}
-			else
-			{
-                dataProvider.removeEventListener("itemAdded", handleDataProviderChanges);
-                dataProvider.removeEventListener("itemRemoved", handleDataProviderChanges);
-                dataProvider.removeEventListener("itemUpdated", handleDataProviderChanges);
-                dataProvider.removeEventListener("collectionChanged", handleDataProviderChanges);
-			}
-
-            dataProvider.addEventListener("itemAdded", handleDataProviderChanges);
-            dataProvider.addEventListener("itemRemoved", handleDataProviderChanges);
-            dataProvider.addEventListener("itemUpdated", handleDataProviderChanges);
-            dataProvider.addEventListener("collectionChanged", handleDataProviderChanges);
-		}
-
-		private function handleDataProviderChanges(event:Event):void
-		{
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            selectionModel.dispatchEvent(new Event("dataProviderChanged"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
deleted file mode 100644
index ca1a0ee..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ /dev/null
@@ -1,246 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.SimpleCSSStyles;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.html.Group;
-	import org.apache.flex.html.List;
-	import org.apache.flex.html.TextButton;
-	import org.apache.flex.html.beads.GroupView;
-	import org.apache.flex.html.beads.layouts.HorizontalLayout;
-	import org.apache.flex.html.beads.layouts.TileLayout;
-	import org.apache.flex.html.beads.models.DateChooserModel;
-	import org.apache.flex.html.supportClasses.DateHeaderButton;
-	import org.apache.flex.html.supportClasses.DateChooserHeader;
-	import org.apache.flex.html.supportClasses.DateChooserList;
-
-	/**
-	 * The DateChooserView class is a view bead for the DateChooser. This class
-	 * creates the elements for the DateChooser: the buttons to move between
-	 * months, the labels for the days of the week, and the buttons for each day
-	 * of the month.
-	 *  @viewbead	 
-	 */
-	public class DateChooserView extends GroupView implements IBeadView
-	{
-		/**
-		 *  constructor
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateChooserView()
-		{
-			super();
-		}
-		
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			model = _strand.getBeadByType(IBeadModel) as DateChooserModel;
-			if (model == null) {
-				model = new (ValuesManager.valuesImpl.getValue(_strand,"iBeadModel")) as DateChooserModel;
-			}
-			model.addEventListener("displayedMonthChanged",handleModelChange);
-			model.addEventListener("displayedYearChanged",handleModelChange);
-			
-			createChildren();
-			updateDisplay();
-		}
-		
-		private var model:DateChooserModel;
-		
-		private var _prevMonthButton:DateHeaderButton;
-		private var _nextMonthButton:DateHeaderButton;
-		private var monthLabel:DateHeaderButton;
-		private var monthButtonsContainer:Group;
-		private var dayNamesContainer:DateChooserHeader;
-		private var daysContainer:DateChooserList;
-		
-		/**
-		 *  The button that causes the previous month to be displayed by the DateChooser.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get prevMonthButton():DateHeaderButton
-		{
-			return _prevMonthButton;
-		}
-		
-		/**
-		 *  The button that causes the next month to be displayed by the DateChooser.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get nextMonthButton():DateHeaderButton
-		{
-			return _nextMonthButton;
-		}
-		
-		public function get dayList():List
-		{
-			return daysContainer;
-		}
-		
-		private const controlHeight:int = 26;
-		private const commonButtonWidth:int = 40;
-		
-		/**
-		 * @private
-		 */
-		private function createChildren():void
-		{
-			// HEADER BUTTONS
-			
-			monthButtonsContainer = new Group();
-			monthButtonsContainer.height = controlHeight;
-			monthButtonsContainer.id = "dateChooserMonthButtons";
-			monthButtonsContainer.className = "DateChooserMonthButtons";
-			monthButtonsContainer.style = new SimpleCSSStyles();
-			monthButtonsContainer.style.flexGrow = 0;
-			COMPILE::JS {
-				monthButtonsContainer.element.style["flex-grow"] = "0";
-			}
-			
-			_prevMonthButton = new DateHeaderButton();
-			_prevMonthButton.width = commonButtonWidth;
-			_prevMonthButton.text = "<";
-			if (_prevMonthButton.style == null) {
-				_prevMonthButton.style = new SimpleCSSStyles();
-			}
-			_prevMonthButton.style.flexGrow = 0;
-			COMPILE::JS {
-				_prevMonthButton.element.style["flex-grow"] = "0";
-			}
-			monthButtonsContainer.addElement(_prevMonthButton);
-			
-			monthLabel = new DateHeaderButton();
-			monthLabel.text = "Month Here";
-			if (monthLabel.style == null) {
-				monthLabel.style = new SimpleCSSStyles();
-			}
-			monthLabel.style.flexGrow = 1;
-			COMPILE::JS {
-				monthLabel.element.style["flex-grow"] = "1";
-			}
-			monthButtonsContainer.addElement(monthLabel);
-			
-			_nextMonthButton = new DateHeaderButton();
-			_nextMonthButton.width = commonButtonWidth;
-			_nextMonthButton.text = ">";
-			if (_nextMonthButton.style == null) {
-				_nextMonthButton.style = new SimpleCSSStyles();
-			}
-			COMPILE::JS {
-				_nextMonthButton.element.style["flex-grow"] = "0";
-			}
-			_nextMonthButton.style.flexGrow = 0;
-			monthButtonsContainer.addElement(_nextMonthButton);
-			
-			UIBase(_strand).addElement(monthButtonsContainer, false);
-			
-			// DAY NAMES
-			
-			dayNamesContainer = new DateChooserHeader();
-			dayNamesContainer.id = "dateChooserDayNames";
-			dayNamesContainer.className = "DateChooserHeader";
-			dayNamesContainer.height = controlHeight;
-			dayNamesContainer.style = new SimpleCSSStyles();
-			dayNamesContainer.style.flexGrow = 0;
-			COMPILE::JS {
-				dayNamesContainer.element.style["flex-grow"] = "0";
-				dayNamesContainer.element.style["align-items"] = "center";
-			}
-			COMPILE::SWF {
-				dayNamesContainer.percentWidth = 100;
-			}
-			UIBase(_strand).addElement(dayNamesContainer, false);
-			
-			// DAYS
-			
-			daysContainer = new DateChooserList();
-			daysContainer.className = "DateChooserList";
-			daysContainer.id = "dateChooserList";
-			daysContainer.style = new SimpleCSSStyles();
-			daysContainer.style.flexGrow = 1;
-			COMPILE::JS {
-				daysContainer.element.style["flex-grow"] = "1";
-			}
-			COMPILE::SWF {
-				daysContainer.percentWidth = 100;
-			}
-			UIBase(_strand).addElement(daysContainer, false);
-			
-			
-			IEventDispatcher(daysContainer).dispatchEvent( new Event("itemsCreated") );
-			model.addEventListener("selectedDateChanged", selectionChangeHandler);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function updateDisplay():void
-		{
-			monthLabel.text = model.monthNames[model.displayedMonth] + " " +
-				String(model.displayedYear);
-			
-			dayNamesContainer.dataProvider = model.dayNames;
-			
-			daysContainer.dataProvider = model.days;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function selectionChangeHandler(event:Event):void
-		{
-			updateDisplay();
-			
-			var index:Number = model.getIndexForSelectedDate();
-			daysContainer.selectedIndex = index;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleModelChange(event:Event):void
-		{
-			updateDisplay();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
deleted file mode 100644
index 33bdfbb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
+++ /dev/null
@@ -1,199 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{	
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.core.IFormatBead;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.utils.UIUtils;
-	import org.apache.flex.utils.PointUtils;
-	import org.apache.flex.geom.Point;
-	import org.apache.flex.html.DateChooser;
-	import org.apache.flex.html.TextButton;
-	import org.apache.flex.html.TextInput;
-	
-	/**
-	 * The DateFieldView class is a bead for DateField that creates the
-	 * input and button controls. This class also handles the pop-up 
-	 * mechanics.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateFieldView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateFieldView()
-		{
-		}
-		
-		private var _textInput:TextInput;
-		private var _button:TextButton;
-		
-		/**
-		 *  The TextButton that triggers the display of the DateChooser pop-up.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get menuButton():TextButton
-		{
-			return _button;
-		}
-		
-		/**
-		 *  The TextInput that displays the date selected.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get textInput():TextInput
-		{
-			return _textInput;
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{	
-			super.strand = value;
-			
-			_textInput = new TextInput();
-			UIBase(_strand).addElement(_textInput);
-			_textInput.width = 100;
-			_textInput.height = 18;
-			
-			_button = new TextButton();
-			_button.text = "M";
-			UIBase(_strand).addElement(_button);
-			
-			COMPILE::SWF {
-				_button.x = _textInput.width;
-				_button.y = _textInput.y;
-			}
-			
-			IEventDispatcher(_strand).addEventListener("beadsAdded",handleBeadsAdded);
-		}
-		
-		private function handleBeadsAdded(event:Event):void
-		{
-			var formatter:IFormatBead = _strand.getBeadByType(IFormatBead) as IFormatBead;
-			formatter.addEventListener("formatChanged",handleFormatChanged);
-		}
-		
-		private function handleFormatChanged(event:Event):void
-		{
-			var formatter:IFormatBead = event.target as IFormatBead;
-			_textInput.text = formatter.formattedString;
-		}
-		
-		private var _popUp:DateChooser;
-		
-		/**
-		 *  The pop-up component that holds the selection list.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get popUp():DateChooser
-		{
-			return _popUp;
-		}
-		
-		private var _popUpVisible:Boolean;
-		
-		/**
-		 *  This property is true if the pop-up selection list is currently visible.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get popUpVisible():Boolean
-		{
-			return _popUpVisible;
-		}
-		public function set popUpVisible(value:Boolean):void
-		{
-			if (value != _popUpVisible)
-			{
-				_popUpVisible = value;
-				if (value)
-				{
-					if (!_popUp)
-					{
-						_popUp = new DateChooser();
-						_popUp.width = 210;
-						_popUp.height = 230;
-					}
-					
-					var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
-					_popUp.selectedDate = model.selectedDate;
-					
-					var host:IPopUpHost = UIUtils.findPopUpHost(UIBase(_strand));
-					var point:Point = new Point(_textInput.width, _button.height);
-					var p2:Point = PointUtils.localToGlobal(point, _strand);
-					var p3:Point = PointUtils.globalToLocal(p2, host);
-					_popUp.x = p3.x;
-					_popUp.y = p3.y;
-					COMPILE::JS {
-						_popUp.element.style.position = "absolute";
-					}
-					
-					host.addElement(_popUp);
-				}
-				else
-				{
-					UIUtils.removePopUp(_popUp);
-				}
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DecrementButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DecrementButtonView.as
deleted file mode 100644
index 19026ce..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DecrementButtonView.as
+++ /dev/null
@@ -1,94 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.svg.Path;
-	import org.apache.flex.svg.Rect;
-	import org.apache.flex.graphics.SolidColor;
-	import org.apache.flex.graphics.SolidColorStroke;
-	import org.apache.flex.events.Event;
-
-	public class DecrementButtonView extends BeadViewBase implements IBeadView
-	{
-		public function DecrementButtonView()
-		{
-			super();
-		}
-
-		private var _backRect:Rect;
-		private var _arrow:Path;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			_strand = value;
-
-			var host:UIBase = _strand as UIBase;
-
-			_backRect = new Rect();
-			_backRect.fill = new SolidColor();
-			(_backRect.fill as SolidColor).color = 0xFFFFFF;
-			_backRect.stroke = new SolidColorStroke();
-			(_backRect.stroke as SolidColorStroke).color = 0x000000;
-			(_backRect.stroke as SolidColorStroke).weight = 1.0;
-			host.addElement(_backRect);
-
-			// arrow
-			_arrow = new Path();
-			_arrow.fill = new SolidColor();
-			(_arrow.fill as SolidColor).color = 0x000000;
-			host.addElement(_arrow);
-
-			host.addEventListener("widthChanged", sizeHandler);
-			host.addEventListener("heightChanged", sizeHandler);
-
-			sizeHandler(null);
-		}
-
-		private function sizeHandler(event:Event):void
-		{
-			var host:UIBase = _strand as UIBase;
-
-			_backRect.x = 0;
-			_backRect.y = 0;
-			_backRect.setWidthAndHeight(host.width, host.height, true);
-			_backRect.drawRect(0, 0, host.width, host.height);
-
-			var xm:Number = host.width/2;
-			var ym:Number = host.height - 4;
-
-			_arrow.setWidthAndHeight(xm, ym, true);
-			_arrow.y = 2;
-			_arrow.x = 0;
-			_arrow.drawStringPath(0, 0, "M "+xm+" "+ym+" L "+(xm-8)+" 2 "+(xm+8)+" 2 "+xm+" "+ym+" Z");
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
deleted file mode 100644
index b49e7a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
+++ /dev/null
@@ -1,116 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	
-    /**
-     *  The DownArrowButtonView class is the view for
-     *  the down arrow button in a ScrollBar and other controls.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DownArrowButtonView extends BeadViewBase implements IBeadView
-	{		
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DownArrowButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
-			g.endFill();
-			g.lineStyle(0);
-			g.beginFill(0);
-			g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
-			g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.QuarterSize);
-			g.lineTo(ScrollBarView.HalfSize, ScrollBarView.ThreeQuarterSize);
-			g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
-			g.endFill();
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-
-            IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-        }
-				
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-        
-        private function sizeChangeHandler(event:Event):void
-        {
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-            button.scaleX = button.width / ScrollBarView.FullSize;
-            button.scaleY = button.height / ScrollBarView.FullSize;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
deleted file mode 100644
index 459d718..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
+++ /dev/null
@@ -1,301 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObjectContainer;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IPopUpHost;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.utils.SolidBorderUtil;
-	import org.apache.flex.utils.UIUtils;
-    
-    /**
-     *  The DropDownListView class is the default view for
-     *  the org.apache.flex.html.DropDownList class.
-     *  It displays a simple text label with what appears to be a
-     *  down arrow button on the right, but really, the entire
-     *  view is the button that will display or dismiss the dropdown.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DropDownListView extends BeadViewBase implements IDropDownListView, IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DropDownListView()
-		{
-            upSprite = new Sprite();
-            downSprite = new Sprite();
-            overSprite = new Sprite();
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-            upSprite.addChild(upTextField);
-            overSprite.addChild(overTextField);
-            downSprite.addChild(downTextField);
-            upTextField.parentDrawsBackground = true;
-            downTextField.parentDrawsBackground = true;
-            overTextField.parentDrawsBackground = true;
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-            overTextField.type = TextFieldType.DYNAMIC;
-            // auto-size collapses if no text
-			//upTextField.autoSize = "left";
-			//downTextField.autoSize = "left";
-			//overTextField.autoSize = "left";
-
-            upArrows = new Shape();
-            overArrows = new Shape();
-            downArrows = new Shape();
-            upSprite.addChild(upArrows);
-			overSprite.addChild(overArrows);
-			downSprite.addChild(downArrows);
-            drawArrows(upArrows);
-            drawArrows(overArrows);
-            drawArrows(downArrows);
-
-		}
-
-        
-		private var selectionModel:ISelectionModel;
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-            selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-            selectionModel.addEventListener("dataProviderChanged", selectionChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upSprite;
-            button.downState = downSprite;
-            button.overState = overSprite;
-            button.hitTestState = shape;
-			if (selectionModel.selectedIndex !== -1)
-				text = selectionModel.selectedItem.toString();
-            else
-                text = "^W_";
-            upTextField.height = upTextField.textHeight + 4;
-            downTextField.height = downTextField.textHeight + 4;
-            overTextField.height = overTextField.textHeight + 4;
-            if (selectionModel.selectedIndex == -1)
-                text = "";
-            
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			changeHandler(null);
-		}
-		
-		private function selectionChangeHandler(event:Event):void
-		{
-            if (selectionModel.selectedItem == null)
-                text = "";
-            else if (selectionModel.labelField != null)
-                text = selectionModel.selectedItem[selectionModel.labelField].toString();
-            else
-                text = selectionModel.selectedItem.toString();
-		}
-		
-        private function changeHandler(event:Event):void
-        {
-            var ww:Number = IUIBase(_strand).width;
-            var hh:Number = IUIBase(_strand).height;
-            
-            upArrows.x = ww - upArrows.width - 6;            
-            overArrows.x = ww - overArrows.width - 6;            
-            downArrows.x = ww - downArrows.width - 6;
-            upArrows.y = (hh - upArrows.height) / 2;            
-            overArrows.y = (hh - overArrows.height) / 2;            
-            downArrows.y = (hh - downArrows.height) / 2;
-
-			upTextField.width = upArrows.x;
-			downTextField.width = downArrows.x;
-			overTextField.width = overArrows.x;
-			upTextField.height = hh;
-			downTextField.height = hh;
-			overTextField.height = hh;
-            
-            drawBorder(upSprite, 0xf8f8f8, ww, hh);
-            drawBorder(overSprite, 0xe8e8e8, ww, hh);
-            drawBorder(downSprite, 0xd8d8d8, ww, hh);
-            
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ww, hh);
-			shape.graphics.endFill();
-        }
-        
-		private var upTextField:CSSTextField;
-		private var downTextField:CSSTextField;
-		private var overTextField:CSSTextField;
-        private var upSprite:Sprite;
-        private var downSprite:Sprite;
-        private var overSprite:Sprite;
-        private var upArrows:Shape;
-        private var downArrows:Shape;
-        private var overArrows:Shape;
-		
-        private function drawBorder(sprite:Sprite, color:uint, ww:Number, hh:Number):void
-        {
-			sprite.graphics.clear();
-            SolidBorderUtil.drawBorder(sprite.graphics, 0, 0,
-                ww, hh,
-                0x808080, color, 1, 1, 4);
-        }
-        
-        private function drawArrows(shape:Shape):void
-        {
-            var g:Graphics = shape.graphics;
-            g.beginFill(0);
-            g.moveTo(8, 0);
-            g.lineTo(12, 4);
-            g.lineTo(4, 4);
-            g.lineTo(8, 0);
-            g.endFill();
-            g.beginFill(0);
-            g.moveTo(8, 10);
-            g.lineTo(12, 6);
-            g.lineTo(4, 6);
-            g.lineTo(8, 10);
-            g.endFill();
-        }
-            
-       /**
-         *  The text that is displayed in the view.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-		}
-		
-        private var _popUp:IStrand;
-        
-        /**
-         *  The dropdown/popup that displays the set of choices.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get popUp():IStrand
-        {
-            if (!_popUp)
-            {
-                var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-                _popUp = new popUpClass() as IStrand;
-            }
-            return _popUp;
-        }
-        
-        private var _popUpVisible:Boolean;
-        
-        /**
-         *  A flag that indicates whether the dropdown/popup is
-         *  visible.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get popUpVisible():Boolean
-        {
-            return _popUpVisible;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set popUpVisible(value:Boolean):void
-        {
-            var host:IPopUpHost;
-            if (value != _popUpVisible)
-            {
-                _popUpVisible = value;
-                if (value)
-                {
-					host = UIUtils.findPopUpHost(_strand as IUIBase);
-                    IPopUpHost(host).addElement(popUp as IChild);
-                }
-                else
-                {
-                    host = UIUtils.findPopUpHost(_strand as IUIBase);
-                    IPopUpHost(host).removeElement(popUp as IChild);
-                }
-            }
-        }
-        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HRuleView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HRuleView.as
deleted file mode 100644
index e72c4ee..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HRuleView.as
+++ /dev/null
@@ -1,88 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Bitmap;
-	import flash.display.Loader;
-	import flash.display.LoaderInfo;
-	import flash.net.URLRequest;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  The ImageView class creates the visual elements of the org.apache.flex.html.Image component.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class HRuleView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function HRuleView()
-		{
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
-			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
-            IEventDispatcher(_strand).addEventListener("sizeChanged",handleSizeChange);
-			
-			handleSizeChange(null);
-		}
-				
-		/**
-		 * @private
-		 */
-		private function handleSizeChange(event:Object):void
-		{
-			var ui:UIBase = _strand as UIBase;
-            ui.$sprite.graphics.clear();
-            ui.$sprite.graphics.beginFill(0);
-            ui.$sprite.graphics.drawRect(0, 0, ui.width, 1);
-            ui.$sprite.graphics.endFill();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
deleted file mode 100644
index 2a0806c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
+++ /dev/null
@@ -1,125 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.supportClasses.ScrollBar;
-	
-    /**
-     *  The HScrollBarThumbView class is the view for
-     *  the thumb button in a Horizontal ScrollBar.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class HScrollBarThumbView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HScrollBarThumbView()
-		{
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-            var ww:Number = IUIBase(_strand).width;
-            g.clear();
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRoundRect(0, 0, ww, ScrollBarView.FullSize, ScrollBarView.HalfSize);
-			g.endFill();
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            
-            upView = new Shape();
-            downView = new Shape();
-            overView = new Shape();
-            
-            drawView(upView.graphics, 0xc8c8c8);
-            drawView(downView.graphics, 0xc8c8c8);
-            drawView(overView.graphics, 0xb8b8b8);
-
-            shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-            IEventDispatcher(_strand).addEventListener("widthChanged", widthChangedHandler);
-		}
-
-        private function widthChangedHandler(event:Event):void
-        {
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			button.scaleY = 1.0;
-			button.scaleX = 1.0;
-			
-            var ww:Number = button.width;
-            drawView(upView.graphics, 0xc8c8c8);
-            drawView(downView.graphics, 0xc8c8c8);
-            drawView(overView.graphics, 0xb8b8b8);
-            
-            shape.graphics.clear();
-            shape.graphics.beginFill(0xCCCCCC);
-            shape.graphics.drawRect(0, 0, ww, ScrollBarView.FullSize);
-            shape.graphics.endFill();
-        }
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
deleted file mode 100644
index 8745bef..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
+++ /dev/null
@@ -1,125 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The HScrollBarTrackView class is the view for
-     *  the track in a Horizontal ScrollBar.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class HScrollBarTrackView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HScrollBarTrackView()
-		{
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			var w:Number = Button(_strand).width;
-			
-			g.clear();
-			g.lineStyle(1, 0x808080);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, w, ScrollBarView.FullSize);
-			g.endFill();
-			g.lineStyle(0);
-		}
-
-		private function widthChangeHandler(event:Event):void
-		{
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			button.scaleY = 1.0;
-			button.scaleX = 1.0;
-			
-			var w:Number = Button(_strand).width;
-			
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);	
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, w);
-			shape.graphics.endFill();
-			
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-			
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);
-			
-			IEventDispatcher(value).addEventListener("widthChanged", widthChangeHandler);
-			shape = new Shape();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-		}
-
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarView.as
deleted file mode 100644
index ed80be7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarView.as
+++ /dev/null
@@ -1,105 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	
-    import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.Strand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.Event;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
-    /**
-     *  The HScrollBarView class is the default view for
-     *  the org.apache.flex.html.supportClasses.HScrollBar class.
-     *  It implements the classic desktop-like HScrollBar.
-     *  A different view would implement more modern scrollbars that hide themselves
-     *  until hovered over with the mouse.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class HScrollBarView extends ScrollBarView implements IBeadView, IStrand, IScrollBarView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HScrollBarView()
-		{
-		}
-
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-            var v:UIBase = UIBase(value);
-			v.setHeight(ScrollBarView.FullSize, true);
-            
-            // TODO: (aharui) put in values impl
-			_increment = new Button();
-            var i:Button = _increment;
-			i.addBead(new RightArrowButtonView());
-            i.addBead(new ButtonAutoRepeatController());
-			_decrement = new Button();
-            var d:Button = _decrement;
-			d.addBead(new LeftArrowButtonView());
-            d.addBead(new ButtonAutoRepeatController());
-			_track = new Button();
-            var tr:Button = _track;
-			tr.addBead(new HScrollBarTrackView());
-			_thumb = new Button();
-            var th:Button = _thumb;
-			th.addBead(new HScrollBarThumbView());
-            
-            v.$sprite.addChild(d.$button);
-            v.$sprite.addChild(i.$button);
-            v.$sprite.addChild(tr.$button);
-            v.$sprite.addChild(th.$button);
-            
-            IEventDispatcher(_strand).addEventListener("widthChanged", changeHandler);
-
-            layout.layout();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBackgroundBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBackgroundBead.as
deleted file mode 100644
index 2590a9a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBackgroundBead.as
+++ /dev/null
@@ -1,35 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-
-    /**
-     *  The IBackgroundBead interface is a marker interface for beads
-     *  that draw backgrounds.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IBackgroundBead extends IBead
-	{
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBorderBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBorderBead.as
deleted file mode 100644
index 3e4fc39..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBorderBead.as
+++ /dev/null
@@ -1,35 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-
-    /**
-     *  The IBackgroundBead interface is a marker interface for beads
-     *  that draw backgrounds.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IBorderBead extends IBead
-	{
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
deleted file mode 100644
index e58d868..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
+++ /dev/null
@@ -1,76 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IStrand;
-    
-	/**
-	 *  The IComboBoxView interface provides the protocol for any bead that
-	 *  creates the visual parts for a org.apache.flex.html.ComboBox control.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IComboBoxView extends IBeadView
-	{
-		/**
-		 *  The sub-component used for the input area of the ComboBox.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get textInputField():Object;
-		
-		/**
-		 *  The sub-component used for the button to activate the pop-up.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get popupButton():Object;
-		
-		/**
-		 *  The component housing the selection list.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get popUp():Object;
-		
-		/**
-		 *  Determines whether or not the pop-up with the selection list is visible or not.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get popUpVisible():Boolean;
-		function set popUpVisible(value:Boolean):void;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDropDownListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDropDownListView.as
deleted file mode 100644
index 688bcc5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDropDownListView.as
+++ /dev/null
@@ -1,57 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IStrand;
-
-    /**
-     *  The IDropDownListView interface is the interface for views for
-     *  the org.apache.flex.html.DropDownList.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IDropDownListView extends IBeadView
-	{
-        
-        /**
-         *  @copy org.apache.flex.html.beads.DropDownListView#popup
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        function get popUp():IStrand;
-        
-        /**
-         *  @copy org.apache.flex.html.beads.DropDownListView#popupVisible
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        function get popUpVisible():Boolean;
-        function set popUpVisible(value:Boolean):void;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IGraphicsDrawing.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IGraphicsDrawing.as
deleted file mode 100644
index 91d1838..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IGraphicsDrawing.as
+++ /dev/null
@@ -1,36 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    /**
-     *  The IGraphicsDrawing interface is a marker interface for beads
-     *  that draw into the graphics layer.  This helps a bead determine
-     *  if it is the first of many graphics drawing beads so it can
-     *  know whether or not to clear the graphics layer before drawing.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IGraphicsDrawing
-	{
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IListView.as
deleted file mode 100644
index f9159ce..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IListView.as
+++ /dev/null
@@ -1,48 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{	
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IStrand;
-
-	/**
-	 *  The IListView interface provides the protocol for any bead that
-	 *  creates the visual parts for a org.apache.flex.html.List control.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface IListView extends IBeadView
-	{
-		/**
-		 *  The component which parents all of the itemRenderers for each
-		 *  datum being displayed by the List component.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get dataGroup():IItemRendererParent;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
deleted file mode 100644
index a2b8494..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
+++ /dev/null
@@ -1,80 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.html.Button;
-	
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-
-    /**
-     *  The IScrollBarView interface is the interface for views for
-     *  the org.apache.flex.html.supportClasses.ScrollBar.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface IScrollBarView
-	{
-        /**
-         *  The down arrow button in a vertical ScrollBar or right arrow
-         *  button in a horizontal ScrollBar
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get increment():Button;
-        
-        /**
-         *  The up arrow button in a vertical ScrollBar or left arrow
-         *  button in a horizontal ScrollBar
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get decrement():Button;
-
-        /**
-         *  The track in a ScrollBar
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get track():Button;
-        
-        /**
-         *  The thumb in a ScrollBar
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get thumb():Button;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISliderView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISliderView.as
deleted file mode 100644
index 31ff9e9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISliderView.as
+++ /dev/null
@@ -1,55 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IUIBase;
-	
-	/**
-	 *  The ISliderView interface provides the protocol for any bead that
-	 *  creates the visual parts for a org.apache.flex.html.Slider control.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface ISliderView extends IBead
-	{
-		/**
-		 *  The component used for the track area of the org.apache.flex.html.Slider.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get track():IUIBase;
-		
-		/**
-		 *  The component used for the thumb button of the org.apache.flex.html.Slider.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		function get thumb():IUIBase;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISpinnerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISpinnerView.as
deleted file mode 100644
index e3b13a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISpinnerView.as
+++ /dev/null
@@ -1,69 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    COMPILE::SWF
-    {
-		import org.apache.flex.html.Button;
-    }
-    COMPILE::JS
-    {
-    	import org.apache.flex.html.supportClasses.SpinnerButton;
-    }
-
-	import org.apache.flex.core.IBead;
-
-	/**
-	 *  The ISpinnerView interface provides the protocol for any bead that
-	 *  creates the visual parts for a org.apache.flex.html.Spinner control.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public interface ISpinnerView extends IBead
-	{
-		/**
-		 *  The component used to increment the org.apache.flex.html.Spinner value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        COMPILE::SWF
-		function get increment():Button;
-		COMPILE::JS
-		function get increment():SpinnerButton;
-
-		/**
-		 *  The component used to decrement the org.apache.flex.html.Spinner value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        COMPILE::SWF
-		function get decrement():Button;
-		COMPILE::JS
-		function get decrement():SpinnerButton;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextFieldView.as
deleted file mode 100644
index e94ee34..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextFieldView.as
+++ /dev/null
@@ -1,44 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.CSSTextField;
-
-    /**
-     *  The ITextFieldView interface is the interface for views for
-     *  the use a CSSTextField to display text.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface ITextFieldView
-	{
-        /**
-         *  The org.apache.flex.core.CSSTextField used to display text.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		function get textField():CSSTextField;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextItemRenderer.as
deleted file mode 100644
index 0877b05..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextItemRenderer.as
+++ /dev/null
@@ -1,45 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.ISelectableItemRenderer;
-
-    /**
-     *  The ITextItemRenderer interface is the interface for
-     *  for org.apache.flex.core.IItemRenderer that display text.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public interface ITextItemRenderer extends ISelectableItemRenderer
-	{
-        /**
-         *  The text to be displayed in the item renderer.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        function get text():String;
-        function set text(value:String):void;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
deleted file mode 100644
index 1c1d1ba..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
+++ /dev/null
@@ -1,279 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Loader;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.events.Event;
-	import flash.net.URLRequest;
-	import flash.text.TextField;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IStrandWithModel;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.beads.models.ImageAndTextModel;
-	import org.apache.flex.utils.SolidBorderUtil;
-	
-	/**
-	 *  The ImageButtonView class provides an image-only view
-	 *  for the standard Button. Unlike the CSSButtonView, this
-	 *  class does not support background and border; only images
-	 *  for the up, over, and active states.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ImageAndTextButtonView extends BeadViewBase implements IBeadView, IBead
-	{
-		/**
-		 *  Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ImageAndTextButtonView()
-		{
-			upSprite = new Sprite();
-			downSprite = new Sprite();
-			overSprite = new Sprite();
-            upTextField = new CSSTextField();
-            downTextField = new CSSTextField();
-            overTextField = new CSSTextField();
-            upTextField.selectable = false;
-            upTextField.type = TextFieldType.DYNAMIC;
-            downTextField.selectable = false;
-            downTextField.type = TextFieldType.DYNAMIC;
-            overTextField.selectable = false;
-            overTextField.type = TextFieldType.DYNAMIC;
-            upTextField.autoSize = "left";
-            downTextField.autoSize = "left";
-            overTextField.autoSize = "left";
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            textModel = IStrandWithModel(value).model as ImageAndTextModel;
-            textModel.addEventListener("textChange", textChangeHandler);
-            textModel.addEventListener("htmlChange", htmlChangeHandler);
-            textModel.addEventListener("imageChange", imageChangeHandler);
-			
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upSprite;
-			button.downState = downSprite;
-			button.overState = overSprite;
-			button.hitTestState = shape;
-			
-			setupBackground(upSprite, upTextField, 0xCCCCCC);
-			setupBackground(overSprite, overTextField, 0xFFCCCC, "hover");
-			setupBackground(downSprite, downTextField, 0x808080, "active");
-            upTextField.styleParent = value;
-            downTextField.styleParent = value;
-            overTextField.styleParent = value;
-
-		}
-		
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		private var shape:Shape;
-        
-        private var textModel:ImageAndTextModel;
-		
-        /**
-         *  The URL of an icon to use in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get image():String
-        {
-            return textModel.image;
-        }
-                
-		/**
-		 * @private
-		 */
-		private function setupBackground(sprite:Sprite, textField:CSSTextField, color:uint, state:String = null):void
-		{
-			var backgroundImage:Object = image;
-			if (backgroundImage)
-			{
-				var loader:Loader = new Loader();
-				sprite.addChildAt(loader, 0);
-                sprite.addChild(textField);
-				var url:String = backgroundImage as String;
-				loader.load(new URLRequest(url));
-				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { 
-                    var padding:int = 2;
-                    var borderWidth:int = 1;
-					updateHitArea();
-                    loader.x = padding;
-                    textField.x = loader.width + padding;
-                    textField.y = padding;
-                    loader.y = (textField.height + padding + padding - loader.height) / 2;
-                    sprite.graphics.clear();
-                    sprite.graphics.beginFill(color);
-                    sprite.graphics.drawRect(0, 0, sprite.width, sprite.height);
-                    sprite.graphics.endFill();
-                    SolidBorderUtil.drawBorder(sprite.graphics, 
-                        0, 0, textField.x + textField.width + padding, textField.height + padding + padding,
-                        0x000000, color, borderWidth);
-				});
-			}
-		}
-        
-        private function textChangeHandler(event:Event):void
-        {
-            text = textModel.text;
-        }
-        
-        private function htmlChangeHandler(event:Event):void
-        {
-            html = textModel.html;
-        }
-		
-        private function imageChangeHandler(event:Event):void
-        {
-            setupBackground(upSprite, upTextField, 0xCCCCCC);
-            setupBackground(overSprite, overTextField, 0xFFCCCC, "hover");
-            setupBackground(downSprite, downTextField, 0x808080, "active");
-        }
-        
-        /**
-         *  The CSSTextField in the up state
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var upTextField:CSSTextField;
-        
-        /**
-         *  The CSSTextField in the down state
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var downTextField:CSSTextField;
-        
-        /**
-         *  The CSSTextField in the over state
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var overTextField:CSSTextField;
-        
-        /**
-         *  @copy org.apache.flex.html.core.ITextModel#text
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get text():String
-        {
-            return upTextField.text;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set text(value:String):void
-        {
-            upTextField.text = value;
-            downTextField.text = value;
-            overTextField.text = value;
-            shape.graphics.clear();
-            shape.graphics.beginFill(0xCCCCCC);
-            shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
-            shape.graphics.endFill();
-            
-        }
-        
-        /**
-         *  @copy org.apache.flex.html.core.ITextModel#text
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get html():String
-        {
-            return upTextField.htmlText;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set html(value:String):void
-        {
-            upTextField.htmlText = value;
-            downTextField.htmlText = value;
-            overTextField.htmlText = value;
-        }
-
-        /**
-		 * @private
-		 */
-		private function updateHitArea():void
-		{
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
-			shape.graphics.endFill();
-			
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
deleted file mode 100644
index 92b5aec..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
+++ /dev/null
@@ -1,175 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-COMPILE::SWF {
-	import flash.display.Loader;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.events.Event;
-    import flash.events.IOErrorEvent;
-	import flash.net.URLRequest;
-
-	import org.apache.flex.core.UIButtonBase;
-}
-    
-    import org.apache.flex.core.BeadViewBase;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-
-	/**
-	 *  The ImageButtonView class provides an image-only view
-	 *  for the standard Button. Unlike the CSSButtonView, this
-	 *  class does not support background and border; only images
-	 *  for the up, over, and active states.
-	 *
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ImageButtonView extends BeadViewBase implements IBeadView, IBead
-	{
-		/**
-		 *  Constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ImageButtonView()
-		{
-			COMPILE::SWF {
-				upSprite = new Sprite();
-				downSprite = new Sprite();
-				overSprite = new Sprite();
-			}
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-
-			COMPILE::SWF {
-				shape = new Shape();
-				shape.graphics.beginFill(0xCCCCCC);
-				shape.graphics.drawRect(0, 0, 10, 10);
-				shape.graphics.endFill();
-                var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-				button.upState = upSprite;
-				button.downState = downSprite;
-				button.overState = overSprite;
-				button.hitTestState = shape;
-
-				setupBackground(upSprite);
-				setupBackground(overSprite, "hover");
-				setupBackground(downSprite, "active");
-				
-				IEventDispatcher(value).addEventListener("sourceChanged", handleSourceChange);
-			}
-		}
-
-		COMPILE::SWF {
-			private var upSprite:Sprite;
-			private var downSprite:Sprite;
-			private var overSprite:Sprite;
-			private var shape:Shape;
-		}
-
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function setupBackground(sprite:Sprite, state:String = null):void
-		{
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
-			if (backgroundImage)
-			{
-				var loader:Loader = new Loader();
-				sprite.addChildAt(loader, 0);
-				var url:String = backgroundImage as String;
-				loader.load(new URLRequest(url));
-                loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
-                    trace(e);
-                    e.preventDefault();
-                });
-				loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
-                    var host:UIButtonBase = UIButtonBase(_strand);
-                    if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
-                    {
-                        host.setWidth(loader.content.width);
-                        if (host.parent is IEventDispatcher)
-                            IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
-                    }
-                    else
-                        loader.content.width = host.width;
-
-                    if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
-                    {
-                        host.setHeight(loader.content.height);
-                        if (host.parent is IEventDispatcher)
-                            IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
-                    }
-                    else
-                        loader.content.height = host.height;
-                    updateHitArea();
-				});
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function handleSourceChange(event:org.apache.flex.events.Event):void
-		{
-			setupBackground(upSprite);
-			setupBackground(overSprite, "hover");
-			setupBackground(downSprite, "active");
-		}
-
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function updateHitArea():void
-		{
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
-			shape.graphics.endFill();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as
deleted file mode 100644
index c3a0c39..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as
+++ /dev/null
@@ -1,47 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.ImageViewBase;
-	
-	/**
-	 *  The ImageView class creates the visual elements of the org.apache.flex.html.Image component.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ImageView extends ImageViewBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ImageView()
-		{
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IncrementButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IncrementButtonView.as
deleted file mode 100644
index de1296b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IncrementButtonView.as
+++ /dev/null
@@ -1,94 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.svg.Path;
-	import org.apache.flex.svg.Rect;
-	import org.apache.flex.graphics.SolidColor;
-	import org.apache.flex.graphics.SolidColorStroke;
-	import org.apache.flex.events.Event;
-
-	public class IncrementButtonView extends BeadViewBase implements IBeadView
-	{
-		public function IncrementButtonView()
-		{
-			super();
-		}
-
-		private var _backRect:Rect;
-		private var _arrow:Path;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			_strand = value;
-
-			var host:UIBase = _strand as UIBase;
-
-			_backRect = new Rect();
-			_backRect.fill = new SolidColor();
-			(_backRect.fill as SolidColor).color = 0xFFFFFF;
-			_backRect.stroke = new SolidColorStroke();
-			(_backRect.stroke as SolidColorStroke).color = 0x000000;
-			(_backRect.stroke as SolidColorStroke).weight = 1.0;
-			host.addElement(_backRect);
-
-			// arrow
-			_arrow = new Path();
-			_arrow.fill = new SolidColor();
-			(_arrow.fill as SolidColor).color = 0x000000;
-			host.addElement(_arrow);
-
-			host.addEventListener("widthChanged", sizeHandler);
-			host.addEventListener("heightChanged", sizeHandler);
-
-			sizeHandler(null);
-		}
-
-		private function sizeHandler(event:Event):void
-		{
-			var host:UIBase = _strand as UIBase;
-
-			_backRect.x = 0;
-			_backRect.y = 0;
-			_backRect.setWidthAndHeight(host.width, host.height, true);
-			_backRect.drawRect(0, 0, host.width, host.height);
-
-			var xm:Number = host.width/2;
-			var ym:Number = host.height - 4;
-
-			_arrow.setWidthAndHeight(xm, ym, true);
-			_arrow.y = 2;
-			_arrow.x = 0;
-			_arrow.drawStringPath(0, 0, "M "+xm+" 2 L "+(xm-8)+" "+ym+" L "+(xm+8)+" "+ym+" Z");
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
deleted file mode 100644
index 243c08d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
+++ /dev/null
@@ -1,117 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The LeftArrowButtonView class is the view for
-     *  the left arrow button in a ScrollBar and other controls.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class LeftArrowButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function LeftArrowButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.lineStyle(1, 0x808080);
-			g.beginFill(bgColor);
-			g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
-			g.endFill();
-			g.lineStyle(0);
-			g.beginFill(0);
-			g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.HalfSize);
-			g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.ThreeQuarterSize);
-			g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.QuarterSize);
-			g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.HalfSize);
-			g.endFill();
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-            
-            IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-        private function sizeChangeHandler(event:Event):void
-        {
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-            button.scaleX = button.width / ScrollBarView.FullSize;
-            button.scaleY = button.height / ScrollBarView.FullSize;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
deleted file mode 100644
index 0f73421..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ /dev/null
@@ -1,196 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.ContainerBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IList;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.IItemRenderer;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IParent;
-    import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.Strand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.beads.models.ArraySelectionModel;
-	import org.apache.flex.html.beads.models.ScrollBarModel;
-	import org.apache.flex.html.beads.models.SingleLineBorderModel;
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.DataGroup;
-	import org.apache.flex.html.supportClasses.ScrollBar;
-
-	/**
-	 *  The List class creates the visual elements of the org.apache.flex.html.List
-	 *  component. A List consists of the area to display the data (in the dataGroup), any
-	 *  scrollbars, and so forth.
-	 *
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	COMPILE::JS
-	public class ListView extends DataContainerView
-	{
-		public function ListView()
-		{
-			super();
-		}
-
-		protected var listModel:ISelectionModel;
-
-		protected var lastSelectedIndex:int = -1;
-
-		/**
-		 * @private
-		 */
-		override protected function handleInitComplete(event:Event):void
-		{
-			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-			listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-
-			super.handleInitComplete(event);
-		}
-
-		protected function selectionChangeHandler(event:Event):void
-		{
-			if (lastSelectedIndex != -1)
-			{
-				var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer;
-				if (ir != null) ir.selected = false;
-			}
-			if (listModel.selectedIndex != -1)
-			{
-				ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer;
-				if (ir != null) ir.selected = true;
-			}
-			lastSelectedIndex = listModel.selectedIndex;
-		}
-
-		protected var lastRollOverIndex:int = -1;
-
-		/**
-		 * @private
-		 */
-		protected function rollOverIndexChangeHandler(event:Event):void
-		{
-			if (lastRollOverIndex != -1)
-			{
-				var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
-				ir.hovered = false;
-			}
-			if (IRollOverModel(listModel).rollOverIndex != -1)
-			{
-				ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
-				ir.hovered = true;
-			}
-			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
-		}
-	}
-
-	COMPILE::SWF
-	public class ListView extends DataContainerView
-	{
-		public function ListView()
-		{
-			super();
-		}
-
-		protected var listModel:ISelectionModel;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			super.strand = value;
-		}
-
-		/**
-		 * @private
-		 */
-		override protected function handleInitComplete(event:Event):void
-		{
-			super.handleInitComplete(event);
-
-			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-			listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-		}
-
-		protected var lastSelectedIndex:int = -1;
-
-		/**
-		 * @private
-		 */
-		protected function selectionChangeHandler(event:Event):void
-		{
-			if (lastSelectedIndex != -1)
-			{
-				var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer;
-                if (ir != null) ir.selected = false;
-			}
-			if (listModel.selectedIndex != -1)
-			{
-	            ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer;
-	            if (ir != null) ir.selected = true;
-			}
-            lastSelectedIndex = listModel.selectedIndex;
-		}
-
-		protected var lastRollOverIndex:int = -1;
-
-		/**
-		 * @private
-		 */
-		protected function rollOverIndexChangeHandler(event:Event):void
-		{
-			if (lastRollOverIndex != -1)
-			{
-				var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
-                ir.hovered = false;
-			}
-			if (IRollOverModel(listModel).rollOverIndex != -1)
-			{
-	            ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
-	            ir.hovered = true;
-			}
-			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/MultilineTextFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/MultilineTextFieldView.as
deleted file mode 100644
index e4f87de..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/MultilineTextFieldView.as
+++ /dev/null
@@ -1,57 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.text.TextFieldType;
-	
-    /**
-     *  The TextFieldView class is the default view for
-     *  the org.apache.flex.html.Label class.
-     *  It displays text using a TextField, so there is no
-     *  right-to-left text support in this view.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class MultilineTextFieldView extends TextFieldViewBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function MultilineTextFieldView()
-		{
-			super();
-						
-			textField.selectable = false;
-			textField.type = TextFieldType.DYNAMIC;
-			textField.mouseEnabled = false;
-			textField.autoSize = "left";
-            textField.multiline = true;
-            textField.wordWrap = true;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/NumericStepperView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/NumericStepperView.as
deleted file mode 100644
index fa56463..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/NumericStepperView.as
+++ /dev/null
@@ -1,187 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.ILayoutChild;
-    import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.html.Label;
-	import org.apache.flex.html.Spinner;
-	import org.apache.flex.html.TextInput;
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.ScrollBar;
-	
-	/**
-	 *  The NumericStepperView class creates the visual elements of the 
-	 *  org.apache.flex.html.NumericStepper component. A NumberStepper consists of a 
-	 *  org.apache.flex.html.TextInput component to display the value and a 
-	 *  org.apache.flex.html.Spinner to change the value.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class NumericStepperView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function NumericStepperView()
-		{
-		}
-		
-		private var label:Label;
-		private var input:TextInput;
-		private var spinner:Spinner;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            
-			// add an input field
-			input = new TextInput();
-			IParent(value).addElement(input);
-			
-			// add a spinner
-			spinner = new Spinner();
-			spinner.addBead( UIBase(value).model as IBead );
-			IParent(value).addElement(spinner);
-			spinner.height = input.height;
-			
-			// listen for changes to the text input field which will reset the
-			// value. ideally, we should either set the input to accept only
-			// numeric values or, barring that, reject non-numeric entries. we
-			// cannot do that right now however.
-			input.model.addEventListener("textChange",inputChangeHandler);
-			
-			// listen for change events on the spinner so the value can be updated as
-			// as resizing the component
-			spinner.addEventListener("valueChange",spinnerValueChanged);
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-            IEventDispatcher(value).addEventListener("sizeChanged",sizeChangeHandler);
-			
-			// listen for changes to the model itself and update the UI accordingly
-			IEventDispatcher(UIBase(value).model).addEventListener("valueChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("minimumChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("maximumChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("stepSizeChange",modelChangeHandler);
-			IEventDispatcher(UIBase(value).model).addEventListener("snapIntervalChange",modelChangeHandler);
-			
-			input.text = String(spinner.value);
-			
-            var host:ILayoutChild = ILayoutChild(value);
-            if ((host.isWidthSizedToContent() || isNaN(host.explicitWidth)) &&
-                (host.isHeightSizedToContent() || isNaN(host.explicitHeight)))
-                sizeChangeHandler(null);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function sizeChangeHandler(event:Event) : void
-		{
-			input.x = 2;
-			input.y = (UIBase(_strand).height - input.height)/2;
-			input.width = UIBase(_strand).width-spinner.width-2;
-			spinner.x = input.width+2;
-			spinner.y = 0;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function spinnerValueChanged(event:Event) : void
-		{
-			input.text = String(spinner.value);
-			
-			var newEvent:Event = new Event(event.type,event.bubbles);
-			IEventDispatcher(_strand).dispatchEvent(newEvent);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function inputChangeHandler(event:Event) : void
-		{
-			var newValue:Number = Number(input.text);
-
-			if( !isNaN(newValue) ) {
-				spinner.value = newValue;
-			}
-			else {
-				input.text = String(spinner.value);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function modelChangeHandler( event:Event ) : void
-		{
-			var n:Number = IRangeModel(UIBase(_strand).model).value;
-			input.text = String(IRangeModel(UIBase(_strand).model).value);
-		}
-		
-		/**
-		 *  The area containing the TextInput and Spinner controls.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get contentView():IParentIUIBase
-		{
-			return _strand as IParentIUIBase;
-		}
-		
-		/**
-		 * @private
-		 */
-		public function get resizableView():IUIBase
-		{
-			return _strand as IUIBase;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
deleted file mode 100644
index 43af3f8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
+++ /dev/null
@@ -1,266 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewport;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.geom.Size;
-	import org.apache.flex.html.Group;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.html.Panel;
-	import org.apache.flex.html.TitleBar;
-	import org.apache.flex.utils.CSSContainerUtils;
-	import org.apache.flex.utils.CSSUtils;
-	import org.apache.flex.html.beads.layouts.VerticalFlexLayout;
-	import org.apache.flex.html.supportClasses.PanelLayoutProxy;
-
-	COMPILE::SWF {
-		import org.apache.flex.core.SimpleCSSStyles;
-	}
-
-	/**
-	 *  The Panel class creates the visual elements of the org.apache.flex.html.Panel
-	 *  component. A Panel has a org.apache.flex.html.TitleBar, and content.  A
-     *  different View, PanelWithControlBarView, can display a ControlBar.
-	 *
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class PanelView extends GroupView implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function PanelView()
-		{
-			super();
-		}
-
-		private var _titleBar:TitleBar;
-
-		/**
-		 *  The org.apache.flex.html.TitleBar component of the
-		 *  org.apache.flex.html.Panel.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get titleBar():TitleBar
-		{
-			return _titleBar;
-		}
-
-        /**
-         *  @private
-         */
-        public function set titleBar(value:TitleBar):void
-        {
-            _titleBar = value;
-        }
-
-		private var _contentArea:Container;
-
-		/**
-		 * The content area of the panel.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function get contentArea():Container
-		{
-			return _contentArea;
-		}
-		public function set contentArea(value:Container):void
-		{
-			_contentArea = value;
-		}
-
-		private var _strand:IStrand;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-            var host:UIBase = UIBase(value);
-
-            if (!_titleBar) {
-                _titleBar = new TitleBar();
-				_titleBar.id = "panelTitleBar";
-
-				COMPILE::SWF {
-					_titleBar.percentWidth = 100;
-
-					if (_titleBar.style == null) {
-						_titleBar.style = new SimpleCSSStyles();
-					}
-					_titleBar.style.flexGrow = 0;
-					_titleBar.style.order = 1;
-				}
-
-				COMPILE::JS {
-					_titleBar.element.style["flex-grow"] = "0";
-					_titleBar.element.style["order"] = "1";
-				}
-			}
-			// replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
-			// any changes to values in the Panel's model that correspond values in the TitleBar will
-			// be picked up automatically by the TitleBar.
-			titleBar.model = host.model;
-
-			if (!_contentArea) {
-				_contentArea = new Container();
-				_contentArea.id = "panelContent";
-				_contentArea.className = "PanelContent";
-
-				COMPILE::SWF {
-					_contentArea.percentWidth = 100;
-
-					if (_contentArea.style == null) {
-						_contentArea.style = new SimpleCSSStyles();
-					}
-					_contentArea.style.flexGrow = 1;
-					_contentArea.style.order = 2;
-				}
-
-				COMPILE::JS {
-					_contentArea.element.style["flex-grow"] = "1";
-					_contentArea.element.style["order"] = "2";
-					_contentArea.element.style["overflow"] = "auto"; // temporary
-				}
-			}
-
-			COMPILE::SWF {
-				IEventDispatcher(value).addEventListener("widthChanged", handleSizeChange);
-				IEventDispatcher(value).addEventListener("heightChanged", handleSizeChange);
-				IEventDispatcher(value).addEventListener("sizeChanged", handleSizeChange);
-				IEventDispatcher(value).addEventListener("childrenAdded", handleChildrenAdded);
-			}
-
-            super.strand = value;
-
-			// If the Panel was given a layout, transfer it to the content area.
-			var layoutBead:IBeadLayout = value.getBeadByType(IBeadLayout) as IBeadLayout;
-			if (layoutBead) {
-				value.removeBead(layoutBead);
-
-				var contentLayout:IBeadLayout = _contentArea.getBeadByType(IBeadLayout) as IBeadLayout;
-				if (contentLayout) {
-					_contentArea.removeBead(contentLayout);
-				}
-				_contentArea.addBead(layoutBead);
-			}
-
-			// If the Panel was given a viewport, transfer it to the content area.
-			var viewportBead:IViewport = value.getBeadByType(IViewport) as IViewport;
-			if (viewportBead) {
-				value.removeBead(viewportBead);
-				_contentArea.addBead(viewportBead);
-			}
-
-			// Now give the Panel its own layout
-			layoutBead = new VerticalFlexLayout();
-			value.addBead(layoutBead);
-		}
-
-		private var _panelLayoutProxy:PanelLayoutProxy;
-
-		/**
-		 * The sub-element used as the parent of the container's elements. This does not
-		 * include the chrome elements.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		override public function get contentView():ILayoutView
-		{
-			// we want to return a proxy for the host which will have numElements, getElementAt, etc.
-			// functions that will use the host.$numElements, host.$getElementAt, etc. functions
-			if (_panelLayoutProxy == null) {
-				_panelLayoutProxy = new PanelLayoutProxy(_strand);
-			}
-			return _panelLayoutProxy;
-		}
-
-		override protected function completeSetup():void
-		{
-			if (titleBar.parent == null) {
-				(_strand as Panel).$addElement(titleBar);
-			}
-			if (contentArea.parent == null) {
-				(_strand as Panel).$addElement(contentArea as IChild);
-			}
-
-			super.completeSetup();
-			
-			performLayout(null);
-		}
-
-		protected function handleSizeChange(event:Event):void
-		{
-			COMPILE::JS {
-				_titleBar.percentWidth = 100;
-				_contentArea.percentWidth = 100;
-			}
-
-			performLayout(event);
-		}
-
-		private function handleChildrenAdded(event:Event):void
-		{
-			_contentArea.dispatchEvent(new Event("layoutNeeded"));
-			performLayout(event);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
deleted file mode 100644
index 3312b85..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ /dev/null
@@ -1,157 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IContentViewHost;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.IPanelModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITitleBarModel;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.geom.Size;
-	import org.apache.flex.html.Container;
-	import org.apache.flex.html.Panel;
-	import org.apache.flex.html.ControlBar;
-	import org.apache.flex.html.TitleBar;
-	import org.apache.flex.utils.CSSContainerUtils;
-	
-	COMPILE::SWF {
-		import org.apache.flex.core.SimpleCSSStyles;
-	}
-	
-	/**
-	 *  The Panel class creates the visual elements of the org.apache.flex.html.Panel 
-	 *  component. A Panel has a org.apache.flex.html.TitleBar, content, and an 
-	 *  optional org.apache.flex.html.ControlBar.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class PanelWithControlBarView extends PanelView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function PanelWithControlBarView()
-		{
-			super();
-		}
-		
-		private var _controlBar:ControlBar;
-		
-		/**
-		 *  The org.apache.flex.html.ControlBar for the Panel; may be null.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get controlBar():ControlBar
-		{
-			return _controlBar;
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			var host:UIBase = UIBase(_strand);
-			
-			_controlBar = new ControlBar();
-			_controlBar.id = "panelControlBar";
-			
-			COMPILE::SWF {
-				_controlBar.percentWidth = 100;
-				
-				if (_controlBar.style == null) {
-					_controlBar.style = new SimpleCSSStyles();
-				}
-				_controlBar.style.flexGrow = 0;
-				_controlBar.style.order = 3;
-			}
-				
-			COMPILE::JS {
-				_controlBar.element.style["flex-grow"] = "0";
-				_controlBar.element.style["order"] = "3";
-			}
-		}
-		
-		override protected function completeSetup():void
-		{
-			if (titleBar.parent == null) {
-				(_strand as Panel).$addElement(titleBar);
-			}
-			if (contentArea.parent == null) {
-				(_strand as Panel).$addElement(contentArea as IChild);
-			}
-			if (controlBar.parent == null) {
-				(_strand as Panel).$addElement(controlBar);
-			}
-			
-			var host:UIBase = UIBase(_strand);
-			
-			var controlBarItems:Array = (host.model as IPanelModel).controlBar;
-			if( controlBarItems && controlBarItems.length > 0 ) {
-				for each(var comp:IUIBase in controlBarItems) {
-					controlBar.addElement(comp, false);
-				}
-				controlBar.childrenAdded();
-			}
-			
-			super.completeSetup();
-			
-			performLayout(null);
-		}
-		
-		override protected function handleSizeChange(event:Event):void
-		{
-			COMPILE::JS {
-				titleBar.percentWidth = 100;
-				contentArea.percentWidth = 100;
-				controlBar.percentWidth = 100;
-			}
-				
-			performLayout(event);
-		}       
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as
deleted file mode 100644
index 310364c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as
+++ /dev/null
@@ -1,285 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.display.Sprite;
-	import flash.text.TextFieldAutoSize;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IValueToggleButtonModel;
-	import org.apache.flex.events.Event;
-	
-	/**
-	 *  The RadioButtonView class creates the visual elements of the org.apache.flex.html.RadioButton 
-	 *  component. 
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RadioButtonView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RadioButtonView()
-		{
-			sprites = [ upSprite = new Sprite(),
-				        downSprite = new Sprite(),
-						overSprite = new Sprite(),
-						upAndSelectedSprite = new Sprite(),
-						downAndSelectedSprite = new Sprite(),
-						overAndSelectedSprite = new Sprite() ];
-			
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = new CSSTextField();
-				tf.type = TextFieldType.DYNAMIC;
-				tf.autoSize = TextFieldAutoSize.LEFT;
-				tf.name = "textField";
-				var icon:Shape = new Shape();
-				icon.name = "icon";
-				s.addChild(icon);
-				s.addChild(tf);
-			}
-		}
-		
-		private var upSprite:Sprite;
-		private var downSprite:Sprite;
-		private var overSprite:Sprite;
-		private var upAndSelectedSprite:Sprite;
-		private var downAndSelectedSprite:Sprite;
-		private var overAndSelectedSprite:Sprite;
-		
-		private var sprites:Array;
-		
-		private var _toggleButtonModel:IValueToggleButtonModel;
-		
-		/**
-		 *  The model used for the RadioButton.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get toggleButtonModel() : IValueToggleButtonModel
-		{
-			return _toggleButtonModel;
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			_toggleButtonModel = value.getBeadByType(IValueToggleButtonModel) as IValueToggleButtonModel;
-			_toggleButtonModel.addEventListener("textChange", textChangeHandler);
-			_toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
-			_toggleButtonModel.addEventListener("selectedValueChange", selectedValueChangeHandler);
-			if (_toggleButtonModel.text != null)
-				text = _toggleButtonModel.text;
-			if (_toggleButtonModel.html != null)
-				html = _toggleButtonModel.html;
-			
-			layoutControl();
-			
-			var hitArea:Shape = new Shape();
-			hitArea.graphics.beginFill(0x000000);
-			hitArea.graphics.drawRect(0,0,upSprite.width, upSprite.height);
-			hitArea.graphics.endFill();
-			
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-            button.upState = upSprite;
-            button.downState = downSprite;
-            button.overState = overSprite;
-            button.hitTestState = hitArea;
-			
-			if (toggleButtonModel.text !== null)
-				text = toggleButtonModel.text;
-			if (toggleButtonModel.html !== null)
-				html = toggleButtonModel.html;
-			
-			if (toggleButtonModel.selected && toggleButtonModel.value == value) {
-				selected = true;
-			}
-		}
-		
-		/**
-		 *  The string label for the org.apache.flex.html.RadioButton.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get text():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.text;
-		}
-		public function set text(value:String):void
-		{
-			for each( var s:Sprite in sprites )
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.text = value;
-			}
-			
-			layoutControl();
-		}
-		
-		/**
-		 *  The HTML string for the org.apache.flex.html.RadioButton.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get html():String
-		{
-			var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
-			return tf.htmlText;
-		}
-		public function set html(value:String):void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
-				tf.htmlText = value;
-			}
-			
-			layoutControl();
-		}
-		
-		/**
-		 * @private
-		 */
-		private function textChangeHandler(event:Event):void
-		{
-			text = toggleButtonModel.text;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = toggleButtonModel.html;
-		}
-		
-		private var _selected:Boolean;
-		
-		/**
-		 * The selection state of the RadioButton
-		 */
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			if( value ) {
-				button.upState = upAndSelectedSprite;
-                button.downState = downAndSelectedSprite;
-                button.overState = overAndSelectedSprite;
-				
-			} else {
-                button.upState = upSprite;
-                button.downState = downSprite;
-                button.overState = overSprite;
-			}
-			
-			layoutControl();
-		}
-		
-		/**
-		 * @private
-		 */
-		private function selectedValueChangeHandler(event:Event):void
-		{
-			selected = _toggleButtonModel.value == _toggleButtonModel.selectedValue;
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function layoutControl() : void
-		{
-			for each(var s:Sprite in sprites)
-			{
-				var icon:Shape = s.getChildByName("icon") as Shape;
-				var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
-				
-				drawRadioButton(icon);
-				
-				var mh:Number = Math.max(icon.height,tf.height);
-				
-				icon.x = 0;
-				icon.y = (mh - icon.height)/2;
-				
-				tf.x = icon.x + icon.width + 1;
-				tf.y = (mh - tf.height)/2;
-			}
-			
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function drawRadioButton(icon:Shape) : void
-		{
-			icon.graphics.clear();
-			icon.graphics.beginFill(0xf8f8f8);
-			icon.graphics.lineStyle(1,0x808080);
-			icon.graphics.drawEllipse(0,0,10,10);
-			icon.graphics.endFill();
-			
-			if( selected ) {
-				icon.graphics.beginFill(0);
-				icon.graphics.drawEllipse(3,3,4,4);
-				icon.graphics.endFill();
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
deleted file mode 100644
index 62506f7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
+++ /dev/null
@@ -1,158 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.svg.Rect;
-	import org.apache.flex.graphics.SolidColorStroke;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.ImageButton;
-	import org.apache.flex.html.Label;
-	import org.apache.flex.html.beads.models.RangeModelExtended;
-
-	/**
-	 *  The RangeStepperView bead creates the visual elements of the RangeStepper. This
-	 *  includes an increment button, a decrement button, and label to display the value.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RangeStepperView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RangeStepperView()
-		{
-			super();
-		}
-
-		private var _label:Label;
-		private var _incrementButton:ImageButton;
-		private var _decrementButton:ImageButton;
-		private var _labelBox:Rect;
-
-		/**
-		 *  Increment control.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get incrementButton():ImageButton
-		{
-			return _incrementButton;
-		}
-
-		/**
-		 *  Decrement control.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get decrementButton():ImageButton
-		{
-			return _decrementButton;
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			_strand = value;
-
-			var host:UIBase = _strand as UIBase;
-
-			_labelBox = new Rect();
-			_labelBox.stroke = new SolidColorStroke();
-			(_labelBox.stroke as SolidColorStroke).color = 0x000000;
-			(_labelBox.stroke as SolidColorStroke).weight = 1.0;
-
-			_incrementButton = new ImageButton();
-			_incrementButton.src = "assets/up-arrow.png";
-
-			_decrementButton = new ImageButton();
-			_decrementButton.src = "assets/down-arrow.png";
-
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-
-			_label = new Label();
-
-			host.addElement(_labelBox);
-			host.addElement(_incrementButton);
-			host.addElement(_decrementButton);
-			host.addElement(_label);
-
-			var model:RangeModelExtended = host.model as RangeModelExtended;
-			model.addEventListener("valueChange", handleValueChange);
-
-			sizeChangeHandler(null);
-		}
-
-		private function sizeChangeHandler(event:Event):void
-		{
-			var host:UIBase = _strand as UIBase;
-
-			_incrementButton.x = 0;
-			_incrementButton.y = 0;
-			_incrementButton.setWidthAndHeight(host.width, 20);
-
-			_label.x = 0;
-			_label.y = _incrementButton.height + 2;
-			_label.setWidthAndHeight(host.width, host.height-40, true);
-
-			_labelBox.x = _label.x;
-			_labelBox.y = _label.y - 2;
-			_labelBox.drawRect(0, 0, _label.width - 1, _label.height);
-
-			_decrementButton.x = 0;
-			_decrementButton.y = host.height - 20;
-			_decrementButton.setWidthAndHeight(host.width, 20);
-		}
-
-		private function handleValueChange(event:Event):void
-		{
-			var model:RangeModelExtended = (_strand as UIBase).model as RangeModelExtended;
-			_label.text = model.getLabelForIndex(model.value);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
deleted file mode 100644
index 47378b7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
+++ /dev/null
@@ -1,117 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The RightArrowButtonView class is the view for
-     *  the right arrow button in a ScrollBar and other controls.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class RightArrowButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function RightArrowButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.lineStyle(1, 0x808080);
-			g.beginFill(bgColor);
-			g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
-			g.endFill();
-			g.lineStyle(0);
-			g.beginFill(0);
-			g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
-			g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.HalfSize);
-			g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.ThreeQuarterSize);
-			g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
-			g.endFill();
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-            
-            IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-        private function sizeChangeHandler(event:Event):void
-        {
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-            button.scaleX = button.width / ScrollBarView.FullSize;
-            button.scaleY = button.height / ScrollBarView.FullSize;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
deleted file mode 100644
index 6928457..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
+++ /dev/null
@@ -1,217 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	
-    import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.Strand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.Event;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
-    /**
-     *  The ScrollBarView class is the default view for
-     *  the org.apache.flex.html.supportClasses.ScrollBar class.
-     *  It implements the classic desktop-like ScrollBar.
-     *  A different view would implement more modern scrollbars that hide themselves
-     *  until hovered over with the mouse.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ScrollBarView extends Strand implements IBeadView, IStrand, IScrollBarView
-	{
-		public static const FullSize:int = 12;
-		public static const ThreeQuarterSize:int = 9;
-		public static const HalfSize:int = 6;
-		public static const ThirdSize:int = 4;
-		public static const QuarterSize:int = 3;
-		
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ScrollBarView()
-		{
-		}
-				
-		protected var sbModel:IScrollBarModel;
-		
-		protected var _strand:IStrand;
-		
-        /**
-         *  The layout. 
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var layout:IBeadLayout;
-        
-        /**
-         *  The host component. 
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get host():IUIBase
-        {
-            return _strand as IUIBase;
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            
-            for each (var bead:IBead in beads)
-                addBead(bead);
-                        
-			sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
-            sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel;
-            sbModel.addEventListener("maximumChange", changeHandler);
-            sbModel.addEventListener("minimumChange", changeHandler);
-            sbModel.addEventListener("snapIntervalChange", changeHandler);
-            sbModel.addEventListener("stepSizeChange", changeHandler);
-            sbModel.addEventListener("pageSizeChange", changeHandler);
-            sbModel.addEventListener("valueChange", changeHandler);
-            
-            if( _strand.getBeadByType(IBeadLayout) == null ) {
-                layout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
-                _strand.addBead(layout);
-            }
-		}
-						
-        protected function changeHandler(event:Event):void
-        {
-            layout.layout();    
-        }
-        
-		protected var _decrement:Button;
-		protected var _increment:Button;
-		protected var _track:Button;
-		protected var _thumb:Button;
-		
-        /**
-         *  @copy org.apache.flex.html.beads.IScrollBarView#decrement
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get decrement():Button
-		{
-			return _decrement;
-		}
-
-        /**
-         *  @copy org.apache.flex.html.beads.IScrollBarView#increment
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get increment():Button
-		{
-			return _increment;
-		}
-        
-        /**
-         *  @copy org.apache.flex.html.beads.IScrollBarView#track
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get track():Button
-		{
-			return _track;
-		}
-        
-        /**
-         *  @copy org.apache.flex.html.beads.IScrollBarView#thumb
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get thumb():Button
-		{
-			return _thumb;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.IBeadView#viewHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get viewHeight():Number
-        {
-            // don't want to put $height in an interface
-            return _strand["$height"];
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IBeadView#viewWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get viewWidth():Number
-        {
-            // don't want to put $width in an interface
-            return _strand["$width"];
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SimpleAlertView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SimpleAlertView.as
deleted file mode 100644
index 814e772..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SimpleAlertView.as
+++ /dev/null
@@ -1,151 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.BeadViewBase;
-    import org.apache.flex.core.IAlertModel;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IMeasurementBead;
-    import org.apache.flex.core.IParent;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.UIBase;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.MouseEvent;
-    import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.html.Label;
-    import org.apache.flex.html.TextButton;
-    import org.apache.flex.utils.CSSContainerUtils;
-	
-	/**
-	 *  The SimpleAlertView class creates the visual elements of the 
-	 *  org.apache.flex.html.SimpleAlert component.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SimpleAlertView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SimpleAlertView()
-		{
-		}
-		
-		private var messageLabel:Label;
-		private var okButton:TextButton;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
-			if (backgroundColor != null || backgroundImage != null)
-			{
-				if (value.getBeadByType(IBackgroundBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);					
-			}
-			
-			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
-			if (borderStyles is Array)
-			{
-				borderStyle = borderStyles[1];
-			}
-			if (borderStyle == null)
-			{
-				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
-			}
-			if (borderStyle != null && borderStyle != "none")
-			{
-				if (value.getBeadByType(IBorderBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);	
-			}
-			
-			var model:IAlertModel = _strand.getBeadByType(IAlertModel) as IAlertModel;
-			model.addEventListener("messageChange",handleMessageChange);
-			model.addEventListener("htmlMessageChange",handleMessageChange);
-
-            messageLabel = new Label();
-			messageLabel.text = model.message;
-			messageLabel.html = model.htmlMessage;
-			IParent(_strand).addElement(messageLabel);
-			
-			okButton = new TextButton();
-			okButton.text = model.okLabel;
-			IParent(_strand).addElement(okButton);
-			okButton.addEventListener("click",handleOK);
-			
-			handleMessageChange(null);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleMessageChange(event:Event):void
-		{
-			var ruler:IMeasurementBead = messageLabel.getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( ruler == null ) {
-				messageLabel.addBead(ruler = new (ValuesManager.valuesImpl.getValue(messageLabel, "iMeasurementBead")) as IMeasurementBead);
-			}
-			var maxWidth:Number = Math.max(UIBase(_strand).width,ruler.measuredWidth);
-			
-			var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-			
-			messageLabel.x = metrics.left;
-			messageLabel.y = metrics.top;
-			messageLabel.width = maxWidth;
-			
-			okButton.x = (maxWidth - okButton.width)/2;
-			okButton.y = messageLabel.y + messageLabel.height + 20;
-			
-			UIBase(_strand).width = maxWidth + metrics.left + metrics.right;
-			UIBase(_strand).height = okButton.y + okButton.height + metrics.bottom;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function handleOK(event:MouseEvent):void
-		{
-			var newEvent:Event = new Event("close");
-			IEventDispatcher(_strand).dispatchEvent(newEvent);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
deleted file mode 100644
index 8940893..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
+++ /dev/null
@@ -1,91 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Graphics;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStatesObject;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.utils.CSSBorderUtils;
-
-    /**
-     *  The SingleLineBorderBead class draws a single line solid border.
-     *  The color and thickness can be specified in CSS.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class SingleLineBorderBead implements IBead, IBorderBead, IGraphicsDrawing
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function SingleLineBorderBead()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
-			IEventDispatcher(value).addEventListener("initComplete", changeHandler);
-			IEventDispatcher(value).addEventListener("layoutComplete", changeHandler);
-		}
-		        
-		protected function changeHandler(event:Event):void
-		{
-            var host:UIBase = UIBase(_strand);
-            var g:Graphics = (host.$displayObject as Object).graphics as Graphics;
-            var w:Number = host.width;
-            var h:Number = host.height;
-            var state:String;
-            if (host is IStatesObject)
-                state = IStatesObject(host).currentState;
-			
-			var gd:IGraphicsDrawing = _strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
-			if( this == gd ) g.clear();
-            
-            CSSBorderUtils.draw(g, w, h, host, state, false, false);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
deleted file mode 100644
index debfff3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
+++ /dev/null
@@ -1,121 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-
-    import org.apache.flex.core.BeadViewBase;
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.IStrand;
-	import org.apache.flex.html.Button;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.core.IChild;
-	
-	/**
-	 *  The SliderThumbView class creates the draggable input element for the 
-	 *  org.apache.flex.html.Slider component.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SliderThumbView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SliderThumbView()
-		{
-            hitArea = new Shape();
-            upView = new Shape();
-            downView = new Shape();
-            overView = new Shape();                
-		}
-		
-		/**
-		 * @private
-		 */
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			var host:Button = Button(_strand);
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			g.clear();
-			g.lineStyle(1,0x000000);
-			g.beginFill(bgColor,1.0);
-			g.drawCircle(host.width/2, host.height/2, 10);
-			g.endFill();
-		}
-		
-		private var hitArea:Shape;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignoreimport org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-            drawView(hitArea.graphics, 0xDD0000);
-            drawView(upView.graphics, 0xFFFFFF);
-            drawView(downView.graphics, 0x999999);
-            drawView(overView.graphics, 0xDDDDDD);
-            
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-            button.upState = upView;
-            button.downState = downView;
-            button.overState = overView;
-            button.hitTestState = hitArea;
-            
-            IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-            IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);                
-		}
-		
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-        
-		/**
-		 * @private
-		 */
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xFFFFFF);
-			drawView(downView.graphics, 0x999999);
-			drawView(overView.graphics, 0xDDDDDD);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
deleted file mode 100644
index c413c54..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
+++ /dev/null
@@ -1,121 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;			
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.core.IChild;
-	
-	/**
-	 *  The SliderTrackView class creates the track area for the org.apache.flex.html.Slider
-	 *  component.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SliderTrackView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SliderTrackView()
-		{
-			hitArea = new Shape();
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();					
-		}
-		
-		/**
-		 * @private
-		 */
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			var host:Button = Button(_strand);
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			g.clear();
-			g.lineStyle(1,0x000000);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, host.width, host.height);
-			g.endFill();
-		}
-		
-		private var hitArea:Shape;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x808080);
-			drawView(overView.graphics, 0xEEEEEE);
-			
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = hitArea;
-			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);					
-		}
-		
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-		/**
-		 * @private
-		 */
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			drawView(hitArea.graphics, 0xDD0000);
-			drawView(upView.graphics, 0xCCCCCC);
-			drawView(downView.graphics, 0x808080);
-			drawView(overView.graphics, 0xEEEEEE);
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as
deleted file mode 100644
index 009fb8c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as
+++ /dev/null
@@ -1,194 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	COMPILE::SWF {
-		import flash.display.DisplayObject;
-		import flash.display.Sprite;
-	}
-	
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.TextButton;
-	
-	/**
-	 *  The SliderView class creates the visual elements of the org.apache.flex.html.Slider 
-	 *  component. The Slider has a track and a thumb control which are also created with view beads.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SliderView extends BeadViewBase implements ISliderView, IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SliderView()
-		{
-		}
-		
-		private var rangeModel:IRangeModel;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			COMPILE::SWF {
-				var s:UIBase = UIBase(_strand);
-				
-				_track = new Button();
-				_track.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
-				_track.className = "SliderTrack";
-				s.addElement(_track);
-				
-				_thumb = new TextButton();
-				_thumb.text = '\u2B0C';
-				_thumb.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
-				_thumb.className = "SliderThumb";
-				s.addElement(_thumb);
-				
-			}
-			COMPILE::JS {
-				_track = new Button();
-				_track.className = "SliderTrack";
-				UIBase(_strand).addElement(_track);
-				
-				_thumb = new TextButton();
-				_thumb.className = "SliderThumb";
-				_thumb.text = '\u2B0C';
-				UIBase(_strand).addElement(_thumb);
-			}
-			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-			
-			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
-			
-			// listen for changes to the model and adjust the UI accordingly.
-			IEventDispatcher(rangeModel).addEventListener("valueChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("minimumChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("maximumChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
-			
-			sizeChangeHandler(null);
-		}
-		
-		private var _track:Button;
-		private var _thumb:TextButton;
-		
-		
-		/**
-		 *  The track component.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get track():IUIBase
-		{
-			return _track;
-		}
-		
-		/**
-		 *  The thumb component.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get thumb():IUIBase
-		{
-			return _thumb;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function sizeChangeHandler( event:Event ) : void
-		{
-			var host:UIBase = UIBase(_strand);
-			var w:Number = host.width;
-			var h:Number = host.height;
-			
-			_thumb.width = 20;
-			_thumb.height = host.height;
-		
-			// the track is inset 1/2 of the thumbwidth so the thumb can
-			// overlay the track on either end with the thumb center being
-			// on the track's edge
-			_track.width = host.width - _thumb.width;
-			_track.height = 5;
-			_track.x = _thumb.width/2;
-			_track.y = (host.height - _track.height)/2;
-			
-			setThumbPositionFromValue(rangeModel.value);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function modelChangeHandler( event:Event ) : void
-		{
-			setThumbPositionFromValue(rangeModel.value);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function setThumbPositionFromValue( value:Number ) : void
-		{
-			var p:Number = (value-rangeModel.minimum)/(rangeModel.maximum-rangeModel.minimum);
-			var xloc:Number = (p*_track.width); 
-			COMPILE::JS
-			{
-				_thumb.element.style.position = 'absolute';
-			}
-			_thumb.x = xloc;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
deleted file mode 100644
index 331003a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
+++ /dev/null
@@ -1,199 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import flash.display.Graphics;
-    import flash.display.Sprite;
-    
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.core.ILayoutChild;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-
-    /**
-     *  The SolidBackgroundBead class draws a solid filled background.
-     *  The color and opacity can be specified in CSS.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class SolidBackgroundBead implements IBead, IBackgroundBead, IGraphicsDrawing
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function SolidBackgroundBead()
-		{
-		}
-				
-		private var _strand:IStrand;
-		
-        private var host:IUIBase;
-        
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            if (value is IUIBase)
-                host = IUIBase(value);
-            else if (value is IBeadView)
-                host = IUIBase(IBeadView(value).host);
-            
-            IEventDispatcher(host).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(host).addEventListener("widthChanged", changeHandler);
-			IEventDispatcher(host).addEventListener("sizeChanged", changeHandler);
-			IEventDispatcher(host).addEventListener("initComplete", changeHandler);
-			IEventDispatcher(host).addEventListener("layoutComplete", changeHandler);
-			
-			setupStyle();
-		}
-		
-		protected function setupStyle():void
-		{
-			var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
-			if ((bgColor is String) && (bgColor == "transparent")) {
-				bgColor = null;
-				opacity = 0;
-			}
-			else if( bgColor != null ) {
-				_backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
-			}
-			
-			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(host, "opacity");
-			if( bgAlpha != null ) {
-				_opacity = Number(bgAlpha);
-			}
-			
-			var corner:Object = ValuesManager.valuesImpl.getValue(host, "border-radius");
-			if( corner != null ) {
-				_borderRadius = Number(corner);
-			}
-		}
-		
-		private var _backgroundColor:uint;
-		
-        /**
-         *  The background color
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get backgroundColor():uint
-		{
-			return _backgroundColor;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set backgroundColor(value:uint):void
-		{
-			_backgroundColor = value;
-			if (_strand)
-				changeHandler(null);
-		}
-		
-		private var _opacity:Number = 1.0;
-		
-        /**
-         *  The opacity (alpha).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get opacity():Number
-		{
-			return _opacity;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set opacity(value:Number):void
-		{
-			_opacity = value;
-			if( _strand )
-				changeHandler(null);
-		}
-		
-        private var _borderRadius:Number;
-        
-        /**
-         *  The opacity (alpha).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get borderRadius():Number
-        {
-            return _borderRadius;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set borderRadius(value:Number):void
-        {
-            _borderRadius = value;
-            if( _strand )
-                changeHandler(null);
-        }
-        
-		protected function changeHandler(event:Event):void
-		{
-            var g:Graphics = (host.$displayObject as Object).graphics as Graphics;
-            var w:Number = host.width;
-            var h:Number = host.height;
-			
-			var gd:IGraphicsDrawing = _strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
-			if( this == gd ) g.clear();
-
-            g.beginFill(backgroundColor,opacity);
-            if (isNaN(borderRadius))
-                g.drawRect(0, 0, w, h);
-            else
-                g.drawRoundRect(0, 0, w, h, borderRadius * 2);
-            g.endFill();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SpinnerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SpinnerView.as
deleted file mode 100644
index 5658706..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SpinnerView.as
+++ /dev/null
@@ -1,183 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-COMPILE::SWF {
-	import flash.display.DisplayObject;
-}
-
-    import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
-COMPILE::JS {
-	import org.apache.flex.html.beads.controllers.SpinnerMouseController;
-    import org.apache.flex.html.supportClasses.SpinnerButton;
-}
-
-	/**
-	 *  The SpinnerView class creates the visual elements of the org.apache.flex.html.Spinner
-	 *  component.
-	 *
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SpinnerView extends BeadViewBase implements ISpinnerView, IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SpinnerView()
-		{
-		}
-
-		private var rangeModel:IRangeModel;
-
-		COMPILE::JS {
-		public var _increment:SpinnerButton;
-        public var _decrement:SpinnerButton;
-        private var controller:SpinnerMouseController;
-		}
-
-		COMPILE::SWF {
-		private var _decrement:Button;
-		private var _increment:Button;
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-
-            COMPILE::SWF {
-				_increment = new Button();
-				var i:Button = _increment
-				i.addBead(new UpArrowButtonView());
-				i.addBead(new ButtonAutoRepeatController());
-				_decrement = new Button();
-				var d:Button = _decrement
-				d.addBead(new DownArrowButtonView());
-				d.addBead(new ButtonAutoRepeatController());
-
-				i.x = 0;
-				i.y = 0;
-				d.x = 0;
-				d.y = i.height;
-
-				UIBase(_strand).$sprite.addChild(d.$button);
-				UIBase(_strand).$sprite.addChild(i.$button);
-				rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
-
-				IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-				IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-			}
-			COMPILE::JS {
-				var host:UIBase = value as UIBase;
-
-				_increment = new SpinnerButton();
-				_increment.text = '\u25B2';
-				host.addElement(_increment);
-
-				_decrement = new SpinnerButton();
-				_decrement.text = '\u25BC';
-				host.addElement(_decrement);
-
-// add this in CSS!
-				controller = new SpinnerMouseController();
-				host.addBead(controller);
-			}
-		}
-
-		/**
-		 *  The component for decrementing the org.apache.flex.html.Spinner value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		COMPILE::SWF
-		public function get decrement():Button
-		{
-			return _decrement;
-		}
-		COMPILE::JS
-		public function get decrement():SpinnerButton
-		{
-			return _decrement;
-		}
-
-		/**
-		 *  The component for incrementing the org.apache.flex.html.Spinner value.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		COMPILE::SWF
-		public function get increment():Button
-		{
-			return _increment;
-		}
-		COMPILE::JS
-		public function get increment():SpinnerButton
-		{
-			return _increment;
-		}
-
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		private function sizeChangeHandler( event:Event ) : void
-		{
-            var w:Number = UIBase(_strand).width;
-            var h:Number =  UIBase(_strand).height / 2;
-			_increment.width = w;
-			_increment.height = h;
-			_increment.y      = 0;
-			_decrement.width = w;
-			_decrement.height = h;
-			_decrement.y      = h;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
deleted file mode 100644
index 93aa865..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
+++ /dev/null
@@ -1,265 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.events.Event;
-	import flash.events.IEventDispatcher;
-	import flash.text.TextField;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IParent;
-    import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.beads.models.ScrollBarModel;
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.html.supportClasses.VScrollBar;
-
-    /**
-     *  The TextAreaView class is the default view for
-     *  the org.apache.flex.html.TextArea class.
-     *  It implements the classic desktop-like TextArea with
-     *  a border and scrollbars.  It does not support right-to-left text.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextAreaView extends TextFieldViewBase implements IStrand
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextAreaView()
-		{
-			super();
-			
-			textField.selectable = true;
-			textField.type = TextFieldType.INPUT;
-			textField.mouseEnabled = true;
-			textField.multiline = true;
-			textField.wordWrap = true;
-		}
-		
-		private var _border:Border;
-		
-        /**
-         *  The border.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get border():Border
-		{
-			return _border;
-		}
-		
-		private var _vScrollBar:VScrollBar;
-		
-        /**
-         *  The vertical ScrollBar.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get vScrollBar():VScrollBar
-		{
-			if (!_vScrollBar)
-				_vScrollBar = createScrollBar();
-			return _vScrollBar;
-		}
-		
-        /**
-         *  @private
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-            for each (var bead:IBead in beads)
-                addBead(bead);
-            
-			// add a border to this
-			_border = new Border();
-			_border.model = new (ValuesManager.valuesImpl.getValue(value, "iBorderModel")) as IBeadModel;
-			_border.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
-            IParent(host).addElement(border);
-			
-			var vb:VScrollBar = vScrollBar;
-			
-			// Default size
-			var ww:Number = host.width;
-			if( isNaN(ww) || ww == 0 ) host.width = 100;
-			var hh:Number = host.height;
-			if( isNaN(hh) || hh == 0 ) host.height = 42;
-			
-			// for input, listen for changes to the _textField and update
-			// the model
-			textField.addEventListener(Event.SCROLL, textScrollHandler);
-			
-			IEventDispatcher(host).addEventListener("widthChanged", sizeChangedHandler);
-			IEventDispatcher(host).addEventListener("heightChanged", sizeChangedHandler);
-			sizeChangedHandler(null);
-		}
-				
-		private function createScrollBar():VScrollBar
-		{
-			var vsb:VScrollBar;
-			vsb = new VScrollBar();
-			var vsbm:ScrollBarModel = new ScrollBarModel();
-			vsbm.maximum = 100;
-			vsbm.minimum = 0;
-			vsbm.pageSize = 10;
-			vsbm.pageStepSize = 10;
-			vsbm.snapInterval = 1;
-			vsbm.stepSize = 1;
-			vsbm.value = 0;
-			vsb.model = vsbm;
-            IParent(host).addElement(vsb);
-			
-			vsb.addEventListener("scroll", scrollHandler);
-			
-			return vsb;
-		}
-		
-		private function textScrollHandler(event:Event):void
-		{
-			var tf:TextField = textField;
-			var visibleLines:int = tf.bottomScrollV - tf.scrollV + 1;
-			var scrollableLines:int = textField.numLines - visibleLines + 1;
-			var vsbm:ScrollBarModel = ScrollBarModel(vScrollBar.model);
-			vsbm.minimum = 0;
-			vsbm.maximum = textField.numLines+1;
-			vsbm.value = tf.scrollV;
-			vsbm.pageSize = visibleLines;
-			vsbm.pageStepSize = visibleLines;
-		}
-		
-		private function sizeChangedHandler(event:Event):void
-		{
-			var ww:Number = host.width;
-            if( !isNaN(ww) && ww > 0 )
-                _border.width = ww;
-            
-            ww -= vScrollBar.width;
-			if( !isNaN(ww) && ww > 0 )
-				textField.width = ww;
-			
-			var hh:Number = host.height;
-			if( !isNaN(hh) && hh > 0 ) 
-            {
-				textField.height = hh;
-				_border.height = hh;
-			}
-			
-			var sb:VScrollBar = vScrollBar;
-			sb.y = 1;
-			sb.x = textField.width - 1;
-			sb.height = textField.height;
-		}
-		
-		private function scrollHandler(event:Event):void
-		{
-			var vpos:Number = IScrollBarModel(vScrollBar.model).value;
-			textField.scrollV = vpos;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#beads
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var beads:Array;
-		
-		private var _beads:Vector.<IBead>;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#addBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function addBead(bead:IBead):void
-		{
-			if (!_beads)
-				_beads = new Vector.<IBead>;
-			_beads.push(bead);
-			bead.strand = this;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#getBeadByType()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function getBeadByType(classOrInterface:Class):IBead
-		{
-			for each (var bead:IBead in _beads)
-			{
-				if (bead is classOrInterface)
-					return bead;
-			}
-			return null;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#removeBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function removeBead(value:IBead):IBead	
-		{
-			var n:int = _beads.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				var bead:IBead = _beads[i];
-				if (bead == value)
-				{
-					_beads.splice(i, 1);
-					return bead;
-				}
-			}
-			return null;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonMeasurementBead.as
deleted file mode 100644
index 1341389..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonMeasurementBead.as
+++ /dev/null
@@ -1,86 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	
-	/**
-	 *  The TextButtonMeasurementBead class helps measure a org.apache.flex.html.TextButton.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TextButtonMeasurementBead implements IMeasurementBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TextButtonMeasurementBead()
-		{
-		}
-		
-		/**
-		 *  The overall width of the org.apache.flex.html.TextButton.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredWidth():Number
-		{
-			var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
-			if( view ) return Math.max(view.upTextField.textWidth,view.downTextField.textWidth,view.overTextField.textWidth);
-			else return 0;
-		}
-		
-		/**
-		 * The overall height of the org.apache.flex.html.TextButton
-		 */
-		public function get measuredHeight():Number
-		{
-			var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
-			if( view ) return Math.max(view.upTextField.textHeight,view.downTextField.textHeight,view.overTextField.textHeight);
-			else return 0;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
deleted file mode 100644
index d499c78..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
+++ /dev/null
@@ -1,222 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Button;
-
-    /**
-     *  The TextButtonView class is the default view for
-     *  the org.apache.flex.html.TextButton class.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextButtonView()
-		{
-			upTextField = new CSSTextField();
-			downTextField = new CSSTextField();
-			overTextField = new CSSTextField();
-			upTextField.border = true;
-			downTextField.border = true;
-			overTextField.border = true;
-			upTextField.background = true;
-			downTextField.background = true;
-			overTextField.background = true;
-			upTextField.borderColor = 0;
-			downTextField.borderColor = 0;
-			overTextField.borderColor = 0;
-			upTextField.backgroundColor = 0xCCCCCC;
-			downTextField.backgroundColor = 0x808080;
-			overTextField.backgroundColor = 0xFFCCCC;
-			upTextField.selectable = false;
-			upTextField.type = TextFieldType.DYNAMIC;
-			downTextField.selectable = false;
-			downTextField.type = TextFieldType.DYNAMIC;
-			overTextField.selectable = false;
-			overTextField.type = TextFieldType.DYNAMIC;
-			upTextField.autoSize = "left";
-			downTextField.autoSize = "left";
-			overTextField.autoSize = "left";
-
-		}
-		
-		private var textModel:ITextModel;
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			var button:SimpleButton = Button(value).$button;
-			textModel = value.getBeadByType(ITextModel) as ITextModel;
-			textModel.addEventListener("textChange", textChangeHandler);
-			textModel.addEventListener("htmlChange", htmlChangeHandler);
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, 10, 10);
-			shape.graphics.endFill();
-			button.upState = upTextField;
-			button.downState = downTextField;
-			button.overState = overTextField;
-			button.hitTestState = shape;
-			upTextField.styleParent = value;
-			downTextField.styleParent = value;
-			overTextField.styleParent = value;
-			if (textModel.text !== null)
-				text = textModel.text;
-			if (textModel.html !== null)
-				html = textModel.html;
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-		        
-		private function textChangeHandler(event:Event):void
-		{
-			text = textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = textModel.html;
-		}
-		
-		private function sizeChangeHandler(event:Event):void
-		{
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-			upTextField.width = downTextField.width = overTextField.width = button.width;
-			upTextField.height= downTextField.height= overTextField.height= button.height;
-		}
-		
-        /**
-         *  The CSSTextField in the up state
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var upTextField:CSSTextField;
-
-        /**
-         *  The CSSTextField in the down state
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var downTextField:CSSTextField;
-
-        /**
-         *  The CSSTextField in the over state
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var overTextField:CSSTextField;
-		
-        /**
-         *  @copy org.apache.flex.html.core.ITextModel#text
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			return upTextField.text;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set text(value:String):void
-		{
-			upTextField.text = value;
-			downTextField.text = value;
-			overTextField.text = value;
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, upTextField.textWidth, upTextField.textHeight);
-			shape.graphics.endFill();
-			
-		}
-		
-        /**
-         *  @copy org.apache.flex.html.core.ITextModel#text
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-			return upTextField.htmlText;
-		}
-		
-        /**
-         *  @private
-         */
-		public function set html(value:String):void
-		{
-			upTextField.htmlText = value;
-			downTextField.htmlText = value;
-			overTextField.htmlText = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldLabelMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldLabelMeasurementBead.as
deleted file mode 100644
index ca38a0b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldLabelMeasurementBead.as
+++ /dev/null
@@ -1,92 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	
-	/**
-	 *  The TextFieldLabelMeasurementBead class helps to measure org.apache.flex.html.Label 
-	 *  components.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TextFieldLabelMeasurementBead implements IMeasurementBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TextFieldLabelMeasurementBead()
-		{
-		}
-		
-		/**
-		 *  The overall width of the org.apache.flex.html.Label.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredWidth():Number
-		{
-			var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
-			if( view ) return view.textField.textWidth;
-			else return 0;
-		}
-		
-		/**
-		 *  The overall height of the org.apache.flex.html.Label.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredHeight():Number
-		{
-			var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
-			if( view ) return view.textField.textHeight;
-			else return 0;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldView.as
deleted file mode 100644
index b086726..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldView.as
+++ /dev/null
@@ -1,55 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.text.TextFieldType;
-	
-    /**
-     *  The TextFieldView class is the default view for
-     *  the org.apache.flex.html.Label class.
-     *  It displays text using a TextField, so there is no
-     *  right-to-left text support in this view.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextFieldView extends TextFieldViewBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextFieldView()
-		{
-			super();
-			
-			textField.selectable = false;
-			textField.type = TextFieldType.DYNAMIC;
-			textField.mouseEnabled = false;
-			textField.autoSize = "left";
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
deleted file mode 100644
index 769ddb0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
+++ /dev/null
@@ -1,412 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-	import flash.text.StyleSheet;
-	
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The TextFieldViewBase class is the base class for
-     *  the components that display text.
-     *  It displays text using a TextField, so there is no
-     *  right-to-left text support in this view.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextFieldViewBase implements IBeadView, ITextFieldView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextFieldViewBase()
-		{
-			_textField = new CSSTextField();
-		}
-		
-		private var _textField:CSSTextField;
-		
-        /**
-         *  @copy org.apache.flex.core.ITextModel#textField
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get textField() : CSSTextField
-		{
-			return _textField;
-		}
-		
-		private var _textModel:ITextModel;
-		
-		protected var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			_textModel = value.getBeadByType(ITextModel) as ITextModel;
-            _textModel.addEventListener("textChange", textChangeHandler);
-            _textModel.addEventListener("htmlChange", htmlChangeHandler);
-            IEventDispatcher(_strand).addEventListener("widthChanged", widthChangeHandler);
-            IEventDispatcher(_strand).addEventListener("heightChanged", heightChangeHandler);
-            IEventDispatcher(_strand).addEventListener("sizeChanged", sizeChangeHandler);
-			UIBase(value).$displayObjectContainer.addChild(_textField);
-			if (_textModel.text !== null)
-				text = _textModel.text;
-			if (_textModel.html !== null)
-				html = _textModel.html;
-            
-            var ilc:ILayoutChild = host as ILayoutChild;
-            autoHeight = ilc.isHeightSizedToContent();
-            autoWidth = ilc.isWidthSizedToContent();
-            if (!autoWidth && !isNaN(ilc.explicitWidth))
-            {
-                widthChangeHandler(null);
-            }
-            if (!autoHeight && !isNaN(ilc.explicitHeight))
-            {
-                heightChangeHandler(null);
-            }
-            
-            // textfield's collapse to height==4 if no text
-            if (autoHeight && _textModel.text === null)
-            {
-                var fontHeight:Number = ValuesManager.valuesImpl.getValue(_strand, "fontSize") + 4;
-                if (textField.height != fontHeight) 
-                {
-                    textField.autoSize = "none";
-                    textField.height = fontHeight;
-                }
-            }
-		}
-		
-        /**
-         *  @private
-         */
-		public function get host() : IUIBase
-		{
-			return _strand as IUIBase;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.ITextModel#text
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get text():String
-		{
-			return _textField.text;
-		}
-
-        /**
-         *  @private
-         */
-        public function set text(value:String):void
-		{
-            if (value == null)
-                value = "";
-			_textField.text = value;
-            autoSizeIfNeeded();
-		}
-
-        /**
-         *  Handle autosizing.  The built-in player algorithm
-         *  doesn't work the way we would like, especially
-         *  when it collapses Textfields with empty strings.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected function autoSizeIfNeeded():void
-        {
-            var host:UIBase = UIBase(_strand);
-            if (autoHeight)
-            {   
-                if (textField.text != "")
-                {
-                    if (textField.height != textField.textHeight + 4)
-                    {
-                        textField.height = textField.textHeight + 4;
-                        inHeightChange = true;
-                        host.dispatchEvent(new Event("heightChanged"));
-                        inHeightChange = false;
-                    }
-                }
-                else
-                {
-                    var fontHeight:Number = ValuesManager.valuesImpl.getValue(_strand, "fontSize") + 4;
-                    if (textField.height != fontHeight)
-                    {
-                        textField.height = fontHeight;
-                        inHeightChange = true;
-                        host.dispatchEvent(new Event("heightChanged"));
-                        inHeightChange = false;                        
-                    }
-                }
-            }
-            if (autoWidth)
-            {
-                if (textField.width != textField.textWidth + 4)
-                {
-                    textField.width = textField.textWidth + 4;
-                    inWidthChange = true;
-                    host.dispatchEvent(new Event("widthChanged"));
-                    inWidthChange = false;                    
-                }
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ITextModel#html
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get html():String
-		{
-			return _textField.htmlText;
-		}
-		
-        /**
-         *  @private
-         */
-        public function set html(value:String):void
-		{
-			convertToTextFieldHTML(value);
-            autoSizeIfNeeded();
-		}
-		
-        private function convertToTextFieldHTML(input:String):void
-        {
-            var classCount:int = 0;
-            var ss:StyleSheet;
-            var c:int = input.indexOf("<span");
-            while (c != -1)
-            {
-                var c1:int = input.indexOf(">", c);
-                if (c1 == -1)
-                {
-                    trace("did not parse span correctly");
-                    return;
-                }
-                var tag:String = input.substring(c, c1 + 1);
-                var c2:int = tag.indexOf("style=");
-                if (c2 != -1)
-                {
-                    var quote:String = tag.charAt(c2 + 6);
-                    var c3:int = tag.indexOf(quote, c2 + 7);
-                    if (c3 != -1)
-                    {
-                        var styles:String = tag.substring(c2 + 7, c3);
-                        if (!ss)
-                            ss = new StyleSheet();
-                        var styleObject:Object = {};
-                        var list:Array = styles.split(";");
-                        for each (var pair:String in list)
-                        {
-                            var parts:Array = pair.split(":");
-                            var name:String = parts[0];
-                            var c4:int = name.indexOf("-");
-                            if (c4 != -1)
-                            {
-                                var firstChar:String = name.charAt(c4 + 1);
-                                firstChar = firstChar.toUpperCase();
-                                var tail:String = name.substring(c4 + 2);
-                                name = name.substring(0, c4) + firstChar + tail;
-                            }
-                            styleObject[name] = parts[1];
-                        }
-                        var className:String = "css" + classCount++;
-                        ss.setStyle("." + className, styleObject);
-                        var newTag:String = "<span class='" + className + "'>";
-                        input = input.replace(tag, newTag);
-                        c1 += newTag.length - tag.length;
-                    }
-                }
-                c = input.indexOf("<span", c1);
-            }
-            _textField.styleSheet = ss;   
-            _textField.htmlText = input;
-        }
-        
-		private function textChangeHandler(event:Event):void
-		{
-			text = _textModel.text;
-		}
-		
-		private function htmlChangeHandler(event:Event):void
-		{
-			html = _textModel.html;
-		}
-		
-        /**
-         *  Whether we are autosizing the height.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var autoHeight:Boolean;
-
-        /**
-         *  Whether we are autosizing the width.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var autoWidth:Boolean;
-        
-        /**
-         *  A flag to prevent looping.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var inHeightChange:Boolean = false;
-        
-        /**
-         *  A flag to prevent looping.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var inWidthChange:Boolean = false;
-        
-        /**
-         *  Determine the width of the TextField.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected function widthChangeHandler(event:Event):void
-		{
-            if (!inWidthChange)
-            {
-                textField.autoSize = "none";
-                autoWidth = false;
-    			textField.width = host.width;
-                if (autoHeight)
-        	        autoSizeIfNeeded()
-                else
-                    textField.height = host.height;
-            }
-		}
-
-        /**
-         *  Determine the height of the TextField.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected function heightChangeHandler(event:Event):void
-        {
-            if (!inHeightChange)
-            {
-                textField.autoSize = "none";
-                autoHeight = false;
-                textField.height = host.height;
-                if (autoWidth)
-                    autoSizeIfNeeded();
-                else
-                    textField.width = host.width;
-            }
-        }
-        
-        /**
-         *  Determine the size of the TextField.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected function sizeChangeHandler(event:Event):void
-        {
-            var ilc:ILayoutChild = host as ILayoutChild;
-            autoHeight = ilc.isHeightSizedToContent();
-            if (!autoHeight)
-            {
-                textField.autoSize = "none";
-                textField.height = host.height;
-            }
-            
-            autoWidth = ilc.isWidthSizedToContent();
-            if (!autoWidth)
-            {
-                textField.autoSize = "none";
-                textField.width = host.width;
-            }
-			
-			if (autoWidth) {
-				(host as UIBase).setWidth(textField.textWidth, true);
-			}
-			if (autoHeight) {
-				(host as UIBase).setHeight(textField.textHeight, true);
-			}
-			
-        }
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputView.as
deleted file mode 100644
index f39cfd3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputView.as
+++ /dev/null
@@ -1,136 +0,0 @@
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.text.TextFieldType;
-	
-	import org.apache.flex.core.ILayoutChild;
-    import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.utils.CSSContainerUtils;
-	
-    /**
-     *  The TextInputView class is the view for
-     *  the org.apache.flex.html.TextInput in
-     *  a ComboBox and other controls 
-     *  because it does not display a border.
-     *  It displays text using a TextField, so there is no
-     *  right-to-left text support in this view.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextInputView extends TextFieldViewBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextInputView()
-		{
-			super();
-			
-			textField.selectable = true;
-			textField.type = TextFieldType.INPUT;
-			textField.mouseEnabled = true;
-			textField.multiline = false;
-			textField.wordWrap = false;
-		}
-		
-        /**
-         *  @private
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-            autoWidth = autoHeight = false;
-
-            var w:Number;
-            var h:Number;
-            var uiMetrics:Rectangle;
-            var ilc:ILayoutChild = host as ILayoutChild;
-            if (ilc.isWidthSizedToContent())
-            {
-                uiMetrics = CSSContainerUtils.getBorderAndPaddingMetrics(host);
-                // use default width of 20
-                var s:String = textField.text;
-                textField.text = "0";
-                w = textField.textWidth * 20;
-                h = textField.textHeight;
-                textField.text = s;
-                ilc.setWidth(w + uiMetrics.left + uiMetrics.right, true);
-            }
-            if (ilc.isHeightSizedToContent())
-            {
-                if (!uiMetrics)
-                    uiMetrics = CSSContainerUtils.getBorderAndPaddingMetrics(host);
-                if (isNaN(h))
-                {
-                    s = textField.text;
-                    textField.text = "0";
-                    h = textField.textHeight;
-                    textField.text = s;                    
-                }
-                ilc.setHeight(h + uiMetrics.top + uiMetrics.bottom, true);
-            }
-			
-			heightChangeHandler(null);
-		}
-		
-        /**
-         *  @private
-         */
-        override protected function heightChangeHandler(event:Event):void
-		{
-			var hh:Number = host.height;
-			if( !isNaN(hh) && hh > 0 ) 
-            {
-                textField.height = textField.textHeight + 5;
-            }
-            
-            textField.y = ((hh - textField.height) / 2);
-		}
-        
-        /**
-         *  @private
-         */
-        override protected function sizeChangeHandler(event:Event):void
-        {
-            var ww:Number = host.width;
-            if( !isNaN(ww) && ww > 0 ) textField.width = ww;
-            
-            var hh:Number = host.height;
-            if( !isNaN(hh) && hh > 0 ) 
-            {
-                textField.height = textField.textHeight + 5;
-                textField.y = ((hh - textField.height) / 2);
-            }
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
deleted file mode 100644
index 44f297c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
+++ /dev/null
@@ -1,101 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.html.supportClasses.Border;
-	import org.apache.flex.utils.CSSContainerUtils;
-
-    /**
-     *  The TextInputWithBorderView class is the default view for
-     *  the org.apache.flex.html.TextInput.
-     *  It displays text using a TextField, so there is no
-     *  right-to-left text support in this view.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextInputWithBorderView extends TextInputView
-	{
-		public function TextInputWithBorderView()
-		{
-			super();
-            textField.parentDrawsBackground = true;
-            textField.parentHandlesPadding = true;
-		}
-		
-        /**
-         *  @private
-         */        
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-            value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
-			value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
-		}
-
-        /**
-         *  Determine the width of the TextField.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        override protected function widthChangeHandler(event:Event):void
-        {
-            if (!inWidthChange)
-            {
-                textField.autoSize = "none";
-                autoWidth = false;
-                var uiMetrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(host);
-                textField.width = host.width - uiMetrics.left - uiMetrics.right;
-                textField.x = uiMetrics.left;
-            }
-        }
-        
-        /**
-         *  Determine the size of the TextField.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        override protected function sizeChangeHandler(event:Event):void
-        {
-            super.sizeChangeHandler(event);
-            widthChangeHandler(event);
-        }
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
deleted file mode 100644
index 7752e90..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
+++ /dev/null
@@ -1,164 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IList;
-	import org.apache.flex.core.IDataProviderItemRendererMapper;
-    import org.apache.flex.core.IItemRendererClassFactory;
-    import org.apache.flex.core.IItemRendererParent;
-    import org.apache.flex.core.ISelectionModel;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.ItemRendererEvent;
-    import org.apache.flex.events.IEventDispatcher;
-	
-	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
-    /**
-     *  The TextItemRendererFactoryForArrayData class is the 
-     *  IDataProviderItemRendererMapper for creating 
-     *  ITextItemRenderers and assigning them data from an array.
-     *  Other IDataProviderItemRendererMapper implementations
-     *  assign specific array or vector types to item
-     *  renderers expecting those types.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextItemRendererFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextItemRendererFactoryForArrayData(target:Object=null)
-		{
-			super(target);
-		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
-		}
-		
-		private function finishSetup(event:Event):void
-		{
-			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-            
-			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
-			// already have been loaded by DataContainerBase.addedToParent function.
-            if (!itemRendererFactory)
-            {
-				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-				if (!_itemRendererFactory)
-				{
-	                _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-    	            _strand.addBead(_itemRendererFactory);
-				}
-            }
-            
-			dataProviderChangeHandler(null);
-		}
-		
-        private var _itemRendererFactory:IItemRendererClassFactory;
-        
-        /**
-         *  An IItemRendererClassFactory that should generate ITextItemRenderers
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get itemRendererFactory():IItemRendererClassFactory
-        {
-            return _itemRendererFactory
-        }
-        
-        /**
-         *  @private
-         */
-        public function set itemRendererFactory(value:IItemRendererClassFactory):void
-        {
-            _itemRendererFactory = value;
-        }
-        
-        /**
-         *  The IItemRendererParent that should parent the ITextItemRenderers
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */		
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Array = selectionModel.dataProvider as Array;
-			if (!dp)
-				return;
-			
-			var list:IList = _strand as IList;
-			var dataGroup:IItemRendererParent = list.dataGroup;
-			
-			dataGroup.removeAllItemRenderers();
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
-                tf.index = i;
-                dataGroup.addItemRenderer(tf);
-                if (selectionModel.labelField)
-                    tf.text = dp[i][selectionModel.labelField];
-                else
-    				tf.text = dp[i];
-				
-				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
-				newEvent.itemRenderer = tf;
-				dispatchEvent(newEvent);
-			}
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
deleted file mode 100644
index d0d49a2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
+++ /dev/null
@@ -1,159 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IItemRendererClassFactory;
-    import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IList;
-    import org.apache.flex.core.ISelectionModel;
-    import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.ItemRendererEvent;
-	
-	[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
-    /**
-     *  The TextItemRendererFactoryForStringVectorData class is the 
-     *  IDataProviderItemRendererMapper for creating 
-     *  ITextItemRenderers and assigning them data from an vector
-     *  of Strings.  Other IDataProviderItemRendererMapper implementations
-     *  assign specific array or vector types to item
-     *  renderers expecting those types.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class TextItemRendererFactoryForStringVectorData extends EventDispatcher implements IBead
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function TextItemRendererFactoryForStringVectorData(target:Object=null)
-		{
-			super(target);
-		}
-		
-		private var selectionModel:ISelectionModel;
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			IEventDispatcher(value).addEventListener("initComplete",finishSetup);
-		}
-		
-		private function finishSetup(event:Event):void
-		{
-			selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-			
-			// if the host component inherits from DataContainerBase, the itemRendererClassFactory will 
-			// already have been loaded by DataContainerBase.addedToParent function.
-			if (!itemRendererFactory)
-			{
-				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-				if (!_itemRendererFactory)
-				{
-					_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-					_strand.addBead(_itemRendererFactory);
-				}
-			}
-			
-			dataProviderChangeHandler(null);
-		}
-		
-        private var _itemRendererFactory:IItemRendererClassFactory;
-        
-        /**
-         *  An IItemRendererClassFactory that should generate ITextItemRenderers
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get itemRendererFactory():IItemRendererClassFactory
-        {
-            return _itemRendererFactory
-        }
-        
-        /**
-         *  @private
-         */
-        public function set itemRendererFactory(value:IItemRendererClassFactory):void
-        {
-            _itemRendererFactory = value;
-        }
-        
-        /**
-         *  The IItemRendererParent that should parent the ITextItemRenderers
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var dataGroup:IItemRendererParent;
-		
-		private function dataProviderChangeHandler(event:Event):void
-		{
-			var dp:Vector.<String> = selectionModel.dataProvider as Vector.<String>;
-			
-			var list:IList = _strand as IList;
-			var dataGroup:IItemRendererParent = list.dataGroup;
-			
-			dataGroup.removeAllItemRenderers();
-			
-			var n:int = dp.length; 
-			for (var i:int = 0; i < n; i++)
-			{
-				var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
-                tf.index = i;
-                dataGroup.addItemRenderer(tf);
-				tf.text = dp[i];
-				
-				var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
-				newEvent.itemRenderer = tf;
-				dispatchEvent(newEvent);
-			}			
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarMeasurementBead.as
deleted file mode 100644
index 8195f70..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarMeasurementBead.as
+++ /dev/null
@@ -1,108 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.html.TitleBar;
-	
-	/**
-	 *  The TitleBarMeasurementBead class measures the overall size of a 
-	 *  org.apache.flex.html.TitleBar.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TitleBarMeasurementBead implements IMeasurementBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TitleBarMeasurementBead()
-		{
-		}
-		
-		/**
-		 *  The overall width of the org.apache.flex.html.TitleBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredWidth():Number
-		{
-			var mwidth:Number = 0;
-			var titleBar:TitleBar = _strand as TitleBar;
-			var titleView:TitleBarView = _strand.getBeadByType(TitleBarView) as TitleBarView;
-			var labelMeasure:IMeasurementBead = titleView.titleLabel.measurementBead;
-			mwidth = labelMeasure.measuredWidth;
-			if( titleBar.showCloseButton ) {
-				var buttonMeasure:IMeasurementBead = titleView.closeButton.measurementBead;
-				mwidth += buttonMeasure.measuredWidth;
-			}
-			return mwidth;
-		}
-		
-		/**
-		 *  The overall height of the org.apache.flex.html.TitleBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get measuredHeight():Number
-		{
-			var mheight:Number = 0;
-			var titleBar:TitleBar = _strand as TitleBar;
-			var titleView:TitleBarView = _strand.getBeadByType(TitleBarView) as TitleBarView;
-			var labelMeasure:IMeasurementBead = titleView.titleLabel.measurementBead;
-			mheight = labelMeasure.measuredHeight;
-			if( titleBar.showCloseButton ) {
-				var buttonMeasure:IMeasurementBead = titleView.closeButton.measurementBead;
-				mheight = Math.max(mheight,buttonMeasure.measuredHeight);
-			}
-			return mheight;
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
deleted file mode 100644
index 0f27523..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--->
-<!---
- The TitleBarView is the view for a Panel's TitleBar written in MXML
-
- @langversion 3.0
- @playerversion Flash 10.2
- @playerversion AIR 2.6
- @productversion FlexJS 0.0
--->
-<js:MXMLBeadView xmlns:fx="http://ns.adobe.com/mxml/2009"
-                     xmlns:js="library://ns.apache.org/flexjs/basic">
-				  
-    <fx:Script>
-        <![CDATA[
-            import org.apache.flex.html.TitleBar;
-            import org.apache.flex.core.ITitleBarModel;
-            import org.apache.flex.core.UIBase;
-            import org.apache.flex.events.Event;
-            
-            private function clickHandler():void
-            {
-                var newEvent:org.apache.flex.events.Event = new org.apache.flex.events.Event('close',true);
-                UIBase(_strand).dispatchEvent(newEvent)   
-            }
-        ]]>
-    </fx:Script>
-    <js:beads>
-        <js:MXMLBeadViewDataBinding />
-        <js:LayoutChangeNotifier watchedProperty="{titleLabel.text}" />
-    </js:beads>
-
-    <js:Label id="titleLabel" text="{ITitleBarModel(model).title}" className="TitleBarTitle" >
-        <js:style>
-            <js:SimpleCSSStyles fontWeight="inherit" marginRight="5" marginLeft="5" />
-        </js:style>
-    </js:Label>
-    <js:CloseButton id="closeButton" click="clickHandler()" className="TitleBarCloseButton"
-                    visible="{ITitleBarModel(model).showCloseButton}"/>
-    
-</js:MXMLBeadView>
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UnselectableElementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UnselectableElementBead.as
deleted file mode 100644
index dd9838a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UnselectableElementBead.as
+++ /dev/null
@@ -1,69 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.IStrand;
-
-	/**
-	 *  UnselectableElement bead prevents from text selection of html element
-	 *
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.8
-	 */
-	public class UnselectableElementBead implements IBead
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function UnselectableElementBead()
-		{
-		}
-
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-			COMPILE::JS
-			{
-				var host:IUIBase = value as IUIBase;
-				host.element.classList.add("unselectable");
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
deleted file mode 100644
index 922c422..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
+++ /dev/null
@@ -1,117 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The UpArrowButtonView class is the view for
-     *  the up arrow button in a ScrollBar and other controls.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class UpArrowButtonView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function UpArrowButtonView()
-		{
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
-			g.endFill();
-			g.lineStyle(0);
-			g.beginFill(0);
-			g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.ThreeQuarterSize);
-			g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.ThreeQuarterSize);
-			g.lineTo(ScrollBarView.HalfSize, ScrollBarView.QuarterSize);
-			g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.ThreeQuarterSize);
-			g.endFill();
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-            
-            IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
-		}
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-        private function sizeChangeHandler(event:Event):void
-        {
-            var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
-            button.scaleX = button.width / ScrollBarView.FullSize;
-            button.scaleY = button.height / ScrollBarView.FullSize;
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VRuleView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VRuleView.as
deleted file mode 100644
index 7ea5e2c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VRuleView.as
+++ /dev/null
@@ -1,88 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.Bitmap;
-	import flash.display.Loader;
-	import flash.display.LoaderInfo;
-	import flash.net.URLRequest;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  The ImageView class creates the visual elements of the org.apache.flex.html.Image component.
-	 *  
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class VRuleView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function VRuleView()
-		{
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
-			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
-            IEventDispatcher(_strand).addEventListener("sizeChanged",handleSizeChange);
-			
-			handleSizeChange(null);
-		}
-				
-		/**
-		 * @private
-		 */
-		private function handleSizeChange(event:Object):void
-		{
-			var ui:UIBase = _strand as UIBase;
-            ui.$sprite.graphics.clear();
-            ui.$sprite.graphics.beginFill(0);
-            ui.$sprite.graphics.drawRect(0, 0, 1, ui.height);
-            ui.$sprite.graphics.endFill();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
deleted file mode 100644
index f7b229f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
+++ /dev/null
@@ -1,120 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The VScrollBarThumbView class is the view for
-     *  the thumb button in a Vertical ScrollBar.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class VScrollBarThumbView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VScrollBarThumbView()
-		{
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-            var hh:Number = IUIBase(_strand).height;
-            g.clear();
-			g.lineStyle(1);
-			g.beginFill(bgColor);
-			g.drawRoundRect(0, 0, ScrollBarView.FullSize, hh, ScrollBarView.HalfSize);
-			g.endFill();
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-            
-            upView = new Shape();
-            downView = new Shape();
-            overView = new Shape();
-            
-            drawView(upView.graphics, 0xc8c8c8);
-            drawView(downView.graphics, 0xc8c8c8);
-            drawView(overView.graphics, 0xb8b8b8);
-
-            shape = new Shape();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
-			shape.graphics.endFill();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-            IEventDispatcher(_strand).addEventListener("heightChanged", heightChangedHandler);
-		}
-
-        private function heightChangedHandler(event:Event):void
-        {
-            var hh:Number = IUIBase(_strand).height;
-            drawView(upView.graphics, 0xc8c8c8);
-            drawView(downView.graphics, 0xc8c8c8);
-            drawView(overView.graphics, 0xb8b8b8);
-            
-            shape.graphics.clear();
-            shape.graphics.beginFill(0xCCCCCC);
-            shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, hh);
-            shape.graphics.endFill();
-        }
-        
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
deleted file mode 100644
index ef1d292..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
+++ /dev/null
@@ -1,123 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	import flash.display.Graphics;
-	import flash.display.Shape;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.BeadViewBase;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-	
-    /**
-     *  The VScrollBarTrackView class is the view for
-     *  the track in a Vertical ScrollBar.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class VScrollBarTrackView extends BeadViewBase implements IBeadView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VScrollBarTrackView()
-		{
-		}
-		
-		private function drawView(g:Graphics, bgColor:uint):void
-		{
-            var button:IUIBase = _strand as IUIBase;
-			var h:Number = button.height;
-			
-			g.clear();
-			g.lineStyle(1, 0x808080);
-			g.beginFill(bgColor);
-			g.drawRect(0, 0, ScrollBarView.FullSize, h);
-			g.endFill();
-			g.lineStyle(0);
-		}
-
-		private function heightChangeHandler(event:Event):void
-		{
-            var button:IUIBase = _strand as IUIBase;
-			
-			var h:Number = button.height;
-			
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);	
-			shape.graphics.clear();
-			shape.graphics.beginFill(0xCCCCCC);
-			shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, h);
-			shape.graphics.endFill();
-			
-		}
-		
-		private var shape:Shape;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-			upView = new Shape();
-			downView = new Shape();
-			overView = new Shape();
-			
-			drawView(upView.graphics, 0xf8f8f8);
-			drawView(downView.graphics, 0xd8d8d8);
-			drawView(overView.graphics, 0xe8e8e8);
-			
-			IEventDispatcher(value).addEventListener("heightChanged", heightChangeHandler);
-			shape = new Shape();
-            var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
-			button.upState = upView;
-			button.downState = downView;
-			button.overState = overView;
-			button.hitTestState = shape;
-		}
-
-		private var upView:Shape;
-		private var downView:Shape;
-		private var overView:Shape;
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
deleted file mode 100644
index 5431604..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
+++ /dev/null
@@ -1,123 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	import flash.display.DisplayObject;
-	
-    import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.Strand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.Event;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
-    /**
-     *  The ScrollBarView class is the default view for
-     *  the org.apache.flex.html.supportClasses.VScrollBar class.
-     *  It implements the classic desktop-like VScrollBar.
-     *  A different view would implement more modern scrollbars that hide themselves
-     *  until hovered over with the mouse.
-     *  
-	 *  @viewbead
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class VScrollBarView extends ScrollBarView implements IBeadView, IStrand, IScrollBarView
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VScrollBarView()
-		{
-		}
-
-        /**
-         *  The default step size for up and down arrows as a divisor
-         *  to the height of the scroll bar.  In other words, if
-         *  STEP_RATE is set to 20, then it will take 20 clicks on
-         *  the thumb to move the bottom of the screen to the top.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var STEP_RATE:int = 20;
-        
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			
-            var v:UIBase = UIBase(value);
-			v.setWidth(ScrollBarView.FullSize, true);
-            
-            // TODO: (aharui) put in values impl
-			_increment = new Button();
-
-			_increment.addBead(new DownArrowButtonView());
-            _increment.addBead(new ButtonAutoRepeatController());
-			_decrement = new Button();
-			_decrement.addBead(new UpArrowButtonView());
-            _decrement.addBead(new ButtonAutoRepeatController());
-			_track = new Button();				
-			_track.addBead(new VScrollBarTrackView());
-			_thumb = new Button();				
-			_thumb.addBead(new VScrollBarThumbView());
-            
-            v.$sprite.addChild(_decrement.$button);
-            v.$sprite.addChild(_increment.$button);
-            v.$sprite.addChild(_track.$button);
-            v.$sprite.addChild(_thumb.$button);
-            
-            IEventDispatcher(_strand).addEventListener("heightChanged", changeHandler);
-            
-            layout.layout();
-		}
-        
-        override protected function changeHandler(event:Event):void
-        {
-            layout.layout();
-            sbModel = host.getBeadByType(IScrollBarModel) as IScrollBarModel;
-            sbModel.stepSize = Math.max(Math.round(host.height / STEP_RATE), 1);
-        }
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
deleted file mode 100644
index b0ea9e0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
+++ /dev/null
@@ -1,199 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-	COMPILE::SWF {
-		import flash.events.Event;
-		import flash.html.HTMLLoader;
-		import flash.net.URLRequest;
-	}
-
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.beads.models.WebBrowserModel;
-
-	/**
-	 *  The WebBrowserView creates an instance of HTMLLoader to load
-	 *  web pages into AIR application.
-	 *
-	 *  @viewbead
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	COMPILE::SWF
-	public class WebBrowserView implements IBeadView
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function WebBrowserView()
-		{
-			loader = new HTMLLoader();
-			loader.placeLoadStringContentInApplicationSandbox = false;
-
-			loader.addEventListener(flash.events.LocationChangeEvent.LOCATION_CHANGE, handleLocationChange);
-		}
-
-		private var _strand:IStrand;
-
-		private var loader:HTMLLoader;
-
-		/**
-		 * @private
-		 */
-		public function get host():IUIBase
-		{
-			return _strand as IUIBase;
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-			(host as UIBase).addEventListener("widthChanged", handleSizeChange);
-			(host as UIBase).addEventListener("heightChanged", handleSizeChange);
-
-			var model:IEventDispatcher = (host as UIBase).model as IEventDispatcher;
-			model.addEventListener("urlChanged", loadPage);
-
-			loader.x = 0;
-			loader.y = 0;
-			loader.width = host.width;
-			loader.height = host.height;
-			(host as UIBase).$displayObjectContainer.addChild(loader);
-		}
-
-		/**
-		 * @private
-		 */
-		private function loadPage(event:org.apache.flex.events.Event):void
-		{
-			var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
-			loader.load(new URLRequest(model.url));
-		}
-
-		/**
-		 * @private
-		 */
-		private function handleSizeChange(event:org.apache.flex.events.Event):void
-		{
-			loader.width = host.width;
-			loader.height = host.height;
-		}
-
-		/**
-		 * @private
-		 */
-		private function handleLocationChange(event:flash.events.LocationChangeEvent):void
-		{
-			var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
-			model.setURL(loader.location);
-			host.dispatchEvent(new org.apache.flex.events.Event("locationChanged"));
-		}
-	}
-
-	COMPILE::JS
-	public class WebBrowserView implements IBeadView
-	{
-		/**
-		 * Constructor
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function WebBrowserView()
-		{
-
-		}
-
-		private var _strand:IStrand;
-
-		/**
-		 * @private
-		 */
-		public function get host():IUIBase
-		{
-			return _strand as IUIBase;
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-			var model:IEventDispatcher = (host as UIBase).model as IEventDispatcher;
-			model.addEventListener("urlChanged", loadPage);
-
-			var iframe:HTMLIFrameElement = (host as UIBase).element as HTMLIFrameElement;
-			iframe.addEventListener("load", handlePageShow, false);
-		}
-
-		/**
-		 * @private
-		 */
-		private function loadPage(event:Event):void
-		{
-			var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
-
-			var iframe:HTMLIFrameElement = (host as UIBase).element as HTMLIFrameElement;
-			iframe.src = model.url;
-		}
-
-		/**
-		 * @private
-		 */
-		private function handlePageShow(event:Event):void
-		{
-			var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
-			var iframe:HTMLIFrameElement = (host as UIBase).element as HTMLIFrameElement;
-
-			model.setURL(iframe.src);
-			host.dispatchEvent(new org.apache.flex.events.Event("locationChanged"));
-		}
-	}
-}
-
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
deleted file mode 100644
index 44fda3a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
+++ /dev/null
@@ -1,90 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{	
-    import flash.display.DisplayObject;
-    
-	import org.apache.flex.core.IBeadController;
-    import org.apache.flex.core.IChild;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.utils.UIUtils;
-
-	/**
-	 *  The AlertControler class bead handles the close event on the org.apache.flex.html.Alert 
-	 *  by removing the org.apache.flex.html.Alert from the display.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-    public class AlertController implements IBeadController
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function AlertController()
-		{
-		}
-		
-        private var _strand:IStrand;
-        
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get strand():IStrand
-        {
-            return _strand;
-        }
-        
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(value).addEventListener("close",handleAlertClose);
-        }
-        
-		/**
-		 * @private
-		 */
-        private function handleAlertClose(event:Event):void
-        {
-            UIUtils.removePopUp(IChild(_strand));
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as
deleted file mode 100644
index 4100a28..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as
+++ /dev/null
@@ -1,147 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import flash.utils.clearInterval;
-	import flash.utils.clearTimeout;
-	import flash.utils.setInterval;
-	import flash.utils.setTimeout;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.IEventDispatcher;
-
-    /**
-     *  The ButtonAutoRepeatController class adds autorepeat
-     *  functionality to a button.  This version is simply waits
-     *  a specified amount of time (default is 250ms), then repeats the button
-     *  event at a specified interval, which defaults to
-     *  125 milliseconds.  Alternate implementations could
-     *  have non-linear repeat timing, look for keyboard modifiers to choose
-     *  different rates, etc.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    public class ButtonAutoRepeatController implements IBead, IBeadController
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ButtonAutoRepeatController()
-		{
-		}
-		
-        private var _strand:IStrand;
-        
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(value).addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-        }
-        
-        /**
-         *  The number of milliseconds to wait before repeating the event
-         *  for the first time.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var delay:int = 250;
-        
-        /**
-         *  The number of milliseconds to wait before repeating the event
-         *  after the first time.  This value is not checked for
-         *  changes after the events start repeating.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var interval:int = 100;
-        
-        private var timeout:uint;
-        private var repeater:uint;
-        
-        private function mouseDownHandler(event:MouseEvent):void
-        {
-            event.target.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
-            event.target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
-            timeout = setTimeout(sendFirstRepeat, delay); 
-        }
-        
-        private function mouseOutHandler(event:MouseEvent):void
-        {
-            event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
-            event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); 
-            if (repeater > 0)
-                clearInterval(repeater);
-            repeater = 0;
-            if (timeout > 0)
-                clearTimeout(timeout);
-            timeout = 0;
-        }
-        
-        private function mouseUpHandler(event:MouseEvent):void
-        {
-            event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);   
-            event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);  
-            if (repeater > 0)
-                clearInterval(repeater);
-            repeater = 0;
-            if (timeout > 0)
-                clearTimeout(timeout);
-            timeout = 0;
-        }
-        
-        private function sendFirstRepeat():void
-        {
-            clearTimeout(timeout);
-            timeout = 0;
-        	repeater = setInterval(sendRepeats, interval);
-        	IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
-        }
-        
-        private function sendRepeats():void
-        {
-       	    IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
deleted file mode 100644
index a3d3dc2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
+++ /dev/null
@@ -1,80 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.html.TextInput;
-	import org.apache.flex.html.List;
-	import org.apache.flex.html.beads.IComboBoxView;
-	
-	public class ComboBoxController implements IBeadController
-	{
-		public function ComboBoxController()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		private var viewBead:IComboBoxView;
-		
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
-			if (viewBead) {
-				finishSetup(null);
-			} else {
-				IEventDispatcher(_strand).addEventListener("viewChanged", finishSetup);
-			}
-		}
-		
-		private function finishSetup(event:Event):void
-		{
-			if (viewBead == null) {
-				viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
-			}
-			
-			IEventDispatcher(viewBead.popupButton).addEventListener("click", handleButtonClick);
-		}
-		
-		private function handleButtonClick(event:MouseEvent):void
-		{			
-			viewBead.popUpVisible = !viewBead.popUpVisible;
-			IEventDispatcher(viewBead.popUp).addEventListener("change", handleListChange);
-		}
-		
-		private function handleListChange(event:Event):void
-		{
-			var list:List = viewBead.popUp as List;
-			var input:TextInput = viewBead.textInputField as TextInput;
-			input.text = list.selectedItem as String;
-			
-			viewBead.popUpVisible = false;
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
deleted file mode 100644
index f5d7e34..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
+++ /dev/null
@@ -1,125 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{	
-	import org.apache.flex.html.beads.DateChooserView;
-	import org.apache.flex.html.beads.models.DateChooserModel;
-	import org.apache.flex.html.supportClasses.DateChooserButton;
-	import org.apache.flex.html.supportClasses.DateChooserList;
-	
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  The DateChooserMouseController class is responsible for listening to
-	 *  mouse event related to the DateChooser. Events such as selecting a date
-	 *  or changing the calendar.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateChooserMouseController implements IBeadController
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateChooserMouseController()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			var view:DateChooserView = value.getBeadByType(IBeadView) as DateChooserView;
-			view.prevMonthButton.addEventListener("click", prevMonthClickHandler);
-			view.nextMonthButton.addEventListener("click", nextMonthClickHandler);
-			
-			IEventDispatcher(view.dayList).addEventListener("change", listHandler);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function prevMonthClickHandler(event:MouseEvent):void
-		{
-			event.preventDefault();
-			
-			var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
-			
-			var month:Number = model.displayedMonth - 1;
-			var year:Number  = model.displayedYear;
-			if (month < 0) {
-				month = 11;
-				year--;
-			}
-			model.displayedMonth = month;
-			model.displayedYear = year;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function nextMonthClickHandler(event:MouseEvent):void
-		{
-			event.preventDefault();
-			
-			var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
-			
-			var month:Number = model.displayedMonth + 1;
-			var year:Number  = model.displayedYear;
-			if (month >= 12) {
-				month = 0;
-				year++;
-			}
-			model.displayedMonth = month;
-			model.displayedYear = year;
-		}
-		
-		private function listHandler(event:Event):void
-		{
-			var list:DateChooserList = event.target as DateChooserList;
-			var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;			
-			model.selectedDate = list.selectedItem as Date;
-			IEventDispatcher(_strand).dispatchEvent( new Event("change") );
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
deleted file mode 100644
index 2b8ea51..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
+++ /dev/null
@@ -1,166 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{	
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.html.beads.DateFieldView;
-	import org.apache.flex.utils.Timer;
-	import org.apache.flex.utils.UIUtils;
-	
-	/**
-	 * The DateFieldMouseController class is responsible for monitoring
-	 * the mouse events on the elements of the DateField. A click on the
-	 * DateField's menu button triggers the pop-up, for example.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateFieldMouseController implements IBeadController
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateFieldMouseController()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;			
-			IEventDispatcher(viewBead.menuButton).addEventListener("click", clickHandler);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function clickHandler(event:MouseEvent):void
-		{
-			event.stopImmediatePropagation();
-			
-			var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
-			viewBead.popUpVisible = true;
-			IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
-			
-			removeDismissHandler();
-			
-			// use a timer to delay the installation of the event handler, otherwise
-			// the event handler is called immediately and will dismiss the popup.
-			var t:Timer = new Timer(0.25,1);
-			t.addEventListener("timer",addDismissHandler);
-			t.start();
-		}
-		
-		/**
-		 * @private
-		 */
-		private function addDismissHandler(event:Event):void
-		{
-			var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
-			if (host) {
-				host.addEventListener("click", dismissHandler);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function removeDismissHandler():void
-		{
-			var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
-			if (host) {
-				host.removeEventListener("click", dismissHandler);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function changeHandler(event:Event):void
-		{
-			event.stopImmediatePropagation();
-			
-			var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
-			
-			var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
-			model.selectedDate = IDateChooserModel(viewBead.popUp.getBeadByType(IDateChooserModel)).selectedDate;
-
-			viewBead.popUpVisible = false;
-			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-			
-			removeDismissHandler();
-		}
-		
-		/**
-		 * @private
-		 */
-		private function dismissHandler(event:MouseEvent):void
-		{
-			var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
-			var popup:IUIBase = IUIBase(viewBead.popUp);
-			
-			COMPILE::SWF {
-				var before:IUIBase = event.targetBeforeBubbling["flexjs_wrapper"] as IUIBase;
-				if (before) {
-					while (before != null) {
-						if (before == popup) return;
-						before = before.parent as IUIBase;
-					}
-				}
-			}
-			COMPILE::JS {
-				var before:IUIBase = event.target as IUIBase;
-				if (before) {
-					while (before != null) {
-						if (before == popup) return;
-						before = before.parent as IUIBase;
-					}
-				}
-			}
-			
-			viewBead.popUpVisible = false;
-			removeDismissHandler();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DropDownListController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DropDownListController.as
deleted file mode 100644
index c84d9d0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DropDownListController.as
+++ /dev/null
@@ -1,116 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-    import org.apache.flex.geom.Point;
-   	import org.apache.flex.html.beads.IDropDownListView;
-    import org.apache.flex.utils.PointUtils;
-    
-    /**
-     *  The DropDownListController class is the controller for
-     *  org.apache.flex.html.DropDownList.  Controllers
-     *  watch for events from the interactive portions of a View and
-     *  update the data model or dispatch a semantic event.
-     *  This controller watches for the click event and displays the
-     *  dropdown/popup, and watches the dropdown/popup for change events
-     *  and updates the selection model accordingly.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DropDownListController implements IBead, IBeadController
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DropDownListController()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            IEventDispatcher(value).addEventListener(org.apache.flex.events.MouseEvent.CLICK, clickHandler);
-		}
-		
-        private function clickHandler(event:org.apache.flex.events.MouseEvent):void
-        {
-            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = UIBase(viewBead.popUp).model as ISelectionModel;
-            IUIBase(viewBead.popUp).width = IUIBase(_strand).width;
-            popUpModel.dataProvider = selectionModel.dataProvider;
-            popUpModel.labelField = selectionModel.labelField;
-            viewBead.popUpVisible = true; // adds to display list as well
-            popUpModel.selectedIndex = selectionModel.selectedIndex;
-            var pt:Point = new Point(IUIBase(_strand).x, IUIBase(_strand).y + IUIBase(_strand).height);
-            pt = PointUtils.localToGlobal(pt, IUIBase(_strand).parent);
-            IUIBase(viewBead.popUp).x = pt.x;
-            IUIBase(viewBead.popUp).y = pt.y;
-            IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
-            IUIBase(_strand).topMostEventDispatcher.addEventListener(org.apache.flex.events.MouseEvent.CLICK, dismissHandler);
-        }
-        
-        private function dismissHandler(event:org.apache.flex.events.MouseEvent):void
-        {
-            if (event.isSameTarget(_strand as IEventDispatcher)) return;
-            
-            IUIBase(_strand).topMostEventDispatcher.removeEventListener(org.apache.flex.events.MouseEvent.CLICK, dismissHandler);
-            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
-            viewBead.popUpVisible = false;
-        }
-        
-        private function changeHandler(event:Event):void
-        {
-            var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
-            viewBead.popUpVisible = false;
-            var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-            var popUpModel:ISelectionModel = UIBase(viewBead.popUp).model as ISelectionModel;
-            selectionModel.selectedIndex = popUpModel.selectedIndex;
-			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-        }
-	
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as
deleted file mode 100644
index 4a8115f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as
+++ /dev/null
@@ -1,86 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.CSSTextField;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.html.beads.ITextFieldView;
-	
-	/**
-	 *  The EditableTextKeyboardController class bead intercepts keyboard events on the
-	 *  component's text field and emits change events.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class EditableTextKeyboardController implements IBead, IBeadController
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function EditableTextKeyboardController()
-		{
-		}
-		
-		private var model:ITextModel;
-		private var textField:CSSTextField;
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			model = UIBase(_strand).model as ITextModel;
-			
-			var viewBead:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
-			textField = viewBead.textField;
-			textField.addEventListener("change", inputChangeHandler);
-		}
-		
-		/**
-		 * @private
-		 */
-		private function inputChangeHandler( event:Object ) : void
-		{
-            // this will otherwise bubble an event of flash.events.Event
-            event.stopImmediatePropagation();
-			model.text = textField.text;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/HScrollBarMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/HScrollBarMouseController.as
deleted file mode 100644
index 236b077..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/HScrollBarMouseController.as
+++ /dev/null
@@ -1,101 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Button;
-	
-    /**
-     *  The HScrollBarMouseController class is the controller for
-     *  org.apache.flex.html.supportClasses.HScrollBar
-     *  that acts as the Horizontal ScrollBar.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class HScrollBarMouseController extends ScrollBarMouseControllerBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HScrollBarMouseController()
-		{
-		}
-		
-        /**
-         *  @private
-         */
-		override protected function trackClickHandler(event:MouseEvent):void
-		{
-			if (sbView.thumb.visible)
-			{
-				if (event.localX < sbView.thumb.x)
-				{
-					sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.pageStepSize));						
-					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-				}
-				else
-				{
-					sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.pageStepSize));
-					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-				}
-			}
-		}
-		
-		private var thumbDownX:Number;
-		private var lastThumbX:Number;
-		
-        /**
-         *  @private
-         */
-		override protected function thumbMouseDownHandler(event:MouseEvent):void
-		{
-			sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
-			sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
-			thumbDownX = event.screenX;
-			lastThumbX = sbView.thumb.x;
-		}
-		
-		private function thumbMouseMoveHandler(event:MouseEvent):void
-		{
-			var thumb:Button = sbView.thumb;
-			var track:Button = sbView.track;
-			thumb.x = Math.max(track.x, Math.min(lastThumbX + (event.screenX - thumbDownX), track.x + track.width - thumb.width));
-			var newValue:Number = snap((thumb.x - track.x) / (track.width - thumb.width) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
-			sbModel.value = newValue;
-			IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-		}
-		
-		private function thumbMouseUpHandler(event:MouseEvent):void
-		{
-			sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
-			sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);			
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
deleted file mode 100644
index 33c6aa2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
+++ /dev/null
@@ -1,209 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.IStrand;
-COMPILE::SWF {
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.MouseEvent;
-}
-COMPILE::JS {
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.WrappedHTMLElement;
-	import org.apache.flex.events.BrowserEvent;
-	import goog.events.Event;
-	import goog.events.EventType;
-    import goog.events;
-}
-	import org.apache.flex.events.ItemClickedEvent;
-
-	/**
-	 *  The ItemRendererMouseController class can mouse events in itemRenderers. This
-	 *  includes roll-overs, mouse down, and mouse up. These platform-specific events are then
-	 *  re-dispatched as FlexJS events.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 *  @flexjsignoreimport goog.events.Event
-	 */
-	public class ItemRendererMouseController implements IBeadController
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ItemRendererMouseController()
-		{
-		}
-		
-        private var renderer:ISelectableItemRenderer;
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            renderer = value as ISelectableItemRenderer;
-			
-			COMPILE::SWF {
-	            renderer.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
-	            renderer.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
-				renderer.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-				renderer.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
-			}
-				
-			COMPILE::JS {
-				var element:WrappedHTMLElement = (_strand as UIBase).element;
-				
-				goog.events.listen(element, goog.events.EventType.MOUSEOVER, this.handleMouseOver);
-				goog.events.listen(element, goog.events.EventType.MOUSEOUT, this.handleMouseOut);
-				goog.events.listen(element, goog.events.EventType.MOUSEDOWN, this.handleMouseDown);
-				goog.events.listen(element, goog.events.EventType.MOUSEUP, this.handleMouseUp);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		protected function rollOverHandler(event:MouseEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-				target.dispatchEvent(new Event("itemRollOver",true));
-			}
-		}
-		
-		COMPILE::JS
-		protected function handleMouseOver(event:BrowserEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target) {
-				target.dispatchEvent(new Event("itemRollOver",true));
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		protected function rollOutHandler(event:MouseEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-				target.dispatchEvent(new Event("itemRollOut",true));
-			}
-		}
-		
-		COMPILE::JS
-		protected function handleMouseOut(event:BrowserEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-				target.dispatchEvent(new Event("itemRollOut",true));
-			}
-		}
-
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		protected function mouseDownHandler(event:MouseEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-                target.down = true;
-				target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::JS
-		protected function handleMouseDown(event:BrowserEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-				target.down = true;
-				target.hovered = false;
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		protected function mouseUpHandler(event:MouseEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-				event.stopImmediatePropagation();
-				
-				var newEvent:ItemClickedEvent = new ItemClickedEvent("itemClicked");
-				newEvent.data = target.data;
-				newEvent.multipleSelection = event.shiftKey;
-				newEvent.index = target.index;
-				
-                target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);                
-				target.dispatchEvent(newEvent);
-			}			
-		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::JS
-		protected function handleMouseUp(event:BrowserEvent):void
-		{
-			var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (target)
-			{
-				var newEvent:ItemClickedEvent = new ItemClickedEvent("itemClicked");
-				newEvent.data = target.data;
-				newEvent.multipleSelection = event.shiftKey;
-				newEvent.index = target.index;
-
-				target.dispatchEvent(newEvent);
-			}
-		}
-	
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
deleted file mode 100644
index d794135..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
+++ /dev/null
@@ -1,153 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.ItemAddedEvent;
-	import org.apache.flex.events.ItemRemovedEvent;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.html.beads.IListView;
-
-	import org.apache.flex.events.ItemClickedEvent;
-
-    /**
-     *  The ListSingleSelectionMouseController class is a controller for
-     *  org.apache.flex.html.List.  Controllers
-     *  watch for events from the interactive portions of a View and
-     *  update the data model or dispatch a semantic event.
-     *  This controller watches for events from the item renderers
-     *  and updates an ISelectionModel (which only supports single
-     *  selection).  Other controller/model pairs would support
-     *  various kinds of multiple selection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ListSingleSelectionMouseController implements IBeadController
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ListSingleSelectionMouseController()
-		{
-		}
-
-        /**
-         *  The model.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected var listModel:ISelectionModel;
-
-        /**
-         *  The view.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var listView:IListView;
-
-        /**
-         *  The parent of the item renderers.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected var dataGroup:IItemRendererParent;
-
-		private var _strand:IStrand;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
-			listView = value.getBeadByType(IListView) as IListView;
-			IEventDispatcher(_strand).addEventListener("itemAdded", handleItemAdded);
-			IEventDispatcher(_strand).addEventListener("itemRemoved", handleItemRemoved);
-		}
-
-		protected function handleItemAdded(event:ItemAddedEvent):void
-		{
-			IEventDispatcher(event.item).addEventListener("itemClicked", selectedHandler);
-			IEventDispatcher(event.item).addEventListener("itemRollOver", rolloverHandler);
-			IEventDispatcher(event.item).addEventListener("itemRollOut", rolloutHandler);
-		}
-
-		protected function handleItemRemoved(event:ItemRemovedEvent):void
-		{
-			IEventDispatcher(event.item).removeEventListener("itemClicked", selectedHandler);
-			IEventDispatcher(event.item).removeEventListener("itemRollOver", rolloverHandler);
-			IEventDispatcher(event.item).removeEventListener("itemRollOut", rolloutHandler);
-		}
-
-		protected function selectedHandler(event:ItemClickedEvent):void
-        {
-            listModel.selectedIndex = event.index;
-            listView.host.dispatchEvent(new Event("change"));
-        }
-
-		protected function rolloverHandler(event:Event):void
-		{
-			var renderer:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (renderer) {
-				IRollOverModel(listModel).rollOverIndex = renderer.index;
-			}
-		}
-
-		protected function rolloutHandler(event:Event):void
-		{
-			var renderer:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
-			if (renderer) {
-				renderer.hovered = false;
-				renderer.down = false;
-				IRollOverModel(listModel).rollOverIndex = -1;
-			}
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/RangeStepperMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/RangeStepperMouseController.as
deleted file mode 100644
index b566d55..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/RangeStepperMouseController.as
+++ /dev/null
@@ -1,94 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.html.ImageButton;
-	import org.apache.flex.html.beads.RangeStepperView;
-	import org.apache.flex.html.beads.models.RangeModel;
-
-	/**
-	 *  The RangeStepperMouseController bead feeds mouse events to the RangeStepper and its
-	 *  components. 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RangeStepperMouseController implements IBeadController
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RangeStepperMouseController()
-		{
-		}
-
-		private var _strand:IStrand;
-
-		private var _incrButton:ImageButton;
-		private var _decrButton:ImageButton;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-			var stepperView:RangeStepperView = _strand.getBeadByType(RangeStepperView) as RangeStepperView;
-
-			_incrButton = stepperView.incrementButton;
-			_incrButton.addEventListener(MouseEvent.CLICK, handleIncrClick);
-
-			_decrButton = stepperView.decrementButton;
-			_decrButton.addEventListener(MouseEvent.CLICK, handleDecrClick);
-		}
-
-		private function handleIncrClick(event:MouseEvent):void
-		{
-			var model:RangeModel = (_strand as UIBase).model as RangeModel;
-			var nextValue:Number = model.value + 1;
-			if (nextValue >= model.maximum) nextValue = model.maximum;
-			model.value = nextValue;
-		}
-
-		private function handleDecrClick(event:MouseEvent):void
-		{
-			var model:RangeModel = (_strand as UIBase).model as RangeModel;
-			var nextValue:Number = model.value - 1;
-			if (nextValue < model.minimum) nextValue = model.minimum;
-			model.value = nextValue;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as
deleted file mode 100644
index eea9234..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as
+++ /dev/null
@@ -1,184 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.html.beads.IScrollBarView;
-
-    /**
-     *  The ScrollBarMouseControllerBase class is the base class
-     *  for ScrollBarMouseControllers such as VScrollBarMouseController.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ScrollBarMouseControllerBase implements IBeadController
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ScrollBarMouseControllerBase()
-		{
-		}
-		
-        /**
-         *  The data model
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected var sbModel:IScrollBarModel;
-
-        /**
-         *  The view
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		protected var sbView:IScrollBarView;
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @private
-         */
-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
-			sbView = value.getBeadByType(IScrollBarView) as IScrollBarView;
-			sbView.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
-			sbView.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
-            sbView.decrement.addEventListener("buttonRepeat", decrementClickHandler);
-            sbView.increment.addEventListener("buttonRepeat", incrementClickHandler);
-			sbView.track.addEventListener(MouseEvent.CLICK, trackClickHandler);
-			sbView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbMouseDownHandler);
-		}
-		
-        /**
-         *  Force the input number to be "snapped" to the snapInterval.
-         *  
-         *  @param value The input number.
-         *  @return The input number "snapped" to the snapInterval.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */	
-		protected function snap(value:Number):Number
-		{
-			var si:Number = sbModel.snapInterval;
-			var n:Number = Math.round((value - sbModel.minimum) / si) * si + sbModel.minimum;
-			if (value > 0)
-			{
-				if (value - n < n + si - value)
-					return n;
-				return n + si;
-				
-			}
-			if (value - n > n + si - value)
-				return n + si;
-			return n;
-		}
-		
-        /**
-         *  Updates the model when the decrement button is clicked.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */	
-		protected function decrementClickHandler(event:Object):void
-		{
-			sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.stepSize));
-			IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
-		}
-		
-        /**
-         *  Updates the model when the increment button is clicked.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */	
-		protected function incrementClickHandler(event:Object):void
-		{
-			sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.stepSize));	
-			IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
-		}
-		
-        /**
-         *  Handles a click in the track.  Must be overridden.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */	
-		protected function trackClickHandler(event:MouseEvent):void
-		{
-		}
-		
-        /**
-         *  Handles a mouse down on the thumb.  Must be overridden.
-         *  Subclasses process the mouseMove and mouseUp events.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */	
-		protected function thumbMouseDownHandler(event:MouseEvent):void
-		{
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
deleted file mode 100644
index 91589b5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
+++ /dev/null
@@ -1,285 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.geom.Point;
-	import org.apache.flex.html.beads.ISliderView;
-	import org.apache.flex.html.beads.SliderTrackView;
-
-    COMPILE::JS
-    {
-        import goog.events;
-        import goog.events.EventType;
-        import org.apache.flex.events.BrowserEvent;
-        import org.apache.flex.html.Slider;
-        import org.apache.flex.html.beads.SliderThumbView;
-        import org.apache.flex.html.beads.SliderTrackView;
-    }
-	
-	/**
-	 *  The SliderMouseController class bead handles mouse events on the 
-	 *  org.apache.flex.html.Slider's component parts (thumb and track) and 
-	 *  dispatches change events on behalf of the Slider (as well as co-ordinating visual 
-	 *  changes (such as moving the thumb when the track has been tapped or clicked).
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SliderMouseController implements IBead, IBeadController
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SliderMouseController()
-		{
-		}
-		
-		private var rangeModel:IRangeModel;
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			rangeModel = UIBase(value).model as IRangeModel;
-			
-            COMPILE::SWF
-            {
-                var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
-                sliderView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbDownHandler);
-                
-                // add handler to detect click on track
-                sliderView.track.addEventListener(MouseEvent.CLICK, trackClickHandler, false, 99999);
-                                    
-            }
-            COMPILE::JS
-            {
-				var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
-				track = sliderView.track as UIBase;
-				thumb = sliderView.thumb as UIBase;
-                
-                goog.events.listen(track.element, goog.events.EventType.CLICK,
-                    handleTrackClick, false, this);
-                
-                goog.events.listen(thumb.element, goog.events.EventType.MOUSEDOWN,
-                    handleThumbDown, false, this);
-
-            }
-		}
-		
-        COMPILE::JS
-        private var track:UIBase;
-        
-        COMPILE::JS
-        private var thumb:UIBase;
-        
-		/**
-		 * @private
-		 */
-        COMPILE::SWF
-		private function thumbDownHandler( event:MouseEvent ) : void
-		{
-			UIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
-			UIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
-			
-			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-			
-			origin = new Point(event.screenX, event.screenY);
-			thumb = new Point(sliderView.thumb.x,sliderView.thumb.y);
-		}
-		
-		/**
-		 * @private
-		 */
-        COMPILE::SWF
-		private function thumbUpHandler( event:MouseEvent ) : void
-		{
-			UIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
-			UIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
-		}
-		
-        COMPILE::SWF
-		private var origin:Point;
-        COMPILE::SWF
-		private var thumb:Point;
-		
-		/**
-		 * @private
-		 */
-        COMPILE::SWF
-		private function thumbMoveHandler( event:MouseEvent ) : void
-		{
-			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-			
-			var deltaX:Number = event.screenX - origin.x;
-			var thumbW:Number = sliderView.thumb.width/2;
-			var newX:Number = thumb.x + deltaX;
-			
-			var p:Number = newX/sliderView.track.width;
-			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
-		
-			rangeModel.value = n;
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
-		}
-		
-		/**
-		 * @private
-		 */
-        COMPILE::SWF
-		private function trackClickHandler( event:MouseEvent ) : void
-		{
-			event.stopImmediatePropagation();
-			
-			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-			
-			var xloc:Number = event.localX;
-			var p:Number = xloc/sliderView.track.width;
-			var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
-			
-			rangeModel.value = n;
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
-		}
-        
-        /**
-         */
-        COMPILE::JS
-        private function handleTrackClick(event:BrowserEvent):void
-        {
-            var host:Slider = _strand as Slider;
-            var xloc:Number = event.clientX;
-            var p:Number = Math.min(1, xloc / parseInt(track.element.style.width, 10));
-            var n:Number = p * (host.maximum - host.minimum) +
-                host.minimum;
-            
-            host.value = n;
-            
-            origin = parseInt(thumb.element.style.left, 10);
-            position = parseInt(thumb.element.style.left, 10);
-            
-            calcValFromMousePosition(event, true);
-            
-            host.dispatchEvent(new org.apache.flex.events.Event('valueChange'));
-        }
-        
-        
-        /**
-         */
-        COMPILE::JS
-        private function handleThumbDown(event:BrowserEvent):void
-        {
-            var host:Slider = _strand as Slider;
-            goog.events.listen(host.element, goog.events.EventType.MOUSEUP,
-                handleThumbUp, false, this);
-            goog.events.listen(host.element, goog.events.EventType.MOUSEMOVE,
-                handleThumbMove, false, this);
-            
-            origin = event.clientX;
-            position = parseInt(thumb.element.style.left, 10);
-        }
-        
-        COMPILE::JS
-        private var origin:Number;
-        COMPILE::JS
-        private var position:int;
-        
-        /**
-         */
-        COMPILE::JS
-        private function handleThumbUp(event:BrowserEvent):void
-        {
-            var host:Slider = _strand as Slider;
-            goog.events.unlisten(host.element, goog.events.EventType.MOUSEUP,
-                handleThumbUp, false, this);
-            goog.events.unlisten(host.element, goog.events.EventType.MOUSEMOVE,
-                handleThumbMove, false, this);
-            
-            calcValFromMousePosition(event, false);
-            
-            host.dispatchEvent(new org.apache.flex.events.Event('valueChange'));
-        }
-        
-        
-        /**
-         */
-        COMPILE::JS
-        private function handleThumbMove(event:BrowserEvent):void
-        {
-            var host:Slider = _strand as Slider;
-            calcValFromMousePosition(event, false);
-            
-            host.dispatchEvent(new org.apache.flex.events.Event('valueChange'));
-        }
-        
-        
-        /**
-         */
-        COMPILE::JS
-        private function calcValFromMousePosition(event:BrowserEvent, useOffset:Boolean):void
-        {
-            var host:Slider = _strand as Slider;
-            var deltaX:Number = (useOffset ? event.offsetX : event.clientX) - origin;
-            var thumbW:int = parseInt(thumb.element.style.width, 10) / 2;
-            var newX:Number = position + deltaX;
-            
-            var p:Number = newX / parseInt(track.element.style.width, 10);
-            var n:Number = p * (host.maximum - host.minimum) +
-                host.minimum;
-            n = host.snap(n);
-            if (n < host.minimum) n = host.minimum;
-            else if (n > host.maximum) n = host.maximum;
-            
-            p = (n - host.minimum) / (host.maximum -
-                host.minimum);
-            newX = p * parseInt(track.element.style.width, 10);
-            
-            thumb.element.style.left = String(newX -
-                parseInt(thumb.element.style.width, 10) / 2) + 'px';
-            
-            host.value = n;
-        }
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SpinnerMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SpinnerMouseController.as
deleted file mode 100644
index 2a898d8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SpinnerMouseController.as
+++ /dev/null
@@ -1,124 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.core.IBeadController;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.html.TextButton;
-	import org.apache.flex.html.beads.ISpinnerView;
-    COMPILE::JS
-    {
-        import org.apache.flex.html.Spinner;
-        import org.apache.flex.html.supportClasses.SpinnerButton;
-        import goog.events;
-        import goog.events.EventType;
-    }
-
-	/**
-	 *  The SpinnerMouseController class bead handles mouse events on the
-	 *  org.apache.flex.html.Spinner's component buttons, changing the
-	 *  value of the Spinner.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class SpinnerMouseController implements IBeadController
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function SpinnerMouseController()
-		{
-		}
-
-		private var rangeModel:IRangeModel;
-
-		private var _strand:IStrand;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @flexjsignorecoercion org.apache.flex.html.Spinner
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-
-			rangeModel = UIBase(value).model as IRangeModel;
-
-            COMPILE::SWF
-            {
-                var spinnerBead:ISpinnerView = value.getBeadByType(ISpinnerView) as ISpinnerView;
-                spinnerBead.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
-                spinnerBead.decrement.addEventListener("buttonRepeat", decrementClickHandler);
-                spinnerBead.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
-                spinnerBead.increment.addEventListener("buttonRepeat", incrementClickHandler);
-            }
-
-            COMPILE::JS
-            {
-            	var spinnerBead:ISpinnerView = value.getBeadByType(ISpinnerView) as ISpinnerView;
-
-                var incrementButton:SpinnerButton = spinnerBead.increment;
-                var decrementButton:SpinnerButton = spinnerBead.decrement;
-
-                goog.events.listen(incrementButton.element, goog.events.EventType.CLICK,
-                    incrementClickHandler);
-
-                goog.events.listen(decrementButton.element, goog.events.EventType.CLICK,
-                    decrementClickHandler);
-
-            }
-		}
-
-		/**
-		 * @private
-		 */
-		private function decrementClickHandler( event:org.apache.flex.events.MouseEvent ) : void
-		{
-			rangeModel.value = Math.max(rangeModel.minimum, rangeModel.value - rangeModel.stepSize);
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
-		}
-
-		/**
-		 * @private
-		 */
-		private function incrementClickHandler( event:org.apache.flex.events.MouseEvent ) : void
-		{
-			rangeModel.value = Math.min(rangeModel.maximum, rangeModel.value + rangeModel.stepSize);
-			IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
deleted file mode 100644
index db8f7fc..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
+++ /dev/null
@@ -1,86 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	import org.apache.flex.collections.FlattenedList;
-	import org.apache.flex.html.Tree
-	import org.apache.flex.events.ItemClickedEvent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-
-	/**
-	 *  The TreeSingleSelectionMouseController class is a controller for 
-	 *  org.apache.flex.html.Tree. This controller watches for selection
-	 *  events on the tree item renderers and uses those events to open
-	 *  or close nodes of the tree.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TreeSingleSelectionMouseController extends ListSingleSelectionMouseController
-	{
-		/**
-		 *  Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TreeSingleSelectionMouseController()
-		{
-			super();
-		}
-
-		private var _strand:IStrand;
-
-		/**
-		 * @private
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			super.strand = value;
-		}
-
-		/**
-		 * @private
-		 */
-		override protected function selectedHandler(event:ItemClickedEvent):void
-		{
-			var tree:Tree = _strand as Tree;
-			var flatList:FlattenedList = listModel.dataProvider as FlattenedList;
-			var node:Object = event.data;
-			
-			if (flatList.isOpen(node)) {
-				flatList.closeNode(node);
-			} else {
-				flatList.openNode(node);
-			}
-			
-			listModel.selectedItem = node;
-			listModel.dispatchEvent(new Event("dataProviderChanged"));
-			
-			IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
deleted file mode 100644
index 451a1a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
+++ /dev/null
@@ -1,101 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-	
-	import org.apache.flex.events.Event;
-    import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.html.Button;
-	
-    /**
-     *  The VScrollBarMouseController class is the controller for
-     *  org.apache.flex.html.supportClasses.ScrollBar
-     *  that acts as the Vertical ScrollBar.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class VScrollBarMouseController extends ScrollBarMouseControllerBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VScrollBarMouseController()
-		{
-		}
-		
-        /**
-         *  @private
-         */
-		override protected function trackClickHandler(event:MouseEvent):void
-		{
-			if (sbView.thumb.visible)
-			{
-				if (event.localY < sbView.thumb.y)
-				{
-					sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.pageStepSize));						
-					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-				}
-				else
-				{
-					sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.pageStepSize));
-					IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-				}
-			}
-		}
-		
-		private var thumbDownY:Number;
-		private var lastThumbY:Number;
-		
-        /**
-         *  @private
-         */
-		override protected function thumbMouseDownHandler(event:MouseEvent):void
-		{
-			sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
-			sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
-			thumbDownY = event.screenY;
-			lastThumbY = sbView.thumb.y;
-		}
-		
-		private function thumbMouseMoveHandler(event:MouseEvent):void
-		{
-			var thumb:Button = sbView.thumb;
-			var track:Button = sbView.track;
-			thumb.y = Math.max(track.y, Math.min(lastThumbY + (event.screenY - thumbDownY), track.y + track.height - thumb.height));
-			var newValue:Number = snap((thumb.y - track.y) / (track.height - thumb.height) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
-			sbModel.value = newValue;
-			IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
-		}
-		
-		private function thumbMouseUpHandler(event:MouseEvent):void
-		{
-			sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
-			sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);			
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
deleted file mode 100644
index 72c42d8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
+++ /dev/null
@@ -1,194 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.LayoutBase;
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.utils.CSSUtils;
-
-    /**
-     *  The BasicLayout class is a simple layout
-     *  bead.  It takes the set of children and lays them out
-     *  as specified by CSS properties like left, right, top
-     *  and bottom.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class BasicLayout extends LayoutBase implements IBeadLayout
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function BasicLayout()
-		{
-			super();
-		}
-
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-		 * @flexjsignorecoercion org.apache.flex.core.ILayoutHost
-		 * @flexjsignorecoercion org.apache.flex.core.UIBase
-         */
-		override public function layout():Boolean
-		{
-            COMPILE::SWF
-            {
-				var contentView:ILayoutView = layoutView;
-
-				var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
-				var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
-
-				var w:Number = hostWidthSizedToContent ? 0 : contentView.width;
-				var h:Number = hostHeightSizedToContent ? 0 : contentView.height;
-
-				var n:int = contentView.numElements;
-
-                for (var i:int = 0; i < n; i++)
-                {
-                    var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-					if (child == null || !child.visible) continue;
-
-					var positions:Object = childPositions(child);
-					var margins:Object = childMargins(child, contentView.width, contentView.height);
-                    var ww:Number = w;
-                    var hh:Number = h;
-
-                    var ilc:ILayoutChild = child as ILayoutChild;
-
-					// set the top edge of the child
-                    if (!isNaN(positions.left))
-                    {
-                        if (ilc)
-                            ilc.setX(positions.left+margins.left);
-                        else
-                            child.x = positions.left+margins.left;
-                        ww -= positions.left + margins.left;
-                    }
-
-					// set the left edge of the child
-                    if (!isNaN(positions.top))
-                    {
-                        if (ilc)
-                            ilc.setY(positions.top+margins.top);
-                        else
-                            child.y = positions.top+margins.top;
-                        hh -= positions.top + margins.top;
-                    }
-
-					// set the right edge of the child
-					if (!isNaN(positions.right))
-					{
-						if (!hostWidthSizedToContent)
-						{
-							if (!isNaN(positions.left))
-							{
-								if (ilc)
-									ilc.setWidth(ww - positions.right - margins.right, false);
-								else
-									child.width = ww - positions.right - margins.right;
-							}
-							else
-							{
-								if (ilc)
-									ilc.setX( w - positions.right - margins.left - child.width - margins.right);
-								else
-									child.x = w - positions.right - margins.left - child.width - margins.right;
-							}
-						}
-					}
-					else if (ilc != null && !isNaN(ilc.percentWidth) && !hostWidthSizedToContent)
-					{
-						ilc.setWidth((ww - margins.right - margins.left) * ilc.percentWidth/100, false);
-					}
-
-					// set the bottm edge of the child
-					if (!isNaN(positions.bottom))
-					{
-						if (!hostHeightSizedToContent)
-						{
-							if (!isNaN(positions.top))
-							{
-								if (ilc)
-									ilc.setHeight(hh - positions.bottom - margins.bottom, false);
-								else
-									child.height = hh - positions.bottom - margins.bottom;
-							}
-							else
-							{
-								if (ilc)
-									ilc.setY( h - positions.bottom - child.height - margins.bottom);
-								else
-									child.y = h - positions.bottom - child.height - margins.bottom;
-							}
-						}
-					}
-					else if (ilc != null && !isNaN(ilc.percentHeight) && !hostHeightSizedToContent)
-					{
-						ilc.setHeight((hh - margins.top - margins.bottom) * ilc.percentHeight/100, false);
-					}
-                }
-
-                return true;
-
-            }
-
-            COMPILE::JS
-            {
-                var i:int
-                var n:int;
-				var contentView:ILayoutView = layoutView;
-
-                n = contentView.numElements;
-
-				// host must have either have position:absolute or position:relative
-				if (contentView.element.style.position != "absolute" && contentView.element.style.position != "relative") {
-					contentView.element.style.position = "relative";
-				}
-
-				// each child must have position:absolute for BasicLayout to work
-				for (i=0; i < n; i++) {
-					var child:UIBase = contentView.getElementAt(i) as UIBase;
-					child.positioner.style.position = "absolute";
-				}
-
-                return true;
-            }
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
deleted file mode 100644
index 51d0c4c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
+++ /dev/null
@@ -1,146 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.IStyleableObject;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.html.beads.models.ButtonBarModel;
-	import org.apache.flex.html.supportClasses.UIItemRendererBase;
-
-	/**
-	 *  The ButtonBarLayout class bead sizes and positions the button
-	 *  elements that make up a org.apache.flex.html.ButtonBar. This bead arranges the Buttons
-	 *  horizontally and makes them all the same width unless the buttonWidths property has been set in which case
-	 *  the values stored in that array are used.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ButtonBarLayout extends HorizontalFlexLayout implements IBeadLayout
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ButtonBarLayout()
-		{
-			super();
-		}
-
-		private var _widthType:Number = ButtonBarModel.PIXEL_WIDTHS;
-		private var _buttonWidths:Array = null;
-
-		/**
-		 *  An array of widths (Number), one per button. These values supersede the
-		 *  default of equally-sized buttons.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get buttonWidths():Array
-		{
-			return _buttonWidths;
-		}
-		public function set buttonWidths(value:Array):void
-		{
-			_buttonWidths = value;
-		}
-
-		/**
-		 * @copy org.apache.flex.core.IBeadLayout#layout
-		 */
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-
-			var model:ButtonBarModel = (host as IStrand).getBeadByType(ButtonBarModel) as ButtonBarModel;
-			if (model) {
-				buttonWidths = model.buttonWidths;
-				_widthType = model.widthType;
-			}
-
-			var n:int = contentView.numElements;
-			if (n <= 0) return false;
-
-			for (var i:int=0; i < n; i++)
-			{	
-				var ilc:ILayoutChild = contentView.getElementAt(i) as ILayoutChild;
-				if (ilc == null || !ilc.visible) continue;
-				if (!(ilc is IStyleableObject)) continue;
-				
-				COMPILE::SWF {
-					if (buttonWidths) {
-						var widthValue:* = buttonWidths[i];
-
-						if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
-							if (widthValue != null) ilc.width = Number(widthValue);
-							IStyleableObject(ilc).style.flexGrow = 0;
-						}
-						else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
-							if (widthValue != null) {
-								IStyleableObject(ilc).style.flexGrow = Number(widthValue);
-							}
-						}
-						else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
-							if (widthValue != null) ilc.percentWidth = Number(widthValue);
-							IStyleableObject(ilc).style.flexGrow = 0;
-						}
-					} else {
-						IStyleableObject(ilc).style.flexGrow = 1;
-					}
-				}
-
-				COMPILE::JS {
-					// otherwise let the flexbox layout handle matters on its own.
-					if (buttonWidths) {
-						var widthValue:* = buttonWidths[i];
-
-						if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
-							if (widthValue != null) ilc.width = Number(widthValue);
-						}
-						else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
-							if (widthValue != null) ilc.element.style["flex-grow"] = String(widthValue);
-						}
-						else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
-							if (widthValue != null) ilc.percentWidth = Number(widthValue);
-						}
-					} else {
-						ilc.element.style["flex-grow"] = "1";
-					}
-					
-					ilc.height = contentView.height;
-				}
-			}
-
-			// now let the horizontal layout take care of things.
-			return super.layout();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
deleted file mode 100644
index f276074..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
+++ /dev/null
@@ -1,230 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.LayoutBase;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutView;
-    import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewport;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.html.supportClasses.Viewport;
-    import org.apache.flex.utils.CSSContainerUtils;
-	import org.apache.flex.utils.CSSUtils;
-
-    /**
-     *  The FlexibleFirstChildHorizontalLayout class is a simple layout
-     *  bead.  It takes the set of children and lays them out
-     *  horizontally in one row, separating them according to
-     *  CSS layout rules for margin and padding styles. But it
-     *  will size the first child to take up as much or little
-     *  room as possible.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class FlexibleFirstChildHorizontalLayout extends HorizontalLayout
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function FlexibleFirstChildHorizontalLayout()
-		{
-			super();
-		}
-
-        private var _maxWidth:Number;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#maxWidth
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxWidth():Number
-        {
-            return _maxWidth;
-        }
-
-        /**
-         *  @private
-         */
-        public function set maxWidth(value:Number):void
-        {
-            _maxWidth = value;
-        }
-
-        private var _maxHeight:Number;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#maxHeight
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxHeight():Number
-        {
-            return _maxHeight;
-        }
-
-        /**
-         *  @private
-         */
-        public function set maxHeight(value:Number):void
-        {
-            _maxHeight = value;
-        }
-
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		COMPILE::SWF
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-
-			var n:Number = contentView.numElements;
-			if (n == 0) return false;
-			
-			// if the layoutView has no width yet, this layout cannot
-			// be run successfully, so default to HorizontalLayout.
-			if (host.isWidthSizedToContent()) {
-				return super.layout();
-			}
-
-			var maxWidth:Number = 0;
-			var maxHeight:Number = 0;
-			var hostSizedToContent:Boolean = host.isHeightSizedToContent();
-			var hostWidth:Number = contentView.width;
-			var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
-
-			var ilc:ILayoutChild;
-			var data:Object;
-			var canAdjust:Boolean = false;
-
-			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-			
-			// adjust the host's usable size by the metrics. If hostSizedToContent, then the
-			// resulting adjusted value may be less than zero.
-			hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
-			hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
-
-			var xpos:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
-			var ypos:Number = borderMetrics.top + paddingMetrics.left;
-			var adjustedWidth:Number = 0;
-
-			for(var i:int=(n-1); i >= 0; i--)
-			{
-				var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-				if (child == null || !child.visible) continue;
-				var positions:Object = childPositions(child);
-				var margins:Object = childMargins(child, hostWidth, hostHeight);
-
-				ilc = child as ILayoutChild;
-
-				var childYpos:Number = ypos + margins.top; // default y position
-
-				if (!hostSizedToContent) {
-					var childHeight:Number = child.height;
-					if (ilc != null && !isNaN(ilc.percentHeight)) {
-						childHeight = hostHeight * ilc.percentHeight/100.0;
-						ilc.setHeight(childHeight);
-					}
-					// the following code middle-aligns the child
-					childYpos = hostHeight/2 - childHeight/2;
-				}
-
-				if (ilc) {
-					if (!isNaN(ilc.percentWidth)) {
-						ilc.setWidth(hostWidth * ilc.percentWidth / 100);
-					}
-				}
-
-				if (i > 0) {
-					xpos -= child.width + margins.right;
-					adjustedWidth = child.width;
-				} else {
-					adjustedWidth = xpos - (borderMetrics.left + paddingMetrics.left + margins.left + margins.right);
-					xpos = borderMetrics.left + paddingMetrics.left + margins.left;
-				}
-
-				if (ilc) {
-					ilc.setX(xpos);
-					ilc.setY(childYpos);
-					ilc.setWidth(adjustedWidth);
-
-				} else {
-					child.x = xpos;
-					child.y = childYpos;
-					child.width = adjustedWidth;
-				}
-
-				xpos -= margins.left;
-			}
-
-			return true;
-		}
-
-		COMPILE::JS
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-
-			// set the display on the contentView
-			contentView.element.style["display"] = "flex";
-			contentView.element.style["flex-flow"] = "row";
-			contentView.element.style["align-items"] = "center";
-
-			var n:int = contentView.numElements;
-			if (n == 0) return false;
-
-			for(var i:int=0; i < n; i++) {
-				var child:UIBase = contentView.getElementAt(i) as UIBase;
-				child.element.style["flex-grow"] = (i == 0) ? "1" : "0";
-				child.element.style["flex-shrink"] = "0";
-			}
-
-			return true;
-		}
-
-    }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
deleted file mode 100644
index f8b5ddd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
+++ /dev/null
@@ -1,123 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.html.beads.IScrollBarView;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.utils.CSSContainerUtils;
-
-    /**
-     *  The HScrollBarLayout class is a layout
-     *  bead that displays lays out the pieces of a
-     *  horizontal ScrollBar like the thumb, track
-     *  and arrow buttons.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class HScrollBarLayout implements IBeadLayout
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function HScrollBarLayout()
-		{
-		}
-		
-		private var sbModel:IScrollBarModel;
-		private var sbView:IScrollBarView;
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			sbView = _strand.getBeadByType(IScrollBarView) as IScrollBarView;
-		}
-			
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		public function layout():Boolean
-		{
-            if (!sbModel)
-                sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel
-					
-			var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-            
-            var host:UIBase = UIBase(_strand);
-			var w:Number = host.width + metrics.left + metrics.right;
-			var increment:Button = sbView.increment;
-			var decrement:Button = sbView.decrement;
-			var track:Button = sbView.track;
-			var thumb:Button = sbView.thumb;
-			
-			decrement.x = 1;
-			decrement.y = 0;
-			decrement.height = host.height - 2;
-			decrement.width = host.height;
-			
-			increment.height = host.height - 2;
-			increment.width = host.height;
-			increment.x = w - increment.width - 2;
-			increment.y = 0;
-
-			track.x = decrement.width + 4;
-			track.y = 0;
-			track.height = host.height;
-			track.width = increment.x - decrement.width - 5;
-            thumb.width = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.width;
-			if (track.width > thumb.width)
-			{
-				thumb.visible = true;
-				thumb.x = (sbModel.value / (sbModel.maximum - sbModel.minimum - sbModel.pageSize) * (track.width - thumb.width)) + track.x;
-			}
-			else
-			{
-				thumb.visible = false;
-			}
-			
-            return true;
-		}
-						
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as
deleted file mode 100644
index 00d328b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as
+++ /dev/null
@@ -1,103 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{	
-	import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadView;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	
-	/**
-	 *  The LayoutChangeNotifier notifies layouts when a property
-     *  it is watching changes.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class LayoutChangeNotifier implements IBead
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function LayoutChangeNotifier()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-			
-        private var _value:* = undefined;
-        
-        /**
-         *  The value of the property being watched.  This is usually
-         *  a data binding expression.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function set initialValue(value:Object):void
-        {
-            _value = value;
-        }
-        
-		/**
-		 *  The value of the property being watched.  This is usually
-         *  a data binding expression.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set watchedProperty(value:Object):void
-		{
-			if (_value !== value)
-            {
-                _value = value;
-                if (_strand is IBeadView)
-                    IBeadView(_strand).host.dispatchEvent(new Event("layoutNeeded"));
-                else
-                    IEventDispatcher(_strand).dispatchEvent(new Event("layoutNeeded"));
-            }
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
deleted file mode 100644
index c90f223..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
+++ /dev/null
@@ -1,331 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.LayoutBase;
-	import org.apache.flex.core.IDocument;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.utils.CSSContainerUtils;
-	import org.apache.flex.utils.CSSUtils;
-
-    /**
-     *  The OneFlexibleChildHorizontalLayout class is a simple layout
-     *  bead.  It takes the set of children and lays them out
-     *  horizontally in one row, separating them according to
-     *  CSS layout rules for margin and padding styles. But it
-     *  will size the one child to take up as much or little
-     *  room as possible.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class OneFlexibleChildHorizontalLayout extends HorizontalLayout implements IOneFlexibleChildLayout, IDocument
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function OneFlexibleChildHorizontalLayout()
-		{
-			super();
-		}
-
-
-        private var _flexibleChild:String;
-
-        private var actualChild:ILayoutChild;
-
-        /**
-         *  @private
-         *  The document.
-         */
-        private var document:Object;
-
-		/**
-		 *  The id of the flexible child
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get flexibleChild():String
-		{
-			return _flexibleChild;
-		}
-
-		/**
-		 * @private
-		 */
-		public function set flexibleChild(value:String):void
-		{
-			_flexibleChild = value;
-		}
-
-        private var _maxWidth:Number;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#maxWidth
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxWidth():Number
-        {
-            return _maxWidth;
-        }
-
-        /**
-         *  @private
-         */
-        public function set maxWidth(value:Number):void
-        {
-            _maxWidth = value;
-        }
-
-        private var _maxHeight:Number;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#maxHeight
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxHeight():Number
-        {
-            return _maxHeight;
-        }
-
-        /**
-         *  @private
-         */
-        public function set maxHeight(value:Number):void
-        {
-            _maxHeight = value;
-        }
-
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		COMPILE::JS
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-
-			actualChild = document[flexibleChild];
-
-			// set the display on the contentView
-			contentView.element.style["display"] = "flex";
-			contentView.element.style["flex-flow"] = "row";
-			contentView.element.style["align-items"] = "center";
-
-			var n:int = contentView.numElements;
-			if (n == 0) return false;
-
-			for(var i:int=0; i < n; i++) {
-				var child:UIBase = contentView.getElementAt(i) as UIBase;
-				child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
-				child.element.style["flex-shrink"] = "0";
-			}
-
-			return true;
-		}
-
-		COMPILE::SWF
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-			var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
-
-			var n:Number = contentView.numElements;
-			if (n == 0) return false;
-			
-			// if the layoutView's width cannot be determined then this layout
-			// will not work, so default to HorizontalLayout
-			if (host.isWidthSizedToContent()) {
-				return super.layout();
-			}
-
-			var maxWidth:Number = 0;
-			var maxHeight:Number = 0;
-			var hostSizedToContent:Boolean = host.isHeightSizedToContent();
-			var hostWidth:Number = contentView.width;
-			var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
-
-			var ilc:ILayoutChild;
-			var data:Object;
-			var canAdjust:Boolean = false;
-			var margins:Object;
-
-			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-			
-			// adjust the host's usable size by the metrics. If hostSizedToContent, then the
-			// resulting adjusted value may be less than zero.
-			hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
-			hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
-
-			var xpos:Number = borderMetrics.left + paddingMetrics.left;
-			var ypos:Number = borderMetrics.top + paddingMetrics.left;
-			var child:IUIBase;
-			var childHeight:Number;
-			var i:int;
-			var childYpos:Number;
-			var adjustLeft:Number = 0;
-			var adjustRight:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
-
-			// first work from left to right
-			for(i=0; i < n; i++)
-			{
-				child = contentView.getElementAt(i) as IUIBase;
-				if (child == null || !child.visible) continue;
-				if (child == actualChild) break;
-
-				margins = childMargins(child, hostWidth, hostHeight);
-				ilc = child as ILayoutChild;
-
-				xpos += margins.left;
-
-				childYpos = ypos + margins.top; // default y position
-
-				if (!hostSizedToContent) {
-					childHeight = child.height;
-					if (ilc != null && !isNaN(ilc.percentHeight)) {
-						childHeight = host.height * ilc.percentHeight/100.0;
-						ilc.setHeight(childHeight);
-					}
-					// the following code middle-aligns the child
-					childYpos = hostHeight/2 - childHeight/2 + ypos;
-				}
-
-				if (ilc) {
-					ilc.setX(xpos);
-					ilc.setY(childYpos);
-
-					if (!isNaN(ilc.percentWidth)) {
-						ilc.setWidth(hostWidth * ilc.percentWidth / 100);
-					}
-
-				} else {
-					child.x = xpos;
-					child.y = childYpos;
-				}
-
-				xpos += child.width + margins.right;
-				adjustLeft = xpos;
-			}
-
-			// then work from right to left
-			xpos = hostWidth + borderMetrics.left + paddingMetrics.left;
-
-			for(i=(n-1); actualChild != null && i >= 0; i--)
-			{
-				child = contentView.getElementAt(i) as IUIBase;
-				if (child == null || !child.visible) continue;
-				if (child == actualChild) break;
-
-				margins = childMargins(child, hostWidth, hostHeight);
-				ilc = child as ILayoutChild;
-
-				childYpos = ypos + margins.top; // default y position
-
-				if (!hostSizedToContent) {
-					childHeight = child.height;
-					if (ilc != null && !isNaN(ilc.percentHeight)) {
-						childHeight = hostHeight * ilc.percentHeight/100.0;
-						ilc.setHeight(childHeight);
-					}
-					// the following code middle-aligns the child
-					childYpos = hostHeight/2 - childHeight/2 + ypos;
-				}
-
-				if (ilc) {
-					if (!isNaN(ilc.percentWidth)) {
-						ilc.setWidth(hostWidth * ilc.percentWidth / 100);
-					}
-				}
-
-				xpos -= child.width + margins.right;
-
-				if (ilc) {
-					ilc.setX(xpos);
-					ilc.setY(childYpos);
-				} else {
-					child.x = xpos;
-					child.y = childYpos;
-				}
-
-				xpos -= margins.left;
-				adjustRight = xpos;
-			}
-
-			// now adjust the actualChild to fill the space.
-			if (actualChild != null) {
-				margins = childMargins(actualChild, hostWidth, hostHeight);
-				ilc = actualChild as ILayoutChild;
-				if (!hostSizedToContent) {
-					childHeight = actualChild.height;
-					if (ilc != null && !isNaN(ilc.percentHeight)) {
-						childHeight = hostHeight * ilc.percentHeight/100.0;
-						ilc.setHeight(childHeight);
-					}
-				}
-				childYpos = ypos + margins.top;
-				if (!hostSizedToContent) {
-					childYpos = hostHeight/2 - childHeight/2 + ypos;
-				}
-				actualChild.x = adjustLeft + margins.left;
-				actualChild.y = childYpos;
-				if (ilc) {
-					ilc.setWidth((adjustRight-margins.right) - (adjustLeft+margins.left));
-				} else {
-					actualChild.width = (adjustRight-margins.right) - (adjustLeft+margins.left);
-				}
-			}
-
-            return true;
-		}
-
-        public function setDocument(document:Object, id:String = null):void
-        {
-            this.document = document;
-        }
-    }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
deleted file mode 100644
index 9242d91..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
+++ /dev/null
@@ -1,333 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.LayoutBase;
-	import org.apache.flex.core.IDocument;
-	import org.apache.flex.core.ILayoutChild;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IStyleableObject;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.utils.CSSContainerUtils;
-	import org.apache.flex.utils.CSSUtils;
-
-    /**
-     *  The OneFlexibleChildVerticalLayout class is a simple layout
-     *  bead.  It takes the set of children and lays them out
-     *  vertically in one column, separating them according to
-     *  CSS layout rules for margin and padding styles. But it
-     *  will size the one child to take up as much or little
-     *  room as possible.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class OneFlexibleChildVerticalLayout extends VerticalLayout implements IOneFlexibleChildLayout, IDocument
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function OneFlexibleChildVerticalLayout()
-		{
-			super();
-		}
-
-
-        private var _flexibleChild:String;
-
-        private var actualChild:ILayoutChild;
-
-        /**
-         *  @private
-         *  The document.
-         */
-        private var document:Object;
-
-		/**
-		 *  The id of the flexible child
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get flexibleChild():String
-		{
-			return _flexibleChild;
-		}
-
-		/**
-		 * @private
-		 */
-		public function set flexibleChild(value:String):void
-		{
-			_flexibleChild = value;
-		}
-
-        private var _maxWidth:Number;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#maxWidth
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxWidth():Number
-        {
-            return _maxWidth;
-        }
-
-        /**
-         *  @private
-         */
-        public function set maxWidth(value:Number):void
-        {
-            _maxWidth = value;
-        }
-
-        private var _maxHeight:Number;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#maxHeight
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get maxHeight():Number
-        {
-            return _maxHeight;
-        }
-
-        /**
-         *  @private
-         */
-        public function set maxHeight(value:Number):void
-        {
-            _maxHeight = value;
-        }
-
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		COMPILE::JS
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-
-			actualChild = document[flexibleChild];
-
-			// set the display on the contentView
-			contentView.element.style["display"] = "flex";
-			contentView.element.style["flex-flow"] = "column";
-			contentView.element.style["align-items"] = "center";
-
-			var n:int = contentView.numElements;
-			if (n == 0) return false;
-
-			for(var i:int=0; i < n; i++) {
-				var child:UIBase = contentView.getElementAt(i) as UIBase;
-				child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
-				child.element.style["flex-shrink"] = "0";
-			}
-
-			return true;
-		}
-
-		COMPILE::SWF
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-			var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
-
-			var n:Number = contentView.numElements;
-			if (n == 0) return false;
-			
-			// if the layoutView has no determined height, this layout cannot run
-			// so fall back to VerticalLayout
-			if (host.isHeightSizedToContent()) {
-				return super.layout();
-			}
-
-			var maxWidth:Number = 0;
-			var maxHeight:Number = 0;
-			var hostSizedToContent:Boolean = host.isWidthSizedToContent();
-			var hostWidth:Number = hostSizedToContent ? 0 : contentView.width;
-			var hostHeight:Number = contentView.height;
-
-			var ilc:ILayoutChild;
-			var data:Object;
-			var canAdjust:Boolean = false;
-			var margins:Object;
-
-			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-			
-			// adjust the host's usable size by the metrics. If hostSizedToContent, then the
-			// resulting adjusted value may be less than zero.
-			hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
-			hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
-
-			var xpos:Number = borderMetrics.left + paddingMetrics.left;
-			var ypos:Number = borderMetrics.top + paddingMetrics.left;
-			var child:IUIBase;
-			var childWidth:Number;
-			var i:int;
-			var childXpos:Number;
-			var adjustTop:Number = 0;
-			var adjustBottom:Number = hostHeight + borderMetrics.top + paddingMetrics.top;
-
-			// first work from top to bottom
-			for(i=0; i < n; i++)
-			{
-				child = contentView.getElementAt(i) as IUIBase;
-				if (child == null || !child.visible) continue;
-				if (child == actualChild) break;
-
-				margins = childMargins(child, hostWidth, hostHeight);
-				ilc = child as ILayoutChild;
-
-				ypos += margins.top;
-
-				childXpos = xpos + margins.left; // default x position
-
-				if (!hostSizedToContent) {
-					childWidth = child.width;
-					if (ilc != null && !isNaN(ilc.percentWidth)) {
-						childWidth = hostWidth * ilc.percentWidth/100.0;
-						ilc.setWidth(childWidth);
-					}
-					// the following code middle-aligns the child
-					childXpos = hostWidth/2 - childWidth/2 + xpos;
-				}
-
-				if (ilc) {
-					ilc.setX(childXpos);
-					ilc.setY(ypos);
-
-					if (!isNaN(ilc.percentHeight)) {
-						ilc.setHeight(hostHeight * ilc.percentHeight / 100);
-					}
-
-				} else {
-					child.x = childXpos;
-					child.y = ypos;
-				}
-
-				ypos += child.height + margins.bottom;
-				adjustTop = ypos;
-			}
-
-			// then work from bottom to top
-			ypos = hostHeight + borderMetrics.top + paddingMetrics.top;
-
-			for(i=(n-1); actualChild != null && i >= 0; i--)
-			{
-				child = contentView.getElementAt(i) as IUIBase;
-				if (child == null || !child.visible) continue;
-				if (child == actualChild) break;
-
-				margins = childMargins(child, hostWidth, hostHeight);
-				ilc = child as ILayoutChild;
-
-				childXpos = xpos + margins.left; // default x position
-
-				if (!hostSizedToContent) {
-					childWidth = child.width;
-					if (ilc != null && !isNaN(ilc.percentWidth)) {
-						childWidth = hostWidth * ilc.percentWidth/100.0;
-						ilc.setWidth(childWidth);
-					}
-					// the following code middle-aligns the child
-					childXpos = hostWidth/2 - childWidth/2 + xpos;
-				}
-
-				if (ilc) {
-					if (!isNaN(ilc.percentHeight)) {
-						ilc.setHeight(hostHeight * ilc.percentHeight / 100);
-					}
-				}
-
-				ypos -= child.height + margins.bottom;
-
-				if (ilc) {
-					ilc.setX(childXpos);
-					ilc.setY(ypos);
-				} else {
-					child.x = childXpos;
-					child.y = ypos;
-				}
-
-				ypos -= margins.top;
-				adjustBottom = ypos;
-			}
-
-			// now adjust the actualChild to fill the space.
-			if (actualChild != null) {
-				margins = childMargins(actualChild, hostWidth, hostHeight);
-				ilc = actualChild as ILayoutChild;
-				if (!hostSizedToContent) {
-					childWidth = actualChild.width;
-					if (ilc != null && !isNaN(ilc.percentWidth)) {
-						childWidth = hostWidth * ilc.percentWidth/100.0;
-						ilc.setWidth(childWidth);
-					}
-				}
-				childXpos = xpos + margins.left;
-				if (!hostSizedToContent) {
-					childXpos = hostWidth/2 - childWidth/2 + xpos;
-				}
-				actualChild.x = childXpos
-				actualChild.y = adjustTop + margins.top;
-				if (ilc) {
-					ilc.setHeight((adjustBottom-margins.bottom) - (adjustTop+margins.top));
-				} else {
-					actualChild.height = (adjustBottom-margins.bottom) - (adjustTop+margins.top);
-				}
-			}
-
-			return true;
-		}
-
-        public function setDocument(document:Object, id:String = null):void
-        {
-            this.document = document;
-        }
-
-    }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
deleted file mode 100644
index 4ff6565..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
+++ /dev/null
@@ -1,248 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.LayoutBase;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.utils.CSSUtils;
-	import org.apache.flex.utils.CSSContainerUtils;
-
-	/**
-	 *  The TileLayout class bead sizes and positions the elements it manages into rows and columns.
-	 *  The size of each element is determined either by setting TileLayout's columnWidth and rowHeight
-	 *  properties, or having the tile size determined by factoring the numColumns into the area assigned
-	 *  for the layout.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TileLayout extends LayoutBase implements IBeadLayout
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TileLayout()
-		{
-			super();
-		}
-
-		private var _numColumns:Number = 4;
-		private var _columnWidth:Number = Number.NaN;
-		private var _rowHeight:Number = Number.NaN;
-
-		/**
-		 *  The number of tiles to fit horizontally into the layout.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get numColumns():Number
-		{
-			return _numColumns;
-		}
-		public function set numColumns(value:Number):void
-		{
-			_numColumns = value;
-		}
-
-		/**
-		 *  The width of each column, in pixels. If left unspecified, the
-		 *  columnWidth is determined by dividing the numColumns into the
-		 *  strand's bounding box width.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columnWidth():Number
-		{
-			return _columnWidth;
-		}
-		public function set columnWidth(value:Number):void
-		{
-			_columnWidth = value;
-		}
-
-		/**
-		 *  The height of each row, in pixels. If left unspecified, the
-		 *  rowHeight is determine by dividing the possible number of rows
-		 *  into the strand's bounding box height.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get rowHeight():Number
-		{
-			return _rowHeight;
-		}
-		public function set rowHeight(value:Number):void
-		{
-			_rowHeight = value;
-		}
-
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		override public function layout():Boolean
-		{
-			var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-			
-			COMPILE::SWF
-			{
-				var area:UIBase = layoutView as UIBase;
-
-				var xpos:Number = 0;
-				var ypos:Number = 0;
-				var useWidth:Number = columnWidth;
-				var useHeight:Number = rowHeight;
-				var n:Number = area.numElements;
-				if (n == 0) return false;
-				
-				var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
-				var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
-
-				var realN:Number = n;
-				for(var j:int=0; j < n; j++)
-				{
-					var testChild:IUIBase = area.getElementAt(i) as IUIBase;
-					if (testChild == null || !testChild.visible) realN--;
-				}
-
-				if (isNaN(useWidth)) useWidth = Math.floor(adjustedWidth / numColumns); // + gap
-				if (isNaN(useHeight)) {
-					// given the width and total number of items, how many rows?
-					var numRows:Number = Math.floor(realN/numColumns);
-					if (host.isHeightSizedToContent) useHeight = 30; // default height
-					else useHeight = Math.floor(adjustedHeight / numRows);
-				}
-
-				var maxWidth:Number = useWidth;
-				var maxHeight:Number = useHeight;
-
-				for(var i:int=0; i < n; i++)
-				{
-					var child:IUIBase = area.getElementAt(i) as IUIBase;
-					if (child == null || !child.visible) continue;
-					child.width = useWidth;
-					child.height = useHeight;
-					child.x = xpos;
-					child.y = ypos;
-
-					xpos += useWidth;
-					maxWidth = Math.max(maxWidth,xpos);
-
-					var test:Number = (i+1)%numColumns;
-
-					if (test == 0) {
-						xpos = 0;
-						ypos += useHeight;
-						maxHeight = Math.max(maxHeight,ypos);
-					}
-				}
-
-				maxWidth = Math.max(maxWidth, numColumns*useWidth);
-				maxHeight = Math.max(maxHeight, numRows*useHeight);
-
-				// Only return true if the contentView needs to be larger; that new
-				// size is stored in the model.
-				var sizeChanged:Boolean = true;
-
-				return sizeChanged;
-			}
-			COMPILE::JS
-			{
-				var children:Array;
-				var i:int;
-				var n:int;
-				var child:UIBase;
-				var xpos:Number;
-				var ypos:Number;
-				var useWidth:Number;
-				var useHeight:Number;
-				var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
-				var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
-
-				var contentView:IParentIUIBase = layoutView as IParentIUIBase;
-				
-				children = contentView.internalChildren();
-				n = children.length;
-				if (n === 0) return false;
-
-				contentView.element.style["display"] = "flex";
-				contentView.element.style["flex-flow"] = "row wrap";
-
-				var realN:int = n;
-				for (i = 0; i < n; i++)
-				{
-					child = children[i].flexjs_wrapper;
-					if (!child.visible) realN--;
-				}
-
-				xpos = 0;
-				ypos = 0;
-				useWidth = columnWidth;
-				useHeight = rowHeight;
-
-				if (isNaN(useWidth)) {
-					useWidth = Math.floor(adjustedWidth / numColumns); // + gap
-				}
-				if (isNaN(useHeight)) {
-					// given the width and total number of items, how many rows?
-					var numRows:Number = Math.floor(realN / numColumns);
-					if (host.isHeightSizedToContent) useHeight = 30; // default height
-					else useHeight = Math.floor(adjustedHeight / numRows);
-				}
-
-				for (i = 0; i < n; i++)
-				{
-					child = children[i].flexjs_wrapper;
-					if (!child.visible) continue;
-					child.setDisplayStyleForLayout('inline-block');
-					child.width = useWidth;
-					child.height = useHeight;
-				}
-				return true;
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VScrollBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VScrollBarLayout.as
deleted file mode 100644
index 32ef56f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VScrollBarLayout.as
+++ /dev/null
@@ -1,124 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.html.beads.IScrollBarView;
-	import org.apache.flex.html.beads.ScrollBarView;
-	import org.apache.flex.html.Button;
-	import org.apache.flex.utils.CSSContainerUtils;
-
-    /**
-     *  The VScrollBarLayout class is a layout
-     *  bead that displays lays out the pieces of a
-     *  vertical ScrollBar like the thumb, track
-     *  and arrow buttons.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class VScrollBarLayout implements IBeadLayout
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function VScrollBarLayout()
-		{
-		}
-		
-		private var sbModel:IScrollBarModel;
-		private var sbView:IScrollBarView;
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			sbView = _strand.getBeadByType(IScrollBarView) as IScrollBarView;
-		}
-			
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		public function layout():Boolean
-		{
-            if (!sbModel)
-                sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel
-					
-			var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-            
-            var host:UIBase = UIBase(_strand);
-			var h:Number = host.height + metrics.top + metrics.bottom;
-			var increment:Button = sbView.increment;
-			var decrement:Button = sbView.decrement;
-			var track:Button = sbView.track;
-			var thumb:Button = sbView.thumb;
-			
-			decrement.x = 0;
-			decrement.y = 0;
-			
-			increment.x = 0;
-			increment.y = h - increment.height - 1;
-
-            if (track.width < thumb.width)
-                track.x = (thumb.width - track.width) / 2;
-            else if (track.width > thumb.width)
-                thumb.x = (track.width - thumb.width) / 2;
-            else
-                track.x = 0;
-			track.y = decrement.height;
-			track.height = increment.y - decrement.height;
-            thumb.height = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.height;
-			if (track.height > thumb.height)
-			{
-				thumb.visible = true;
-				thumb.y = (sbModel.value / (sbModel.maximum - sbModel.minimum - sbModel.pageSize) * (track.height - thumb.height)) + track.y;
-			}
-			else
-			{
-				thumb.visible = false;
-			}
-			
-            return true;
-		}
-						
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
deleted file mode 100644
index e489d85..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
+++ /dev/null
@@ -1,165 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-	import org.apache.flex.core.LayoutBase;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.ILayoutHost;
-	import org.apache.flex.core.ILayoutView;
-	import org.apache.flex.core.ILayoutParent;
-	import org.apache.flex.core.IMeasurementBead;
-	import org.apache.flex.core.IParent;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.geom.Rectangle;
-	import org.apache.flex.utils.CSSUtils;
-    import org.apache.flex.utils.CSSContainerUtils;
-
-	/**
-	 * ColumnLayout is a class that organizes the positioning of children
-	 * of a container into a set of columns where each column's width is set to
-	 * the maximum size of all of the children in that column.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class VerticalColumnLayout extends LayoutBase implements IBeadLayout
-	{
-		/**
-		 *  constructor
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function VerticalColumnLayout()
-		{
-			super();
-		}
-
-
-		private var _numColumns:int;
-
-		/**
-		 * The number of columns.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get numColumns():int
-		{
-			return _numColumns;
-		}
-		public function set numColumns(value:int):void
-		{
-			_numColumns = value;
-		}
-
-        /**
-         * @copy org.apache.flex.core.IBeadLayout#layout
-         */
-		override public function layout():Boolean
-		{
-			var contentView:ILayoutView = layoutView;
-			
-            var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-			var sw:Number = host.width;
-			var sh:Number = host.height;
-
-            var hasWidth:Boolean = !host.isWidthSizedToContent();
-            var hasHeight:Boolean = !host.isHeightSizedToContent();
-			var e:IUIBase;
-			var i:int;
-			var col:int = 0;
-			var columns:Array = [];
-            var rows:Array = [];
-            var data:Array = [];
-			for (i = 0; i < numColumns; i++)
-				columns[i] = 0;
-
-			var n:int = contentView.numElements;
-            var rowData:Object = { rowHeight: 0 };
-
-			// determine max widths of columns
-			for (i = 0; i < n; i++) {
-				e = contentView.getElementAt(i) as IUIBase;
-				if (e == null || !e.visible) continue;
-				var margins:Object = childMargins(e, sw, sh);
-				
-                data.push({ mt: margins.top, mb: margins.bottom, mr: margins.right, ml: margins.left});
-				var thisPrefWidth:int = 0;
-				if (e is IStrand)
-				{
-					var measure:IMeasurementBead = e.getBeadByType(IMeasurementBead) as IMeasurementBead;
-					if (measure)
-						thisPrefWidth = measure.measuredWidth + margins.left + margins.right;
-					else
-						thisPrefWidth = e.width + margins.left + margins.right;
-				}
-				else
-					thisPrefWidth = e.width + margins.left + margins.right;
-
-                rowData.rowHeight = Math.max(rowData.rowHeight, e.height + margins.top + margins.bottom);
-				columns[col] = Math.max(columns[col], thisPrefWidth);
-                col = col + 1;
-                if (col == numColumns)
-                {
-                    rows.push(rowData);
-                    rowData = {rowHeight: 0};
-                    col = 0;
-                }
-			}
-
-            var lastmb:Number = 0;
-			var curx:int = padding.left;
-			var cury:int = padding.top;
-			var maxHeight:int = 0;
-            var maxWidth:int = 0;
-			col = 0;
-			for (i = 0; i < n; i++)
-            {
-				e = contentView.getElementAt(i) as IUIBase;
-				if (e == null || !e.visible) continue;
-				e.x = curx + data[i].ml;
-				e.y = cury + data[i].mt;
-				curx += columns[col++];
-                maxHeight = Math.max(maxHeight, e.y + e.height + data[i].mb);
-                maxWidth = Math.max(maxWidth, e.x + e.width + data[i].mr);
-				if (col == numColumns)
-				{
-					cury += rows[0].rowHeight;
-                    rows.shift();
-					col = 0;
-					curx = padding.left;
-				}
-			}
-			return true;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/AlertModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/AlertModel.as
deleted file mode 100644
index caa6215..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/AlertModel.as
+++ /dev/null
@@ -1,288 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IAlertModel;
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	/**
-	 *  The AlertModel class bead implements the org.apache.flex.core.IAlertModel and holds the properties
-	 *  for an org.apache.flex.html.Alert such the buttons to use and message to display.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class AlertModel extends EventDispatcher implements IAlertModel, IBead
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function AlertModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _title:String;
-		
-		/**
-		 *  The title for the Alert.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#title
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return _title;
-		}
-		public function set title(value:String):void
-		{
-			if( value != _title ) {
-				_title = value;
-				dispatchEvent( new Event("titleChange") );
-			}
-		}
-
-		private var _htmlTitle:String;
-		
-		/**
-		 *  The HTML title for the Alert.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#htmlTitle
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlTitle():String
-		{
-			return _htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			if( value != _htmlTitle ) {
-				_htmlTitle = value;
-				dispatchEvent( new Event("htmlTitleChange") );
-			}
-		}
-		
-		private var _message:String;
-		
-		/**
-		 *  The message to display.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#message
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get message():String
-		{
-			return _message;
-		}
-		public function set message(value:String):void
-		{
-			if( value != _message ) {
-				_message = value;
-				dispatchEvent( new Event("messageChange") );
-			}
-		}
-		
-		private var _htmlMessage:String;
-		
-		/**
-		 *  The HTML message to display.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#htmlMessage
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlMessage():String
-		{
-			return _htmlMessage;
-		}
-		public function set htmlMessage(value:String):void
-		{
-			if( value != _htmlMessage )
-			{
-				_htmlMessage = value;
-				dispatchEvent( new Event("htmlMessageChange") );
-			}
-		}
-		
-		private var _flags:uint;
-		
-		/**
-		 *  Which buttons to display (see Alert for details).
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#flags
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get flags():uint
-		{
-			return _flags;
-		}
-		public function set flags(value:uint):void
-		{
-			if( value != _flags )
-			{
-				_flags = value;
-				dispatchEvent( new Event("flagsChange") );
-			}
-		}
-		
-		private var _okLabel:String = "OK";
-		
-		/**
-		 *  The label to use for the OK button.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#okLabel
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get okLabel():String
-		{
-			return _okLabel;
-		}
-		public function set okLabel(value:String):void
-		{
-			if( value != _okLabel )
-			{
-				_okLabel = value;
-				dispatchEvent( new Event("okLabelChange") );
-			}
-		}
-		
-		private var _cancelLabel:String = "Cancel";
-		
-		/**
-		 *  The label to use for the Cancel button.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#cancelLabel
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get cancelLabel():String
-		{
-			return _cancelLabel;
-		}
-		public function set cancelLabel(value:String):void
-		{
-			if( value != _cancelLabel )
-			{
-				_cancelLabel = value;
-				dispatchEvent( new Event("cancelLabelChange") );
-			}
-		}
-		
-		private var _yesLabel:String = "YES";
-		
-		/**
-		 *  The label to use for the Yes button.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#yesLabel
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get yesLabel():String
-		{
-			return _yesLabel;
-		}
-		public function set yesLabel(value:String):void
-		{
-			if( value != _yesLabel )
-			{
-				_yesLabel = value;
-				dispatchEvent( new Event("yesLabelChange") );
-			}
-		}
-		
-		private var _noLabel:String = "NO";
-		
-		/**
-		 *  The label to use for the NO button.
-		 * 
-		 *  @copy org.apache.flex.core.IAlertModel#noLabel
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get noLabel():String
-		{
-			return _noLabel;
-		}
-		public function set noLabel(value:String):void
-		{
-			if( value != _noLabel )
-			{
-				_noLabel = value;
-				dispatchEvent( new Event("noLabelChange") );
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
deleted file mode 100644
index 5c8a188..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
+++ /dev/null
@@ -1,244 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.collections.IArrayList;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-
-    /**
-     *  The ArrayListSelectionModel class is a selection model for
-     *  a dataProvider that is an ArrayList. It assumes that items
-     *  can be fetched from the dataProvider using dataProvider.getItemAt(index).
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ArrayListSelectionModel extends EventDispatcher implements ISelectionModel, IRollOverModel
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ArrayListSelectionModel()
-		{
-		}
-
-		private var _strand:IStrand;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-		private var _dataProvider:IArrayList;
-
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#dataProvider
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get dataProvider():Object
-		{
-			return _dataProvider;
-		}
-
-        /**
-         *  @private
-         */
-		public function set dataProvider(value:Object):void
-		{
-            if (value === _dataProvider) return;
-
-            _dataProvider = value as IArrayList;
-            if (_selectedIndex != -1)
-                _selectedItem = (_dataProvider == null || _selectedIndex >= _dataProvider.length) ? null :
-                    _dataProvider.getItemAt(_selectedIndex);
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-
-		private var _selectedIndex:int = -1;
-		private var _rollOverIndex:int = -1;
-		private var _labelField:String = null;
-
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#labelField
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-
-        /**
-         *  @private
-         */
-		public function set labelField(value:String):void
-		{
-			if (value != _labelField) {
-				_labelField = value;
-				dispatchEvent(new Event("labelFieldChanged"));
-			}
-		}
-
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedIndex():int
-		{
-			return _selectedIndex;
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedIndex(value:int):void
-		{
-            if (value === _selectedIndex) return;
-
-			_selectedIndex = value;
-			_selectedItem = (value == -1 || _dataProvider == null) ? null : (value < _dataProvider.length) ? _dataProvider.getItemAt(value) : null;
-			dispatchEvent(new Event("selectedIndexChanged"));
-		}
-
-        /**
-         *  @copy org.apache.flex.core.IRollOverModel#rollOverIndex
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get rollOverIndex():int
-		{
-			return _rollOverIndex;
-		}
-
-        /**
-         *  @private
-         */
-		public function set rollOverIndex(value:int):void
-		{
-			if (value != _rollOverIndex) {
-				_rollOverIndex = value;
-				dispatchEvent(new Event("rollOverIndexChanged"));
-			}
-		}
-
-		private var _selectedItem:Object;
-
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedItem():Object
-		{
-			return _selectedItem;
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedItem(value:Object):void
-		{
-            if (value === _selectedItem) return;
-
-			_selectedItem = value;
-			var n:int = _dataProvider.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (_dataProvider.getItemAt(i) == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));
-			dispatchEvent(new Event("selectedIndexChanged"));
-		}
-
-		private var _selectedString:String;
-
-        /**
-         *  An alternative to selectedItem for strongly typing the
-         *  the selectedItem if the Array is an Array of Strings.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedString():String
-		{
-			return String(_selectedItem);
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedString(value:String):void
-		{
-			_selectedString = value;
-			var n:int = _dataProvider.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (String(_dataProvider.getItemAt(i)) == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));
-			dispatchEvent(new Event("selectedIndexChanged"));
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
deleted file mode 100644
index a6c0a31..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
+++ /dev/null
@@ -1,243 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-			
-    /**
-     *  The ArraySelectionModel class is a selection model for
-     *  a dataProvider that is an array. It assumes that items
-     *  can be fetched from the dataProvider
-     *  dataProvider[index].  Other selection models
-     *  would support other kinds of data providers.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ArraySelectionModel extends EventDispatcher implements ISelectionModel, IRollOverModel
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ArraySelectionModel()
-		{
-		}
-
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _dataProvider:Object;
-        
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#dataProvider
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get dataProvider():Object
-		{
-			return _dataProvider;
-		}
-
-        /**
-         *  @private
-         */
-		public function set dataProvider(value:Object):void
-		{
-            if (value === _dataProvider) return;
-            
-            _dataProvider = value;
-            if (_selectedIndex != -1)
-                _selectedItem = (_dataProvider == null || _selectedIndex >= _dataProvider.length) ? null : 
-                    _dataProvider[_selectedIndex];
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-
-		private var _selectedIndex:int = -1;
-		private var _rollOverIndex:int = -1;
-		private var _labelField:String = null;
-		
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#labelField
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-
-        /**
-         *  @private
-         */
-		public function set labelField(value:String):void
-		{
-			if (value != _labelField) {
-				_labelField = value;
-				dispatchEvent(new Event("labelFieldChanged"));
-			}
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedIndex():int
-		{
-			return _selectedIndex;
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedIndex(value:int):void
-		{
-            if (value === _selectedIndex) return;
-            
-			_selectedIndex = value;
-			_selectedItem = (value == -1 || _dataProvider == null) ? null : (value < _dataProvider.length) ? _dataProvider[value] : null;
-			dispatchEvent(new Event("selectedIndexChanged"));			
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.IRollOverModel#rollOverIndex
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get rollOverIndex():int
-		{
-			return _rollOverIndex;
-		}
-
-        /**
-         *  @private
-         */
-		public function set rollOverIndex(value:int):void
-		{
-			_rollOverIndex = value;
-			dispatchEvent(new Event("rollOverIndexChanged"));			
-		}
-		
-		private var _selectedItem:Object;
-		
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedItem():Object
-		{
-			return _selectedItem;
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedItem(value:Object):void
-		{
-            if (value === _selectedItem) return;
-            
-			_selectedItem = value;	
-			var n:int = _dataProvider.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (_dataProvider[i] == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));			
-			dispatchEvent(new Event("selectedIndexChanged"));
-		}
-		
-		private var _selectedString:String;
-		
-        /**
-         *  An alternative to selectedItem for strongly typing the
-         *  the selectedItem if the Array is an Array of Strings.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedString():String
-		{
-			return String(_selectedItem);
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedString(value:String):void
-		{
-			_selectedString = value;
-			var n:int = _dataProvider.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (String(_dataProvider[i]) == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));			
-			dispatchEvent(new Event("selectedIndexChanged"));			
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
deleted file mode 100644
index 35a60a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
+++ /dev/null
@@ -1,100 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IComboBoxModel;
-	import org.apache.flex.events.Event;
-			
-	/**
-	 *  The ComboBoxModel class bead extends org.apache.flex.html.beads.models.ArraySelectionModel 
-	 *  and adds the text being displayed by the org.apache.flex.html.ComboBox's input field.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ComboBoxModel extends ArraySelectionModel implements IBead, IComboBoxModel
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ComboBoxModel()
-		{
-		}
-
-		private var _text:String;
-		
-		/**
-		 *  The string to display in the org.apache.flex.html.ComboBox input field.
-		 * 
-		 *  @copy org.apache.flex.core.IComboBoxModel#text
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get text():String
-		{
-			return _text;
-		}
-		
-		public function set text(value:String):void
-		{
-			if (value != _text)
-			{
-				_text = value;
-				dispatchEvent(new Event("textChange"));
-			}
-		}
-		
-		private var _html:String;
-		
-		/**
-		 *  The HTML string to display in the org.apache.flex.html.ComboBox input field.
-		 * 
-		 *  @copy org.apache.flex.core.IComboBoxModel#html
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get html():String
-		{
-			return _html;
-		}
-		
-		public function set html(value:String):void
-		{
-			if (value != _html)
-			{
-				_html = value;
-				dispatchEvent(new Event("htmlChange"));
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
deleted file mode 100644
index 531edac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
+++ /dev/null
@@ -1,71 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IDataGridModel;
-	import org.apache.flex.events.Event;
-	
-	/**
-	 *  The DataGridModel class bead extends org.apache.flex.html.beads.models.ArrayListSelectionModel 
-	 *  to facilitate using an ArrayList as the dataProvider for the DataGrid.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridModel extends ArrayListSelectionModel implements IDataGridModel
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridModel()
-		{
-			super();
-		}
-		
-		private var _columns:Array;
-		
-		/**
-		 *  The array of org.apache.flex.html.supportClasses.DataGridColumns used to 
-		 *  define each column of the org.apache.flex.html.DataGrid.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columns():Array
-		{
-			return _columns;
-		}
-		public function set columns(value:Array):void
-		{
-			if (_columns != value) {
-				_columns = value;
-				dispatchEvent( new Event("columnsChanged"));
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
deleted file mode 100644
index 0a00edb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
+++ /dev/null
@@ -1,88 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IDataGridPresentationModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	
-	/**
-	 *  The DataGridPresentationModel class contains the data to label the columns
-	 *  of the org.apache.flex.html.DataGrid along with the height of the rows. 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridPresentationModel extends ListPresentationModel implements IDataGridPresentationModel
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridPresentationModel()
-		{
-			super();
-			
-			separatorThickness = 1;
-		}
-		
-		private var _columnLabels:Array;
-		
-		/**
-		 *  The labels for each column.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columnLabels():Array
-		{
-			return _columnLabels;
-		}
-		public function set columnLabels(value:Array):void
-		{
-			if (value != _columnLabels) {
-				_columnLabels = value;
-				dispatchEvent(new Event("columnsChanged"));
-			}
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
deleted file mode 100644
index a24ca90..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
+++ /dev/null
@@ -1,289 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{	
-	import org.apache.flex.core.IDateChooserModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	/**
-	 *  The DateChooserModel is a bead class that manages the data for a DataChooser. 
-	 *  This includes arrays of names for the months and days of the week as well the
-	 *  currently selected date.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateChooserModel extends EventDispatcher implements IDateChooserModel
-	{
-		public function DateChooserModel()
-		{
-			// default displayed year and month to "today"
-//			var today:Date = new Date();
-//			displayedYear = today.getFullYear();
-//			displayedMonth = today.getMonth();
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _dayNames:Array   = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
-		private var _monthNames:Array = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
-		private var _days:Array;
-		private var _displayedYear:Number;
-		private var _displayedMonth:Number;
-		private var _firstDayOfWeek:Number = 0;
-		private var _selectedDate:Date;
-		
-		/**
-		 *  An array of strings used to name the days of the week with Sunday being the
-		 *  first element of the array.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dayNames():Array
-		{
-			return _dayNames;
-		}
-		public function set dayNames(value:Array):void
-		{
-			_dayNames = value;
-			dispatchEvent( new Event("dayNamesChanged") );
-		}
-		
-		/**
-		 *  An array of strings used to name the months of the year with January being
-		 *  the first element of the array.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get monthNames():Array
-		{
-			return _monthNames;
-		}
-		public function set monthNames(value:Array):void
-		{
-			_monthNames = value;
-			dispatchEvent( new Event("monthNames") );
-		}
-		
-		/**
-		 *  The year currently displayed by the DateChooser.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get displayedYear():Number
-		{
-			return _displayedYear;
-		}
-		public function set displayedYear(value:Number):void
-		{
-			if (value != _displayedYear) {
-				_displayedYear = value;
-				updateCalendar();
-				dispatchEvent( new Event("displayedYearChanged") );
-			}
-		}
-		
-		/**
-		 *  The month currently displayed by the DateChooser.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get displayedMonth():Number
-		{
-			return _displayedMonth;
-		}
-		public function set displayedMonth(value:Number):void
-		{
-			if (_displayedMonth != value) {
-				_displayedMonth = value;
-				updateCalendar();
-				dispatchEvent( new Event("displayedMonthChanged") );
-			}
-		}
-		
-		/**
-		 *  The index of the first day of the week, Sunday = 0.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get firstDayOfWeek():Number
-		{
-			return _firstDayOfWeek;
-		}
-		public function set firstDayOfWeek(value:Number):void
-		{
-			if (value != _firstDayOfWeek) {
-				_firstDayOfWeek = value;
-				dispatchEvent( new Event("firstDayOfWeekChanged") );
-			}
-		}
-		
-		public function get days():Array
-		{
-			return _days;
-		}
-		public function set days(value:Array):void
-		{
-			if (value != _days) {
-				_days = value;
-				dispatchEvent( new Event("daysChanged") );
-			}
-		}
-		
-		/**
-		 *  The currently selected date or null if no date has been selected.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedDate():Date
-		{
-			return _selectedDate;
-		}
-		public function set selectedDate(value:Date):void
-		{
-			if (value != _selectedDate) {
-				_selectedDate = value;
-				
-				if (value != null) {
-					var needsUpdate:Boolean = false;
-					if (value.getMonth() != _displayedMonth) {
-						needsUpdate = true;
-						_displayedMonth = value.getMonth();
-					}
-					if (value.getFullYear() != _displayedYear) {
-						needsUpdate = true;
-						_displayedYear  = value.getFullYear();
-					}
-					if (needsUpdate) updateCalendar();
-				}
-				
-				dispatchEvent( new Event("selectedDateChanged") );
-			}
-		}
-		
-		// Utilities
-		
-		
-		/**
-		 * @private
-		 */
-		private function updateCalendar():void
-		{	
-			var firstDay:Date = new Date(displayedYear,displayedMonth,1);
-			
-			_days = new Array(42);
-			
-			// blank out the labels for the first firstDay.day-1 entries.
-			for(var i:int=0; i < firstDay.getDay(); i++) {
-				_days[i] = null;
-			}
-			
-			// renumber to the last day of the month
-			var dayNumber:int = 1;
-			var numDays:Number = numberOfDaysInMonth(displayedMonth, displayedYear);
-			
-			for(; i < _days.length && dayNumber <= numDays; i++) {
-				_days[i] = new Date(displayedYear, displayedMonth, dayNumber++);
-			}
-			
-			// blank out the rest
-			for(; i < _days.length; i++) {
-				_days[i] = null;
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		private function numberOfDaysInMonth(month:Number, year:Number):Number
-		{
-			var n:int;
-			
-			if (month == 1) // Feb
-			{
-				if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
-					n = 29;
-				else
-					n = 28;
-			}
-				
-			else if (month == 3 || month == 5 || month == 8 || month == 10)
-				n = 30;
-				
-			else
-				n = 31;
-			
-			return n;
-		}
-		
-		/**
-		 * @private
-		 */
-		public function getIndexForSelectedDate():Number
-		{
-			var d:Date = _selectedDate;
-			if (d == null) return -1;
-			
-			for(var i:int=0; i < _days.length; i++) {
-				var test:Date = _days[i] as Date;
-				if (test != null) {
-					if (test.getMonth() == d.getMonth() && test.getDate() == d.getDate() && test.getFullYear() == d.getFullYear()) {
-						return i;
-					}
-				}
-			}
-			return -1;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
deleted file mode 100644
index 01dd3e9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
+++ /dev/null
@@ -1,77 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITextModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-		
-    /**
-     *  The ImageAndTextModel class is associates and image
-     *  with some text. 
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ImageAndTextModel extends TextModel
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ImageAndTextModel()
-		{
-		}
-		
-
-        private var _image:String;
-        
-        /**
-         *  The URL of an icon to use in the button
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get image():String
-        {
-            return _image;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set image(value:String):void
-        {
-            _image = value;
-            dispatchEvent(new Event("imageChange"));
-        }
-        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
deleted file mode 100644
index ac6b50c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
+++ /dev/null
@@ -1,90 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IImageModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-    import org.apache.flex.utils.BinaryData;
-	
-	/**
-	 *  The ImageModel class bead defines the data associated with an org.apache.flex.html.Image
-	 *  component, namely the source of the image.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ImageModel extends EventDispatcher implements IImageModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ImageModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		protected var _url:String;
-		
-		/**
-		 *  The url of the image.
-		 * 
-		 *  @copy org.apache.flex.core.IImageModel#url
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get url():String
-		{
-			return _url;
-		}
-		public function set url(value:String):void
-		{
-			if (value != _url) {
-				_url = value;
-				dispatchEvent( new Event("urlChanged") );
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
deleted file mode 100644
index 8a372ac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
+++ /dev/null
@@ -1,107 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IListPresentationModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	/**
-	 *  The ListPresentationModel holds values used by list controls for presenting
-	 *  their user interfaces.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ListPresentationModel extends EventDispatcher implements IListPresentationModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ListPresentationModel()
-		{
-			super();
-		}
-		
-		private var _rowHeight:Number = 30;
-		
-		/**
-		 *  The height of each row.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get rowHeight():Number
-		{
-			return _rowHeight;
-		}
-		
-		public function set rowHeight(value:Number):void
-		{
-			_rowHeight = value;
-			dispatchEvent(new Event("rowHeightChanged"));
-		}
-		
-		private var _separatorThickness:Number = 0;
-		
-		/**
-		 *  The distance between rows.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get separatorThickness():Number
-		{
-			return _separatorThickness;
-		}
-		
-		public function set separatorThickness(value:Number):void
-		{
-			_separatorThickness = value;
-			dispatchEvent(new Event("separatorThicknessChanged"));
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
deleted file mode 100644
index 5741fdd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
+++ /dev/null
@@ -1,158 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IPanelModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	/**
-	 *  The PanelModel bead class holds the values for a org.apache.flex.html.Panel, such as its
-	 *  title.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class PanelModel extends EventDispatcher implements IBead, IPanelModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function PanelModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-        private var _controlBar:Array;
-        
-        /**
-         *  The items in the org.apache.flex.html.ControlBar. Setting this property automatically
-         *  causes the ControlBar to display if you are using a View bead that supports it.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get controlBar():Array
-        {
-            return _controlBar;
-        }
-        public function set controlBar(value:Array):void
-        {
-            _controlBar = value;
-        }
-
-        private var _title:String;
-		
-		/**
-		 *  The title string for the org.apache.flex.html.Panel.
-		 * 
-		 *  @copy org.apache.flex.core.ITitleBarModel#title
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return _title;
-		}
-		public function set title(value:String):void
-		{
-			if( value != _title ) {
-				_title = value;
-				dispatchEvent( new Event('titleChange') );
-			}
-		}
-		
-		private var _htmlTitle:String;
-		
-		/**
-		 *  The HTML string for the title.
-		 * 
-		 *  @copy org.apache.flex.core.ITitleBarModel#htmlTitle
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlTitle():String
-		{
-			return _htmlTitle;
-		}
-		public function set htmlTitle(value:String):void
-		{
-			if( value != _htmlTitle ) {
-				_htmlTitle = value;
-				dispatchEvent( new Event('htmlTitleChange') );
-			}
-		}
-		
-		private var _showCloseButton:Boolean = false;
-		
-		/**
-		 *  Indicates whether or not there is a Close button for the org.apache.flex.html.Panel.
-		 * 
-		 *  @copy org.apache.flex.core.ITitleBarModel#showCloseButton
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get showCloseButton():Boolean
-		{
-			return _showCloseButton;
-		}
-		public function set showCloseButton(value:Boolean):void
-		{
-			if( value != _showCloseButton ) {
-				_showCloseButton = value;
-				dispatchEvent( new Event('showCloseButtonChange') );
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
deleted file mode 100644
index c06d3fe..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
+++ /dev/null
@@ -1,222 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IRangeModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-			
-	/**
-	 *  The RangeModel class bead defines a set of for a numeric range of values
-	 *  which includes a minimum, maximum, and current value.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RangeModel extends EventDispatcher implements IBead, IRangeModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RangeModel()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-		private var _maximum:Number = 100;
-		
-		/**
-		 *  The maximum value for the range (defaults to 100).
-		 * 
-		 *  @copy org.apache.flex.core.IRangeModel#maximum
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get maximum():Number
-		{
-			return _maximum;
-		}
-		
-		public function set maximum(value:Number):void
-		{
-			if (value != _maximum)
-			{
-				_maximum = value;
-				dispatchEvent(new Event("maximumChange"));
-			}
-		}
-		
-		private var _minimum:Number = 0;
-		
-		/**
-		 *  The minimum value for the range (defaults to 0).
-		 * 
-		 *  @copy org.apache.flex.core.IRangeModel#minimum
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get minimum():Number
-		{
-			return _minimum;
-		}
-		
-		public function set minimum(value:Number):void
-		{
-			if (value != _minimum)
-			{
-				_minimum = value;
-				dispatchEvent(new Event("minimumChange"));
-			}
-		}
-
-		private var _snapInterval:Number = 1;
-		
-		/**
-		 *  The modulus value for the range. 
-		 * 
-		 *  @copy org.apache.flex.core.IRangeModel#snapInterval
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get snapInterval():Number
-		{
-			return _snapInterval;
-		}
-		
-		public function set snapInterval(value:Number):void
-		{
-			if (value != _snapInterval)
-			{
-				_snapInterval = value;
-				dispatchEvent(new Event("snapIntervalChange"));
-			}
-		}
-		
-		private var _stepSize:Number = 1;
-		
-		/**
-		 *  The amount to adjust the value either up or down toward the edge of the range.
-		 * 
-		 *  @copy org.apache.flex.core.IRangeModel#stepSize
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get stepSize():Number
-		{
-			return _stepSize;
-		}
-		
-		public function set stepSize(value:Number):void
-		{
-			if (value != _stepSize)
-			{
-				_stepSize = value;
-				dispatchEvent(new Event("stepSizeChange"));
-			}
-		}
-		
-		private var _value:Number = 0;
-		
-		/**
-		 *  The current value of the range, between the minimum and maximum values. Attempting
-		 *  to set the value outside of the minimum-maximum range changes the value to still be
-		 *  within the range. Note that the value is adjusted by the stepSize.
-		 * 
-		 *  @copy org.apache.flex.core.IRangeModel#value
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get value():Number
-		{
-			return _value;
-		}
-		
-		public function set value(newValue:Number):void
-		{
-			if (newValue != _value)
-			{
-				// value must lie within the boundaries of minimum & maximum
-				// and be on a step interval, so the value is adjusted to 
-				// what is coming in.
-				newValue = Math.max(minimum, newValue);
-				newValue = Math.min(maximum, newValue);
-				_value = snap(newValue);
-				dispatchEvent(new Event("valueChange"));
-			}
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function snap(value:Number):Number
-		{
-			var si:Number = snapInterval;
-			var n:Number = Math.round((value - minimum) / si) * si + minimum;
-			if (value > 0)
-			{
-				if (value - n < n + si - value)
-					return n;
-				return n + si;
-				
-			}
-			if (value - n > n + si - value)
-				return n + si;
-			return n;
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
deleted file mode 100644
index ebbc4f3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
+++ /dev/null
@@ -1,101 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.events.Event;
-	import org.apache.flex.html.beads.models.RangeModel;
-
-	/**
-	 *  The RangeModelExtended bead expands on the RangeModel and adds a function to
-	 *  display a value from the model.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RangeModelExtended extends RangeModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function RangeModelExtended()
-		{
-			super();
-		}
-
-		private var _value:Number = 0;
-		
-		/**
-		 * @private
-		 */
-		override public function get value():Number
-		{
-			return _value;
-		}
-		override public function set value(newValue:Number):void
-		{
-			_value = newValue;
-			dispatchEvent(new Event("valueChange"));
-		}
-
-		private var _labelFunction:Function;
-		
-		/**
-		 *  A function used to format a value in the model.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get labelFunction():Function
-		{
-			return _labelFunction;
-		}
-		public function set labelFunction(value:Function):void
-		{
-			_labelFunction = value;
-		}
-
-		/**
-		 *  Returns the label, using the labelFunction (if provided) for the value
-		 *  at the given index.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function getLabelForIndex(index:Number):String
-		{
-			if (_labelFunction != null) {
-				return _labelFunction(this, index);
-			}
-			else {
-				return "";
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
deleted file mode 100644
index 582df91..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
+++ /dev/null
@@ -1,98 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	
-	import org.apache.flex.core.IScrollBarModel;
-	import org.apache.flex.events.Event;
-		
-	/**
-	 *  The ScrollBarModel class bead extends the org.apache.flex.html.beads.models.RangeModel 
-	 *  and adds page size and page step sizes.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ScrollBarModel extends RangeModel implements IScrollBarModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ScrollBarModel()
-		{
-		}
-		
-		private var _pageSize:Number;
-		
-		/**
-		 *  The amount represented by the thumb control of the org.apache.flex.html.ScrollBar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get pageSize():Number
-		{
-			return _pageSize;
-		}
-		
-		public function set pageSize(value:Number):void
-		{
-			if (value != _pageSize)
-			{
-				_pageSize = value;
-				dispatchEvent(new Event("pageSizeChange"));
-			}
-		}
-				
-		private var _pageStepSize:Number;
-		
-		/**
-		 *  The amount to adjust the org.apache.flex.html.ScrollBar if the scroll bar's 
-		 *  track area is selected.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get pageStepSize():Number
-		{
-			return _pageStepSize;
-		}
-		
-		public function set pageStepSize(value:Number):void
-		{
-			if (value != _pageStepSize)
-			{
-				_pageStepSize = value;
-				dispatchEvent(new Event("pageStepSizeChange"));
-			}
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
deleted file mode 100644
index 99c3a0d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
+++ /dev/null
@@ -1,85 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import flash.geom.Rectangle;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBorderModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.EventDispatcher;
-		
-    /**
-     *  The SingleLineBorderModel class is a data model for
-     *  a single line border. This model is very simple,
-     *  it only stores the offsets from the edges of the
-     *  component.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class SingleLineBorderModel extends EventDispatcher implements IBead, IBorderModel
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function SingleLineBorderModel()
-		{
-		}
-		
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-        static private var rect:Rectangle = new Rectangle(1, 1, 1, 1);
-        
-        /**
-         *  The offsets of the border from the edges of the
-         *  component.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get offsets():Rectangle
-        {
-            return rect;
-        }
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
deleted file mode 100644
index be3d7c8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
+++ /dev/null
@@ -1,221 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-		
-    /**
-     *  The StringSelectionModel class is a selection model for
-     *  selecting a single string from a vector of strings. 
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class StringSelectionModel extends EventDispatcher implements ISelectionModel
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function StringSelectionModel()
-		{
-		}
-
-		private var _strand:IStrand;
-		
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _strings:Vector.<String>;
-
-        /**
-         *  The vector of strings.  This is the same
-         *  as the dataProvider property but is
-         *  strongly typed.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get strings():Vector.<String>
-		{
-			return _strings;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set strings(value:Vector.<String>):void
-		{
-			_strings = value;
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-
-        /**
-         *  The dataProvider, which is a
-         *  Vector.&lt;String&gt;.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get dataProvider():Object
-		{
-			return _strings;
-		}
-
-        /**
-         *  @private
-         */
-		public function set dataProvider(value:Object):void
-		{
-			_strings = value as Vector.<String>;
-			dispatchEvent(new Event("dataProviderChanged"));
-		}
-
-		private var _selectedIndex:int = -1;
-		
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedIndex
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedIndex():int
-		{
-			return _selectedIndex;
-		}
-
-        /**
-         *  @private
-         */
-		public function set selectedIndex(value:int):void
-		{
-			_selectedIndex = value;
-			_selectedString = (value == -1) ? null : (value < _strings.length) ? _strings[value] : null;
-			dispatchEvent(new Event("selectedIndexChanged"));			
-		}
-		private var _selectedString:String;
-		
-        /**
-         *  @copy org.apache.flex.core.ISelectionModel#selectedItem
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedItem():Object
-		{
-			return _selectedString;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set selectedItem(value:Object):void
-		{
-			selectedString = String(value);	
-		}
-
-        /**
-         *  The selected string.  This is the same as the
-         *  selectedItem, but is strongly-typed.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get selectedString():String
-		{
-			return _selectedString;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set selectedString(value:String):void
-		{
-			_selectedString = value;
-			var n:int = _strings.length;
-			for (var i:int = 0; i < n; i++)
-			{
-				if (_strings[i] == value)
-				{
-					_selectedIndex = i;
-					break;
-				}
-			}
-			dispatchEvent(new Event("selectedItemChanged"));			
-		}
-		
-		
-		private var _labelField:String;
-		
-        /**
-         *  The labelField, which is not used in this
-         *  implementation.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set labelField(value:String):void
-		{
-			if (value != _labelField) {
-				_labelField = value;
-				dispatchEvent(new Event("labelFieldChanged"));
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
deleted file mode 100644
index d9f6ff2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
+++ /dev/null
@@ -1,136 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.ITitleBarModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	/**
-	 *  The TitleBarModel class bead holds the values for the org.apache.flex.html.TitleBar's 
-	 *  properties.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TitleBarModel extends EventDispatcher implements IBead, ITitleBarModel
-	{
-		public function TitleBarModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _title:String;
-		
-        [Bindable("titleChange")]
-		/**
-		 *  The string title for the org.apache.flex.html.TitleBar.
-		 * 
-		 *  @copy org.apache.flex.core.ITitleBarModel#title
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get title():String
-		{
-			return _title;
-		}
-		
-		public function set title(value:String):void
-		{
-			if( value != _title ) {
-				_title = value;
-				dispatchEvent( new Event('titleChange') );
-			}
-		}
-		
-		private var _htmlTitle:String;
-		
-        [Bindable("htmlTitleChange")]
-		/**
-		 *  The HTML string for the title.
-		 * 
-		 *  @copy org.apache.flex.core.ITitleBarModel#htmlTitle
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get htmlTitle():String
-		{
-			return _htmlTitle;
-		}
-		
-		public function set htmlTitle(value:String):void
-		{
-			if( value != _htmlTitle ) {
-				_htmlTitle = value;
-				dispatchEvent( new Event('htmlTitleChange') );
-			}
-		}
-		
-		private var _showCloseButton:Boolean = false;
-		
-        [Bindable("showCloseButtonChange")]
-		/**
-		 *  Whether or not to show a close button.
-		 * 
-		 *  @copy org.apache.flex.core.ITitleBarModel#showCloseButton
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get showCloseButton():Boolean
-		{
-			return _showCloseButton;
-		}
-		
-		public function set showCloseButton(value:Boolean):void
-		{
-			if( value != _showCloseButton ) {
-				_showCloseButton = value;
-				dispatchEvent( new Event('showCloseButtonChange') );
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
deleted file mode 100644
index a4c1a91..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
+++ /dev/null
@@ -1,145 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.ITextModel;
-	import org.apache.flex.core.IToggleButtonModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	
-	/**
-	 *  The ToggleButtonModel class bead holds values for org.apache.flex.html.Buttons 
-	 *  that have a state.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ToggleButtonModel extends EventDispatcher implements IBead, IToggleButtonModel, ITextModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ToggleButtonModel()
-		{
-			super();
-		}
-		
-		private var _strand:IStrand;
-		
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-		
-		private var _text:String;
-		
-		/**
-		 *  The text string for the org.apache.flex.html.Button's label.
-		 * 
-		 *  @copy org.apache.flex.core.IToggleButtonModel#text
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get text():String
-		{
-			return _text;
-		}
-		
-		public function set text(value:String):void
-		{
-			if (value != _text)
-			{
-				_text = value;
-				dispatchEvent(new Event("textChange"));
-			}
-		}
-		
-		private var _html:String;
-		
-		/**
-		 *  The HTML string for the Button's label.
-		 * 
-		 *  @copy org.apache.flex.core.IToggleButtonModel#html
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get html():String
-		{
-			return _html;
-		}
-		
-		public function set html(value:String):void
-		{
-			if( value != html )
-			{
-				_html = value;
-				dispatchEvent(new Event("htmlChange"));
-			}
-		}
-		
-		private var _selected:Boolean;
-		
-		/**
-		 *  Whether or not the org.apache.flex.html.Button is selected.
-		 * 
-		 *  @copy org.apache.flex.core.IToggleButtonModel#selected
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		
-		public function set selected(value:Boolean):void
-		{
-			if( value != _selected )
-			{
-				_selected = value;
-				dispatchEvent(new Event("selectedChange"));
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
deleted file mode 100644
index 27b0a95..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
+++ /dev/null
@@ -1,123 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	
-	import org.apache.flex.core.IValueToggleButtonModel;
-	import org.apache.flex.events.Event;
-
-	/**
-	 *  The ValueToggleButtonModel class bead extends the 
-	 *  org.apache.flex.html.beads.models.ToggleButtonModel and adds
-	 *  value intended to represent a collection of similar org.apache.flex.html.Buttons 
-	 *  such as org.apache.flex.html.RadioButtons.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ValueToggleButtonModel extends ToggleButtonModel implements IValueToggleButtonModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ValueToggleButtonModel()
-		{
-			super();
-		}
-		
-		private var _value:Object;
-		
-		/**
-		 *  The current value of the button collection.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get value():Object
-		{
-			return _value;
-		}
-		
-		public function set value(newValue:Object):void
-		{
-			if( newValue != _value )
-			{
-				_value = newValue;
-				dispatchEvent(new Event("valueChange"));
-			}
-		}
-		
-		private var _groupName:String;
-		
-		/**
-		 *  The name of the collection has shared by all of the buttons in the collection.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get groupName():String
-		{
-			return _groupName;
-		}
-		
-		public function set groupName(value:String):void
-		{
-			if( value != _groupName )
-			{
-				_groupName = value;
-				dispatchEvent(new Event("groupNameChange"));
-			}
-		}
-		
-		private var _selectedValue:Object;
-		
-		/**
-		 *  The value that is currently selected.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selectedValue():Object
-		{
-			return _selectedValue;
-		}
-		
-		public function set selectedValue(newValue:Object):void
-		{
-			if( _selectedValue != newValue )
-			{
-				_selectedValue = newValue;
-				dispatchEvent(new Event("selectedValueChange"));
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
deleted file mode 100644
index 26752ac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
+++ /dev/null
@@ -1,72 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.geom.Rectangle;
-	
-    /**
-     * @copy org.apache.flex.core.IViewportModel
-     */
-	public class ViewportModel extends EventDispatcher implements IViewportModel
-	{
-		public function ViewportModel()
-		{
-			super();
-		}
-		
-        private var _borderMetrics:Rectangle;
-		private var _chromeMetrics:Rectangle;
-		
-		private var _strand:IStrand;
-		
-        /**
-         * @copy org.apache.flex.core.IViewportModel
-         */
-        public function get borderMetrics():Rectangle
-        {
-            return _borderMetrics;
-        }
-        public function set borderMetrics(value:Rectangle):void
-        {
-            _borderMetrics = value;
-        }
-        
-        /**
-         * @copy org.apache.flex.core.IViewportModel
-         */
-        public function get chromeMetrics():Rectangle
-        {
-            return _chromeMetrics;
-        }
-        public function set chromeMetrics(value:Rectangle):void
-        {
-            _chromeMetrics = value;
-        }
-        
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
deleted file mode 100644
index fbd823a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
+++ /dev/null
@@ -1,100 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-
-	/**
-	 *  The WebBrowserModel class bead defines the data associated with an org.apache.flex.html.WebBrowser
-	 *  component.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class WebBrowserModel extends EventDispatcher implements IBeadModel
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function WebBrowserModel()
-		{
-			super();
-		}
-
-		private var _strand:IStrand;
-
-		/**
-		 *  @copy org.apache.flex.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-
-		private var _url:String;
-
-		/**
-		 *  The URL to load into the WebBrowser.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get url():String
-		{
-			return _url;
-		}
-		public function set url(value:String):void
-		{
-			if (value != _url) {
-				_url = value;
-				dispatchEvent( new Event("urlChanged") );
-			}
-		}
-
-		/**
-		 * Sets the URL value without dispatching an event.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function setURL(value:String):void
-		{
-		    _url = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
deleted file mode 100644
index f7277d0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
+++ /dev/null
@@ -1,49 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.UIBase;
-	
-    /**
-     *  The Border class is a class used internally by many
-     *  controls to draw a border.  The border actually drawn
-     *  is dictated by the IBeadView in the CSS.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class Border extends UIBase
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function Border()
-		{
-			super();
-		}		
-        
-   	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
deleted file mode 100644
index c9eeefb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
+++ /dev/null
@@ -1,92 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	COMPILE::JS {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	public class CheckBoxIcon
-	{
-		public function CheckBoxIcon()
-		{
-			COMPILE::JS {
-				createElement();
-			}
-
-			className = 'CheckBoxIcon';
-		}
-
-		COMPILE::JS {
-		public var element:WrappedHTMLElement;
-		public var positioner:WrappedHTMLElement;
-		}
-
-		private var _className:String;
-
-		public function get className():String
-		{
-			return _className;
-		}
-		public function set className(value:String):void
-		{
-			_className = value;
-
-			COMPILE::JS {
-				element.className = value;
-			}
-		}
-
-		private var _id:String;
-
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			_id = value;
-
-			COMPILE::JS {
-				element.id = value;
-			}
-		}
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 * @flexjsignorecoercion HTMLInputElement
-		 * @flexjsignorecoercion Text
-		 */
-		COMPILE::JS
- 		protected function createElement():WrappedHTMLElement
-		{
-			var input:HTMLInputElement = document.createElement('input') as HTMLInputElement;
-			input.type = 'checkbox';
-
-			element = input as WrappedHTMLElement;
-
-			positioner = element;
-			//positioner.style.position = 'relative';
-
-			(element as WrappedHTMLElement).flexjs_wrapper = this;
-
-			return element;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
deleted file mode 100644
index 53d9bd5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
+++ /dev/null
@@ -1,67 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
-    import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.core.IChild;
-	import org.apache.flex.core.ILayoutView;
-
-    /**
-     *  The ContainerContentArea class implements the contentView for
-     *  a Container on the SWF platform.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class ContainerContentArea extends UIBase implements IBead, ILayoutView
-	{
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function ContainerContentArea()
-		{
-			super();
-            addEventListener("layoutNeeded", forwardEventHandler);
-		}
-		
-		protected var host:IStrand;
-		
-		public function set strand(value:IStrand):void
-		{
-			host = value;
-		}
-
-        private function forwardEventHandler(event:Event):void
-        {
-            if (parent is IEventDispatcher)
-                (parent as IEventDispatcher).dispatchEvent(event);
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
deleted file mode 100644
index 24e16fd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
+++ /dev/null
@@ -1,127 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.IFactory;
-
-	/**
-	 *  The DataGridColumn class is the collection of properties that describe
-	 *  a column of the org.apache.flex.html.DataGrid: which renderer 
-	 *  to use for each cell in the column, the width of the column, the label for the 
-	 *  column, and the name of the field in the data containing the value to display 
-	 *  in the column. 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataGridColumn
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataGridColumn()
-		{
-		}
-		
-		private var _itemRenderer:IFactory;
-		
-		/**
-		 *  The itemRenderer class or factory to use to make instances of itemRenderers for
-		 *  display of data.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get itemRenderer():IFactory
-		{
-			return _itemRenderer;
-		}
-		public function set itemRenderer(value:IFactory):void
-		{
-			_itemRenderer = value;
-		}
-		
-		private var _columnWidth:Number = Number.NaN;
-		
-		/**
-		 *  The width of the column (default is 100 pixels).
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columnWidth():Number
-		{
-			return _columnWidth;
-		}
-		public function set columnWidth(value:Number):void
-		{
-			_columnWidth = value;
-		}
-		
-		private var _label:String;
-		
-		/**
-		 *  The label for the column (appears in the header area).
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get label():String
-		{
-			return _label;
-		}
-		public function set label(value:String):void
-		{
-			_label = value;
-		}
-		
-		private var _dataField:String;
-		
-		/**
-		 *  The name of the field containing the data value presented by the column. This value is used
-		 *  by the itemRenderer is select the property from the data.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataField():String
-		{
-			return _dataField;
-		}
-		public function set dataField(value:String):void
-		{
-			_dataField = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
deleted file mode 100644
index e612517..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
+++ /dev/null
@@ -1,62 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-    import org.apache.flex.html.List;
-    
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  @copy org.apache.flex.core.ISelectionModel#change
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="change", type="org.apache.flex.events.Event")]
-    
-    /**
-     *  The DataGridColumnList class is the List class used internally
-     *  by DataGrid for each column.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DataGridColumnList extends List
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DataGridColumnList()
-		{
-			super();
-			typeNames = "DataGridColumnList";
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
deleted file mode 100644
index b6ebb71..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
+++ /dev/null
@@ -1,154 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{	
-    import org.apache.flex.core.IChild;
-    import org.apache.flex.core.IContentView;
-    import org.apache.flex.core.IItemRenderer;
-    import org.apache.flex.core.IItemRendererParent;
-	import org.apache.flex.core.IRollOverModel;
-	import org.apache.flex.core.ISelectionModel;
-	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.ItemAddedEvent;
-	import org.apache.flex.events.ItemClickedEvent;
-	import org.apache.flex.events.ItemRemovedEvent;
-
-    /**
-     *  The DataGroup class is the IItemRendererParent used internally
-     *  by org.apache.flex.html.List class.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DataGroup extends ContainerContentArea implements IItemRendererParent
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DataGroup()
-		{
-			super();
-		}
-		
-		/*
-		* IItemRendererParent
-		*/
-		
-		/**
-		 * @copy org.apache.flex.core.IItemRendererParent#addItemRenderer()
-		 * @private
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function addItemRenderer(renderer:IItemRenderer):void
-		{
-			addElement(renderer, true);
-			
-			var newEvent:ItemAddedEvent = new ItemAddedEvent("itemAdded");
-			newEvent.item = renderer;
-			
-			(host as IEventDispatcher).dispatchEvent(newEvent);
-		}
-		
-		/**
-		 * @copy org.apache.flex.core.IItemRendererParent#removeItemRenderer()
-		 * @private
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function removeItemRenderer(renderer:IItemRenderer):void
-		{
-			removeElement(renderer, true);
-			
-			var newEvent:ItemRemovedEvent = new ItemRemovedEvent("itemRemoved");
-			newEvent.item = renderer;
-			
-			(host as IEventDispatcher).dispatchEvent(newEvent);
-		}
-		
-		/**
-		 * @copy org.apache.flex.core.IItemRendererParent#removeAllItemRenderers()
-		 * @private
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function removeAllItemRenderers():void
-		{
-			while (numElements > 0) {
-				var child:IChild = getElementAt(0);
-				removeItemRenderer(child as IItemRenderer);
-			}
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function getItemRendererForIndex(index:int):IItemRenderer
-		{
-			if (index < 0 || index >= numElements) return null;
-			return getElementAt(index) as IItemRenderer;
-		}
-		
-		/**
-		 *  Refreshes the itemRenderers. Useful after a size change by the data group.
-		 *
-		 *  @copy org.apache.flex.core.IItemRendererParent#updateAllItemRenderers()
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.8
-		 */
-		public function updateAllItemRenderers():void
-		{
-			var n:Number = numElements;
-			for (var i:Number = 0; i < n; i++)
-			{
-				var renderer:DataItemRenderer = getItemRendererForIndex(i) as DataItemRenderer;
-				if (renderer) {
-					renderer.setWidth(this.width,true);
-					renderer.adjustSize();
-				}
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
deleted file mode 100644
index c526977..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ /dev/null
@@ -1,179 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	COMPILE::SWF
-	{
-		import flash.display.Sprite;
-	}
-	COMPILE::JS
-	{
-		import org.apache.flex.core.WrappedHTMLElement;
-		import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
-	}
-	import org.apache.flex.core.ValuesManager;
-
-	/**
-	 *  The DataItemRenderer class is the base class for most itemRenderers. This class
-	 *  extends org.apache.flex.html.supportClasses.UIItemRendererBase and
-	 *  includes row and column index values.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DataItemRenderer extends UIItemRendererBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DataItemRenderer()
-		{
-			super();
-		}
-
-		private var _columnIndex:int;
-
-		/**
-		 *  The index of the column the itemRenderer represents.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get columnIndex():int
-		{
-			return _columnIndex;
-		}
-		public function set columnIndex(value:int):void
-		{
-			_columnIndex = value;
-		}
-
-		private var _rowIndex:int;
-
-		/**
-		 *  The index of the row the itemRenderer represents.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get rowIndex():int
-		{
-			return _rowIndex;
-		}
-		public function set rowIndex(value:int):void
-		{
-			_rowIndex = value;
-		}
-
-		private var _dataField:String;
-
-		/**
-		 *  The name of the field within the data the itemRenderer should use.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataField():String
-		{
-			return _dataField;
-		}
-		public function set dataField(value:String):void
-		{
-			_dataField = value;
-		}
-
-		COMPILE::SWF
-		private var background:Sprite;
-
-		COMPILE::JS
-		private var controller:ItemRendererMouseController;
-
-		/**
-		 * @private
-		 */
-		COMPILE::SWF
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-
-			background = new Sprite();
-			$sprite.addChild(background);
-		}
-
-		/**
-		 * @private
-		 */
-		override public function updateRenderer():void
-		{
-			COMPILE::SWF
-			{
-				super.updateRenderer();
-
-				background.graphics.clear();
-				background.graphics.beginFill(useColor, (down||selected||hovered)?1:0);
-				background.graphics.drawRect(0, 0, width, height);
-				background.graphics.endFill();
-			}
-			COMPILE::JS
-			{
-				if (selected)
-					element.style.backgroundColor = '#9C9C9C';
-				else if (hovered)
-					element.style.backgroundColor = '#ECECEC';
-				else
-					element.style.backgroundColor = null;
-			}
-		}
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 *
-		 */
-		COMPILE::JS
-		override protected function createElement():WrappedHTMLElement
-		{
-			element = document.createElement('div') as WrappedHTMLElement;
-			positioner = element;
-			//positioner.style.position = 'relative';
-
-			element.flexjs_wrapper = this;
-			className = 'DataItemRenderer';
-
-			controller = new ItemRendererMouseController();
-			controller.strand = this;
-
-			return element;
-		}
-
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserButton.as
deleted file mode 100644
index f493a45..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserButton.as
+++ /dev/null
@@ -1,67 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.html.TextButton;
-
-	/**
-	 *  The DateChooserButton class is used for each button in the DateChooser. The
-	 *  button holds the day of the month the button is representing.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateChooserButton extends TextButton
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateChooserButton()
-		{
-			super();
-			className = "DateChooserButton";
-		}
-
-		private var _dayOfMonth:int;
-
-		/**
-		 *  The day of the month the button represents.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dayOfMonth():int
-		{
-			return _dayOfMonth;
-		}
-		public function set dayOfMonth(value:int):void
-		{
-			_dayOfMonth = value;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateHeaderButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateHeaderButton.as
deleted file mode 100644
index 4fbe70a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateHeaderButton.as
+++ /dev/null
@@ -1,48 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.html.TextButton;
-
-	/**
-	 *  The DateHeaderButton class is used for the buttons in the DateChooser's
-	 *  heading areas.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class DateHeaderButton extends TextButton
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function DateHeaderButton()
-		{
-			super();
-			className = "DateHeaderButton";
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DropDownListList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DropDownListList.as
deleted file mode 100644
index 6bc1d43..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DropDownListList.as
+++ /dev/null
@@ -1,63 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-    import org.apache.flex.core.IPopUp;
-    import org.apache.flex.html.SimpleList;
-    import org.apache.flex.html.beads.SolidBackgroundBead;
-    
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  @copy org.apache.flex.core.ISelectionModel#change
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="change", type="org.apache.flex.events.Event")]
-    
-    /**
-     *  The DropDownListList class is the List class used internally
-     *  by DropDownList as the dropdown/popup.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class DropDownListList extends SimpleList implements IPopUp
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function DropDownListList()
-		{
-			super();
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/GraphicsItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/GraphicsItemRenderer.as
deleted file mode 100644
index 73bd8bd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/GraphicsItemRenderer.as
+++ /dev/null
@@ -1,316 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.svg.CompoundGraphic;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-	
-	/**
-	 *  The GraphicsItemRenderer provides a base class for itemRenderers that use graphics rather than
-	 *  components.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class GraphicsItemRenderer extends CompoundGraphic implements ISelectableItemRenderer
-	{
-		/**
-		 *  Constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function GraphicsItemRenderer()
-		{
-			super();
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-			
-			// very common for item renderers to be resized by their containers,
-			addEventListener("widthChanged", sizeChangeHandler);
-			addEventListener("heightChanged", sizeChangeHandler);
-			
-			// each MXML file can also have styles in fx:Style block
-			ValuesManager.valuesImpl.init(this);
-			
-			MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
-			MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-			
-			dispatchEvent(new Event("initBindings"));
-			dispatchEvent(new Event("initComplete"));
-			
-		}
-		
-		private var _labelField:String = "label";
-		
-		/**
-		 * The name of the field within the data to use as a label. Some itemRenderers use this field to
-		 * identify the value they should show while other itemRenderers ignore this if they are showing
-		 * complex information.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-		public function set labelField(value:String):void
-		{
-			_labelField = value;
-		}
-		
-		private var _index:int;
-		
-		/**
-		 *  The position with the dataProvider being shown by the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get index():int
-		{
-			return _index;
-		}
-		public function set index(value:int):void
-		{
-			_index = value;
-		}
-		
-		private var _selected:Boolean;
-		
-		/**
-		 *  Whether or not the itemRenderer is in a selected state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			updateRenderer();
-		}
-		
-		private var _hovered:Boolean;
-		
-		/**
-		 *  Whether or not the itemRenderer is in a hovered state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hovered():Boolean
-		{
-			return _hovered;
-		}
-		public function set hovered(value:Boolean):void
-		{
-			_hovered = value;
-			updateRenderer();
-		}
-		
-		private var _down:Boolean;
-		
-		/**
-		 *  Whether or not the itemRenderer is in a down (or pre-selected) state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get down():Boolean
-		{
-			return _down;
-		}
-		public function set down(value:Boolean):void
-		{
-			_down = value;
-			updateRenderer();
-		}
-		
-		private var _data:Object;
-		
-		[Bindable("__NoChangeEvent__")]
-		/**
-		 *  The data being represented by this itemRenderer. This can be something simple like a String or
-		 *  a Number or something very complex.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get data():Object
-		{
-			return _data;
-		}
-		public function set data(value:Object):void
-		{
-			_data = value;
-		}
-		
-		private var _listData:Object;
-		
-		[Bindable("__NoChangeEvent__")]
-		/**
-		 *  Additional data about the list structure the itemRenderer may
-		 *  find useful.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get listData():Object
-		{
-			return _listData;
-		}
-		public function set listData(value:Object):void
-		{
-			_listData = value;
-		}
-		
-		private var _dataField:String;
-		
-		/**
-		 *  The name of the field within the data the itemRenderer should use.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataField():String
-		{
-			return _dataField;
-		}
-		public function set dataField(value:String):void
-		{
-			_dataField = value;
-		}
-		
-		private var _itemRendererParent:Object;
-		
-		/**
-		 * The parent container for the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get itemRendererParent():Object
-		{
-			return _itemRendererParent;
-		}
-		public function set itemRendererParent(value:Object):void
-		{
-			_itemRendererParent = value;
-		}
-		
-		/**
-		 * @private
-		 */
-		public function updateRenderer():void
-		{
-//			if (down)
-//				backgroundColor = downColor;
-//			else if (hovered)
-//				backgroundColor = highlightColor;
-//			else if (selected)
-//				backgroundColor = selectedColor;
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public var mxmlContent:Array;
-		
-		/**
-		 * @private
-		 */
-		public function get MXMLDescriptor():Array
-		{
-			return null;
-		}
-		
-		private var mxmlProperties:Array ;
-		
-		/**
-		 * @private
-		 */
-		public function generateMXMLAttributes(data:Array):void
-		{
-			mxmlProperties = data;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function sizeChangeHandler(event:Event):void
-		{
-			adjustSize();
-		}
-		
-		/**
-		 *  This function is called whenever the itemRenderer changes size. Sub-classes should override
-		 *  this method an handle the size change.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function adjustSize():void
-		{
-			// handle in subclass
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/HScrollBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/HScrollBar.as
deleted file mode 100644
index 0b56925..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/HScrollBar.as
+++ /dev/null
@@ -1,49 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IViewportScroller;
-	
-	/**
-	 *  The ScrollBar class represents either a vertical or horizontal control
-	 *  that allows the user to quickly scan through a component that does not
-	 *  wholly fit within its container.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class HScrollBar extends ScrollBar implements IChrome, IViewportScroller
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function HScrollBar()
-		{
-			super();
-		}		
-   	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
deleted file mode 100644
index 3c29ae5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
+++ /dev/null
@@ -1,111 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	COMPILE::JS {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	/**
-	 *  The RadioButton class is a component that displays a selectable Button. RadioButtons
-	 *  are typically used in groups, identified by the groupName property. RadioButton use
-	 *  the following beads:
-	 *
-	 *  org.apache.flex.core.IBeadModel: the data model, which includes the groupName.
-	 *  org.apache.flex.core.IBeadView:  the bead that constructs the visual parts of the RadioButton..
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class RadioButtonIcon
-	{
-		public function RadioButtonIcon()
-		{
-			COMPILE::JS {
-				createElement();
-			}
-
-			className = 'RadioButtonIcon';
-		}
-
-		COMPILE::JS {
-		public var element:WrappedHTMLElement;
-		public var positioner:WrappedHTMLElement;
-		}
-
-		private var _className:String;
-
-		/**
-		 * @private
-		 */
-		public function get className():String
-		{
-			return _className;
-		}
-		public function set className(value:String):void
-		{
-			_className = value;
-
-			COMPILE::JS {
-				element.className = value;
-			}
-		}
-
-		private var _id:String;
-
-		/**
-		 * @private
-		 */
-		public function get id():String
-		{
-			return _id;
-		}
-		public function set id(value:String):void
-		{
-			_id = value;
-
-			COMPILE::JS {
-				element.id = value;
-			}
-		}
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 * @flexjsignorecoercion HTMLInputElement
-		 * @flexjsignorecoercion Text
-		 */
-		COMPILE::JS
- 		protected function createElement():WrappedHTMLElement
-		{
-			var input:HTMLInputElement = document.createElement('input') as HTMLInputElement;
-			input.type = 'radio';
-
-			element = input as WrappedHTMLElement;
-
-			positioner = element;
-			//positioner.style.position = 'relative';
-
-			(element as WrappedHTMLElement).flexjs_wrapper = this;
-
-			return element;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollBar.as
deleted file mode 100644
index 0bef2e6..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollBar.as
+++ /dev/null
@@ -1,50 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IViewportScroller;
-	
-	/**
-	 *  The ScrollBar class represents either a vertical or horizontal control
-	 *  that allows the user to quickly scan through a component that does not
-	 *  wholly fit within its container.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ScrollBar extends UIBase implements IChrome, IViewportScroller
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ScrollBar()
-		{
-			super();
-		}		
-   	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
deleted file mode 100644
index 1a2b214..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ /dev/null
@@ -1,335 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadLayout;
-	import org.apache.flex.core.IContainer;
-	import org.apache.flex.core.IContentViewHost;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewport;
-	import org.apache.flex.core.IViewportModel;
-    COMPILE::SWF
-    {
-        import org.apache.flex.core.IViewportScroller;
-		import org.apache.flex.utils.CSSContainerUtils;
-		import flash.geom.Rectangle;
-		import org.apache.flex.geom.Rectangle;
-    }
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.geom.Size;
-	import org.apache.flex.html.beads.ScrollBarView;
-	import org.apache.flex.html.beads.models.ScrollBarModel;
-	import org.apache.flex.geom.Rectangle;
-
-	/**
-	 * The ScrollingViewport extends the Viewport class by adding horizontal and
-	 * vertical scroll bars, if needed, to the content area of a Container. In
-	 * addition, the content of the Container is clipped so that items extending
-	 * outside the Container are hidden and reachable only by scrolling.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	COMPILE::JS
-	public class ScrollingViewport extends Viewport implements IBead, IViewport
-	{
-		/**
-		 * Constructor
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ScrollingViewport()
-		{
-			super();
-		}
-		
-		public function get verticalScrollPosition():Number
-		{
-			return this.contentView.positioner.scrollTop;
-		}
-		public function set verticalScrollPosition(value:Number):void
-		{
-			this.contentView.positioner.scrollTop = value;
-		}
-		
-		public function get horizontalScrollPosition():Number
-		{
-			return this.contentView.positioner.scrollLeft;
-		}
-		public function set horizontalScrollPosition(value:Number):void
-		{
-			this.contentView.positioner.scrollLeft = value;
-		}
-		
-		/**
-		 * @flexjsignorecoercion HTMLElement 
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			if (contentView == null) {
-				(value as UIBase).element.style.overflow = "auto";
-			} else {
-				(contentView as UIBase).element.style.overflow = "auto";
-			}
-		}
-		
-		/**
-		* @copy org.apache.flex.core.IViewport
-		*/
-		override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
-		{
-			// does nothing for the JS platform
-		}
-		
-		/**
-		 * @copy org.apache.flex.core.IViewport
-		 */
-		override public function layoutViewportAfterContentLayout(contentSize:Size):void
-		{
-			// does nothing for the JS platform
-		}
-	}
-	
-	COMPILE::SWF
-	public class ScrollingViewport extends Viewport implements IBead, IViewport
-	{
-		/**
-		 * Constructor
-	     *
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		public function ScrollingViewport()
-		{
-			super();
-		}
-
-		private var _verticalScroller:ScrollBar;
-
-		public function get verticalScroller():IViewportScroller
-		{
-			return _verticalScroller;
-		}
-
-		private var _horizontalScroller:ScrollBar
-
-		public function get horizontalScroller():IViewportScroller
-		{
-			return _horizontalScroller;
-		}
-
-        private var _verticalScrollPosition:Number = 0;
-
-        public function get verticalScrollPosition():Number
-        {
-			return _verticalScrollPosition;
-        }
-        public function set verticalScrollPosition(value:Number):void
-        {
-			_verticalScrollPosition = value;
-			handleVerticalScrollChange();
-        }
-
-        private var _horizontalScrollPosition:Number = 0;
-
-        public function get horizontalScrollPosition():Number
-        {
-			return _horizontalScrollPosition;
-        }
-        public function set horizontalScrollPosition(value:Number):void
-        {
-			_horizontalScrollPosition = value;
-			handleHorizontalScrollChange();
-        }
-
-        private var viewportWidth:Number;
-        private var viewportHeight:Number;
-
-        /**
-         * @copy org.apache.flex.core.IViewport
-         */
-        override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
-        {
-           	super.layoutViewportBeforeContentLayout(width, height);
-           	viewportWidth = width;
-           	viewportHeight = height;
-        }
-
-        /**
-         * @copy org.apache.flex.core.IViewport
-         */
-		override public function layoutViewportAfterContentLayout(contentSize:Size):void
-		{
-			var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
-			var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
-			
-			var hostWidth:Number = UIBase(_strand).width;
-			var hostHeight:Number = UIBase(_strand).height;
-			
-			var borderMetrics:org.apache.flex.geom.Rectangle = CSSContainerUtils.getBorderMetrics(_strand);
-			
-			hostWidth -= borderMetrics.left + borderMetrics.right;
-			hostHeight -= borderMetrics.top + borderMetrics.bottom;
-			
-			var needV:Boolean = contentSize.height > viewportHeight;
-			var needH:Boolean = contentSize.width > viewportWidth;
-			
-			if (needV)
-			{
-				if (_verticalScroller == null) {
-					_verticalScroller = createVerticalScrollBar();
-					(_strand as IContainer).strandChildren.addElement(_verticalScroller);
-				}
-			}
-			if (needH)
-			{
-				if (_horizontalScroller == null) {
-					_horizontalScroller = createHorizontalScrollBar();
-					(_strand as IContainer).strandChildren.addElement(_horizontalScroller);
-				}
-			}
-			
-			if (needV)
-			{
-				_verticalScroller.visible = true;
-				_verticalScroller.x = UIBase(_strand).width - borderMetrics.right - _verticalScroller.width;
-				_verticalScroller.y = borderMetrics.top;
-				_verticalScroller.setHeight(hostHeight - (needH ? _horizontalScroller.height : 0), true);
-				
-				ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
-				ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
-				ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
-				
-				if (contentSize.height > contentArea.height &&
-					(contentSize.height - contentArea.height) < _verticalScrollPosition)
-					_verticalScrollPosition = contentSize.height - contentArea.height;
-			}
-			else if (_verticalScroller) {
-				_verticalScroller.visible = false;
-			}
-			
-			if (needH)
-			{
-				_horizontalScroller.visible = true;
-				_horizontalScroller.x = 0;
-				_horizontalScroller.y = UIBase(_strand).height - borderMetrics.bottom - _horizontalScroller.height;
-				_horizontalScroller.setWidth(hostWidth - (needV ? _verticalScroller.width : 0), true);
-				
-				ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
-				ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
-				ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
-				
-				if (contentSize.width > contentArea.width &&
-					(contentSize.width - contentArea.width) < _horizontalScrollPosition)
-					_horizontalScrollPosition = contentSize.width - contentArea.width;
-			} 
-			else if (_horizontalScroller) {
-				_horizontalScroller.visible = false;
-			}
-			
-			var rect:flash.geom.Rectangle = new flash.geom.Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
-				(_verticalScroller != null && _verticalScroller.visible) ? _verticalScroller.x : hostWidth,
-				(_horizontalScroller != null && _horizontalScroller.visible) ? _horizontalScroller.y : hostHeight);
-			
-			contentArea.$sprite.scrollRect = rect;
-		}
-
-		private function createVerticalScrollBar():ScrollBar
-		{
-			var vsbm:ScrollBarModel = new ScrollBarModel();
-			vsbm.minimum = 0;
-			vsbm.snapInterval = 1;
-			vsbm.stepSize = 1;
-			vsbm.value = 0;
-
-			var vsb:VScrollBar;
-			vsb = new VScrollBar();
-			vsb.model = vsbm;
-			vsb.visible = false;
-
-			vsb.addEventListener("scroll",handleVerticalScroll);
-			return vsb;
-		}
-
-		private function createHorizontalScrollBar():ScrollBar
-		{
-			var hsbm:ScrollBarModel = new ScrollBarModel();
-			hsbm.minimum = 0;
-			hsbm.snapInterval = 1;
-			hsbm.stepSize = 1;
-			hsbm.value = 0;
-
-			var hsb:HScrollBar;
-			hsb = new HScrollBar();
-			hsb.model = hsbm;
-			hsb.visible = false;
-
-			hsb.addEventListener("scroll",handleHorizontalScroll);
-			return hsb;
-		}
-
-		private function handleVerticalScroll(event:Event):void
-		{
-			var host:UIBase = UIBase(_strand);
-			var vpos:Number = ScrollBarModel(_verticalScroller.model).value;
-			var rect:flash.geom.Rectangle = contentArea.$sprite.scrollRect;
-			rect.y = vpos;
-			contentArea.$sprite.scrollRect = rect;
-
-			_verticalScrollPosition = vpos;
-		}
-
-		private function handleHorizontalScroll(event:Event):void
-		{
-			var host:UIBase = UIBase(_strand);
-			var hpos:Number = ScrollBarModel(_horizontalScroller.model).value;
-			var rect:flash.geom.Rectangle = contentArea.$sprite.scrollRect;
-			rect.x = hpos;
-			contentArea.$sprite.scrollRect = rect;
-
-			_horizontalScrollPosition = hpos;
-		}
-
-		private function handleVerticalScrollChange():void
-		{
-			if (_verticalScroller) {
-				ScrollBarModel(_verticalScroller.model).value = verticalScrollPosition;
-			}
-		}
-
-		private function handleHorizontalScrollChange():void
-		{
-			if (_horizontalScroller) {
-				ScrollBarModel(_horizontalScroller.model).value = horizontalScrollPosition;
-			}
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/SpinnerButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/SpinnerButton.as
deleted file mode 100644
index f03b527..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/SpinnerButton.as
+++ /dev/null
@@ -1,31 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.html.TextButton;
-
-	public class SpinnerButton extends TextButton
-	{
-		public function SpinnerButton()
-		{
-			super();
-			className = 'SpinnerButton';
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
deleted file mode 100644
index cea7673..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ /dev/null
@@ -1,180 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-    COMPILE::SWF
-    {
-        import flash.text.TextFieldAutoSize;
-        import flash.text.TextFieldType;
-
-        import org.apache.flex.core.CSSTextField;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-        import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
-    }
-    import org.apache.flex.events.Event;
-    import org.apache.flex.html.beads.ITextItemRenderer;
-
-	/**
-	 *  The StringItemRenderer class displays data in string form using the data's toString()
-	 *  function.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class StringItemRenderer extends DataItemRenderer implements ITextItemRenderer
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function StringItemRenderer()
-		{
-			super();
-
-            COMPILE::SWF
-            {
-                textField = new CSSTextField();
-                textField.type = TextFieldType.DYNAMIC;
-                textField.autoSize = TextFieldAutoSize.LEFT;
-                textField.selectable = false;
-                textField.parentDrawsBackground = true;
-            }
-		}
-
-        COMPILE::SWF
-		public var textField:CSSTextField;
-
-		/**
-		 * @private
-		 */
-        COMPILE::SWF
-		override public function addedToParent():void
-		{
-			super.addedToParent();
-
-			$sprite.addChild(textField);
-
-			adjustSize();
-		}
-
-		/**
-		 * @private
-		 */
-        COMPILE::SWF
-		override public function adjustSize():void
-		{
-			var cy:Number = height/2;
-
-			textField.x = 0;
-			textField.y = cy - textField.height/2;
-			textField.width = width;
-
-			updateRenderer();
-		}
-
-		/**
-		 *  The text currently displayed by the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get text():String
-		{
-            COMPILE::SWF
-            {
-                return textField.text;
-            }
-            COMPILE::JS
-            {
-                return this.element.innerHTML;
-            }
-		}
-
-		public function set text(value:String):void
-		{
-            COMPILE::SWF
-            {
-                textField.text = value;
-            }
-            COMPILE::JS
-            {
-                this.element.innerHTML = value;
-            }
-		}
-
-		/**
-		 *  Sets the data value and uses the String version of the data for display.
-		 *
-		 *  @param Object data The object being displayed by the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function set data(value:Object):void
-		{
-			super.data = value;
-            var text:String;
-			if (labelField) text = String(value[labelField]);
-			else if (dataField) text = String(value[dataField]);
-			else text = String(value);
-
-            this.text = text;
-		}
-
-        COMPILE::JS
-        private var controller:ItemRendererMouseController;
-
-        COMPILE::JS
-        private var backgroundView:WrappedHTMLElement;
-
-        /**
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-            element = document.createElement('span') as WrappedHTMLElement;
-            positioner = element;
-            //positioner.style.position = 'relative';
-
-            element.flexjs_wrapper = this;
-            className = 'StringItemRenderer';
-
-            // itemRenderers should provide something for the background to handle
-            // the selection and highlight
-            backgroundView = element;
-
-            return element;
-        }
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
deleted file mode 100644
index 5965a17..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
+++ /dev/null
@@ -1,555 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	COMPILE::SWF
-	{
-		import flash.display.DisplayObject;
-	    import flash.text.TextFieldType;
-	}
-    
-    import org.apache.flex.core.CSSTextField;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IBeadController;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IUIBase;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.utils.MouseEventConverter;
-    import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.html.beads.ITextItemRenderer;
-    import org.apache.flex.utils.CSSContainerUtils;
-	
-	/**
-	 *  The TextFieldItemRenderer class provides a org.apache.flex.html.TextField as an itemRenderer.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class TextFieldItemRenderer extends CSSTextField implements /*ITextItemRenderer, */IStrand/*, IUIBase*/
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TextFieldItemRenderer()
-		{
-			super();
-			COMPILE::SWF {
-            	type = TextFieldType.DYNAMIC;
-			}
-            selectable = false;
-            
-            MouseEventConverter.setupInstanceConverters(this);
-		}
-                
-        public var highlightColor:uint = 0xCEDBEF;
-        public var selectedColor:uint = 0xA8C6EE;
-        public var downColor:uint = 0x808080;
-		
-		private var _explicitWidth:Number;
-		
-		/**
-		 *  The explicitly set width (as opposed to measured width
-		 *  or percentage width).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get explicitWidth():Number
-		{
-			if (isNaN(_explicitWidth))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-				if (value !== undefined) {
-					_explicitWidth = Number(value);
-				}
-			}
-			
-			return _explicitWidth;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set explicitWidth(value:Number):void
-		{
-			if (_explicitWidth == value)
-				return;
-			
-			// width can be pixel or percent not both
-			if (!isNaN(value))
-				_percentWidth = NaN;
-			
-			_explicitWidth = value;
-			
-			dispatchEvent(new Event("explicitWidthChanged"));
-		}
-		
-		private var _explicitHeight:Number;
-		
-		/**
-		 *  The explicitly set width (as opposed to measured width
-		 *  or percentage width).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get explicitHeight():Number
-		{
-			if (isNaN(_explicitHeight))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-				if (value !== undefined) {
-					_explicitHeight = Number(value);
-				}
-			}
-			
-			return _explicitHeight;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set explicitHeight(value:Number):void
-		{
-			if (_explicitHeight == value)
-				return;
-			
-			// height can be pixel or percent not both
-			if (!isNaN(value))
-				_percentHeight = NaN;
-			
-			_explicitHeight = value;
-			
-			dispatchEvent(new Event("explicitHeightChanged"));
-		}
-		
-		private var _percentWidth:Number;
-		
-		/**
-		 *  The requested percentage width this component
-		 *  should have in the parent container.  Note that
-		 *  the actual percentage may be different if the 
-		 *  total is more than 100% or if there are other
-		 *  components with explicitly set widths.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get percentWidth():Number
-		{
-			return _percentWidth;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set percentWidth(value:Number):void
-		{
-			if (_percentWidth == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitWidth = NaN;
-			
-			_percentWidth = value;
-			
-			dispatchEvent(new Event("percentWidthChanged"));
-		}
-		
-		private var _percentHeight:Number;
-		
-		/**
-		 *  The requested percentage height this component
-		 *  should have in the parent container.  Note that
-		 *  the actual percentage may be different if the 
-		 *  total is more than 100% or if there are other
-		 *  components with explicitly set heights.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get percentHeight():Number
-		{
-			return _percentHeight;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set percentHeight(value:Number):void
-		{
-			if (_percentHeight == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitHeight = NaN;
-			
-			_percentHeight = value;
-			
-			dispatchEvent(new Event("percentHeightChanged"));
-		}
-
-        private var _width:Number;
-		
-		/**
-		 * @private
-		 */
-        override public function get width():Number
-        {
-			if (isNaN(explicitWidth))
-			{
-				var w:Number = _width;
-				if (isNaN(w)) w = $width;
-				var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(this);
-				return w + metrics.left + metrics.right;
-			}
-			else
-				return explicitWidth;
-        }
-        override public function set width(value:Number):void
-        {
-			if (explicitWidth != value)
-			{
-				explicitWidth = value;
-			}
-			
-			if (value != _width) {
-				_width = value;
-				dispatchEvent( new Event("widthChanged") );
-			}
-        }
-		
-		/**
-		 * @private
-		 */
-        protected function get $width():Number
-        {
-            return super.width;
-        }
-        
-        private var _height:Number;
-		
-		/**
-		 * @private
-		 */
-        override public function get height():Number
-        {
-			if (isNaN(explicitHeight))
-			{
-				var h:Number = _height;
-				if (isNaN(h)) h = $height;
-				var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(this);
-				return h + metrics.top + metrics.bottom;
-			}
-			else
-				return explicitHeight;
-        }
-
-        override public function set height(value:Number):void
-        {
-			if (explicitHeight != value)
-			{
-				explicitHeight = value;
-			}
-			
-			if (_height != value) {
-				_height = value;
-				dispatchEvent(new Event("heightChanged"));
-			}
-        }
-		
-		/**
-		 * @private
-		 */
-        protected function get $height():Number
-        {
-            return super.height;
-        }
-
-		/**
-		 *  The String(data) for the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get data():Object
-        {
-            return text;
-        }
-        public function set data(value:Object):void
-        {
-            text = String(value);
-        }
-
-	private var _listData:Object;
-
-		/**
-		 *  Additional data about the list the itemRenderer may find useful.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-	public function get listData():Object
-	{
-		return _listData;
-	}
-	public function set listData(value:Object):void
-	{
-		_listData = value;
-	}
-		
-		/**
-		 * @private
-		 */
-		public function get labelField():String
-		{
-			return null;
-		}
-		public function set labelField(value:String):void
-		{
-			// nothing to do for this
-		}
-        
-        private var _index:int;
-        
-		/**
-		 *  An index value for the itemRenderer corresponding the data's position with its dataProvider.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get index():int
-        {
-            return _index;
-        }
-        public function set index(value:int):void
-        {
-            _index = value;
-        }
-        
-        private var _hovered:Boolean;
-        
-		/**
-		 *  Returns whether or not the itemRenderer is a "hovered" state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get hovered():Boolean
-        {
-            return _hovered;
-        }
-        public function set hovered(value:Boolean):void
-        {
-            _hovered = value;
-            updateRenderer();
-        }
-        
-        private var _selected:Boolean;
-        
-		/**
-		 *  Whether or not the itemRenderer should be represented in a selected state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get selected():Boolean
-        {
-            return _selected;
-        }
-        public function set selected(value:Boolean):void
-        {
-            _selected = value;
-            updateRenderer();
-        }
-
-        private var _down:Boolean;
-        
-		/**
-		 *  Whether or not the itemRenderer should be represented in a down (or pre-selected) state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get down():Boolean
-        {
-            return _down;
-        }
-        public function set down(value:Boolean):void
-        {
-            _down = value;
-            updateRenderer();
-        }
-		
-		private var _itemRendererParent:Object;
-		
-		/**
-		 *  The parent component of the itemRenderer instance. This is the container that houses
-		 *  all of the itemRenderers.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get itemRendererParent():Object
-		{
-			return _itemRendererParent;
-		}
-		public function set itemRendererParent(value:Object):void
-		{
-			_itemRendererParent = value;
-		}
-        
-		/**
-		 * @private
-		 */
-        public function updateRenderer():void
-        {
-            background = (down || selected || hovered);
-            if (down)
-                backgroundColor = downColor;
-            else if (hovered)
-                backgroundColor = highlightColor;
-            else if (selected)
-                backgroundColor = selectedColor;
-        }
-        
-        // beads declared in MXML are added to the strand.
-        // from AS, just call addBead()
-        public var beads:Array;
-        
-        private var _beads:Vector.<IBead>;
-		
-		/**
-		 * @private
-		 */
-        public function addBead(bead:IBead):void
-        {
-            if (!_beads)
-                _beads = new Vector.<IBead>;
-            _beads.push(bead);
-            bead.strand = this;
-        }
-        
-		/**
-		 * @private
-		 */
-        public function getBeadByType(classOrInterface:Class):IBead
-        {
-            for each (var bead:IBead in _beads)
-            {
-                if (bead is classOrInterface)
-                    return bead;
-            }
-            return null;
-        }
-        
-		/**
-		 * @private
-		 */
-        public function removeBead(value:IBead):IBead	
-        {
-            var n:int = _beads.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var bead:IBead = _beads[i];
-                if (bead == value)
-                {
-                    _beads.splice(i, 1);
-                    return bead;
-                }
-            }
-            return null;
-        }
-        
-		/**
-		 * @private
-		 */
-        public function addedToParent():void
-        {
-            var c:Class;
-            
-            for each (var bead:IBead in beads)
-                addBead(bead);
-            
-            dispatchEvent(new Event("beadsAdded"));
-
-            // renderer has a default model (the 'data' property)
-            // and it is essentially a view of that model, so it
-            // only needs an assignable controller
-            
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get topMostEventDispatcher():IEventDispatcher
-        {
-            if (!parent)
-                return null;
-            return IUIBase(parent).topMostEventDispatcher;
-        }
-        
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeItemRenderer.as
deleted file mode 100644
index 7250e82..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeItemRenderer.as
+++ /dev/null
@@ -1,64 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{	
-	public class TreeItemRenderer extends StringItemRenderer
-	{
-		/**
-		 * Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-		 */
-		public function TreeItemRenderer()
-		{
-			super();
-		}
-		
-		/**
-		 * Sets the data for the itemRenderer instance along with the listData
-		 * (TreeListData).
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-		 */
-		override public function set data(value:Object):void
-		{
-			super.data = value;
-			
-			var treeData:TreeListData = listData as TreeListData;
-			var indentSpace:String = "    ";
-			
-			COMPILE::JS {
-				indentSpace = "&nbsp;&nbsp;&nbsp;&nbsp;"
-			}
-			
-			var indent:String = treeData.hasChildren ? (treeData.isOpen ? "â–¼" : "â–¶") : " ";
-			for (var i:int=0; i < treeData.depth; i++) {
-				indent += indentSpace;
-			}
-			
-			this.text = indent + this.text;
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeListData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeListData.as
deleted file mode 100644
index c6da4d5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeListData.as
+++ /dev/null
@@ -1,76 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	/**
-	 *  The TreeListData class contains information that Tree item renderers may
-	 *  find useful when displaying the data for a node in the tree.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 *  @flexjsignoreimport goog.events.Event
-	 */
-	public class TreeListData
-	{
-		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function TreeListData()
-		{
-		}
-
-		/**
-		 *  The depth of the data within the tree with the root being zero.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public var depth:Number;
-		
-		/**
-		 *  Whether or not the node for this data is open (and its children
-		 *  visible).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public var isOpen:Boolean;
-		
-		/**
-		 *  Whether or not the node for this data has any children.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public var hasChildren:Boolean;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
deleted file mode 100644
index d7826de..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
+++ /dev/null
@@ -1,302 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.ISelectableItemRenderer;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.utils.MXMLDataInterpreter;
-	
-    [DefaultProperty("mxmlContent")]
-
-    /**
-	 *  The UIItemRendererBase class is the base class for all itemRenderers. An itemRenderer is used to
-	 *  display a single datum within a collection of data. Components such as a List use itemRenderers to 
-	 *  show their dataProviders.
-	 *
- 	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class UIItemRendererBase extends UIBase implements ISelectableItemRenderer
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function UIItemRendererBase()
-		{
-		}
-		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-			MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
-			MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-			
-			super.addedToParent();
-			
-            // very common for item renderers to be resized by their containers,
-            addEventListener("widthChanged", sizeChangeHandler);
-            addEventListener("heightChanged", sizeChangeHandler);
-			addEventListener("sizeChanged", sizeChangeHandler);
-
-            // each MXML file can also have styles in fx:Style block
-            ValuesManager.valuesImpl.init(this);
-            dispatchEvent(new Event("initBindings"));
-            dispatchEvent(new Event("initComplete"));
-            
-		}
-		
-		private var _itemRendererParent:Object;
-		
-		/**
-		 * The parent container for the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get itemRendererParent():Object
-		{
-			return _itemRendererParent;
-		}
-		public function set itemRendererParent(value:Object):void
-		{
-			_itemRendererParent = value;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var mxmlContent:Array;
-        
-		/**
-		 * @private
-		 */
-        public function get MXMLDescriptor():Array
-        {
-            return null;
-        }
-        
-        private var mxmlProperties:Array ;
-        
-		/**
-		 * @private
-		 */
-        public function generateMXMLAttributes(data:Array):void
-        {
-            mxmlProperties = data;
-        }
-        
-		public var backgroundColor:uint = 0xFFFFFF;
-		public var highlightColor:uint = 0xCEDBEF;
-		public var selectedColor:uint = 0xA8C6EE;
-		public var downColor:uint = 0x808080;
-		protected var useColor:uint = backgroundColor;
-		
-		private var _data:Object;
-		
-        [Bindable("__NoChangeEvent__")]
-		/**
-		 *  The data being represented by this itemRenderer. This can be something simple like a String or
-		 *  a Number or something very complex.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get data():Object
-		{
-			return _data;
-		}
-		public function set data(value:Object):void
-		{
-			_data = value;
-		}
-		
-		private var _listData:Object;
-		
-		[Bindable("__NoChangeEvent__")]
-		/**
-		 *  Additional data about the list structure the itemRenderer may
-		 *  find useful.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get listData():Object
-		{
-			return _listData;
-		}
-		public function set listData(value:Object):void
-		{
-			_listData = value;
-		}
-		
-		private var _labelField:String = "label";
-		
-		/**
-		 * The name of the field within the data to use as a label. Some itemRenderers use this field to
-		 * identify the value they should show while other itemRenderers ignore this if they are showing
-		 * complex information.
-		 */
-		public function get labelField():String
-		{
-			return _labelField;
-		}
-		public function set labelField(value:String):void
-		{
-			_labelField = value;
-		}
-		
-		private var _index:int;
-		
-		/**
-		 *  The position with the dataProvider being shown by the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get index():int
-		{
-			return _index;
-		}
-		public function set index(value:int):void
-		{
-			_index = value;
-		}
-		
-		private var _hovered:Boolean;
-		
-		/**
-		 *  Whether or not the itemRenderer is in a hovered state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hovered():Boolean
-		{
-			return _hovered;
-		}
-		public function set hovered(value:Boolean):void
-		{
-			_hovered = value;
-			updateRenderer();
-		}
-		
-		private var _selected:Boolean;
-		
-		/**
-		 *  Whether or not the itemRenderer is in a selected state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get selected():Boolean
-		{
-			return _selected;
-		}
-		public function set selected(value:Boolean):void
-		{
-			_selected = value;
-			updateRenderer();
-		}
-		
-		private var _down:Boolean;
-		
-		/**
-		 *  Whether or not the itemRenderer is in a down (or pre-selected) state.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get down():Boolean
-		{
-			return _down;
-		}
-		public function set down(value:Boolean):void
-		{
-			_down = value;
-			updateRenderer();
-		}
-		
-		/**
-		 * @private
-		 */
-		public function updateRenderer():void
-		{
-			if (down)
-				useColor = downColor;
-			else if (hovered)
-				useColor = highlightColor;
-			else if (selected)
-				useColor = selectedColor;
-			else
-				useColor = backgroundColor;
-		}
-		
-		/**
-		 * @private
-		 */
-		private function sizeChangeHandler(event:Event):void
-		{
-			adjustSize();
-		}
-		
-		/**
-		 *  This function is called whenever the itemRenderer changes size. Sub-classes should override
-		 *  this method an handle the size change.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function adjustSize():void
-		{
-			// handle in subclass
-		}
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/VScrollBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/VScrollBar.as
deleted file mode 100644
index a72c64c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/VScrollBar.as
+++ /dev/null
@@ -1,49 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.IChrome;
-	import org.apache.flex.core.IViewportScroller;
-	
-	/**
-	 *  The ScrollBar class represents either a vertical or horizontal control
-	 *  that allows the user to quickly scan through a component that does not
-	 *  wholly fit within its container.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class VScrollBar extends ScrollBar implements IChrome, IViewportScroller
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function VScrollBar()
-		{
-			super();
-		}		
-   	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
deleted file mode 100644
index 875c4d8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
+++ /dev/null
@@ -1,181 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IContentView;
-	import org.apache.flex.core.IParentIUIBase;
-	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.IUIBase;
-	import org.apache.flex.core.IViewport;
-	import org.apache.flex.core.IViewportModel;
-	import org.apache.flex.core.UIBase;
-    import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.events.Event;
-    import org.apache.flex.geom.Rectangle;
-    import org.apache.flex.geom.Size;
-	import org.apache.flex.html.beads.models.ScrollBarModel;
-    import org.apache.flex.utils.CSSContainerUtils;
-	COMPILE::SWF
-	{
-		import flash.geom.Rectangle;
-	}
-
-    /**
-     * A Viewport is the area of a Container set aside for displaying
-     * content. If the content exceeds the visible area of the viewport
-	 * it will be clipped or hidden.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-     */
-	public class Viewport implements IBead, IViewport
-	{
-		/**
-		 * Constructor
-	     *
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-		public function Viewport()
-		{
-		}
-
-		protected var contentArea:UIBase;
-
-		/**
-		 * Get the actual parent of the container's content.
-	     *
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-		 */
-        public function get contentView():IUIBase
-        {
-            return contentArea;
-        }
-
-		protected var _strand:IStrand;
-
-        /**
-         * @flexjsignorecoercion Class
-         */
-		COMPILE::SWF
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-            contentArea = _strand.getBeadByType(IContentView) as UIBase;
-            if (!contentArea)
-            {
-                var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
-                contentArea = new c() as UIBase;
-				_strand.addBead(contentArea as IBead);
-            }
-		}
-		
-		/**
-		 * @flexjsignorecoercion Class
-		 */
-		COMPILE::JS
-		public function set strand(value:IStrand):void
-		{
-			_strand = value;
-			
-			contentArea = _strand.getBeadByType(IContentView) as UIBase;
-			if (!contentArea)
-			{
-				var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
-				if (c != null) {
-					var result:Object = new c();
-					if (result != null) {
-						contentArea = result as UIBase;
-						_strand.addBead(contentArea as IBead);
-					}
-				}
-			}
-			
-			if (contentArea == null) {
-				contentArea = value as UIBase;
-			}
-			
-			contentArea.element.style.overflow = "hidden";
-		}
-
-        /**
-         * @copy org.apache.flex.core.IViewport#setPosition()
-	     *
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-         */
-        public function setPosition(x:Number, y:Number):void
-        {
-			COMPILE::SWF {
-            	contentArea.x = x;
-            	contentArea.y = y;
-			}
-        }
-
-        /**
-         * @copy org.apache.flex.core.IViewport#layoutViewportBeforeContentLayout()
-	     *
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-         */
-		public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
-		{
-			COMPILE::SWF {
-			if (!isNaN(width))
-                contentArea.width = width;
-            if (!isNaN(height))
-                contentArea.height = height;
-			}
-		}
-
-        /**
-         * @copy org.apache.flex.core.IViewport#layoutViewportAfterContentLayout()
-	     *
-	     *  @langversion 3.0
-	     *  @playerversion Flash 10.2
-	     *  @playerversion AIR 2.6
-	     *  @productversion FlexJS 0.0
-         */
-		public function layoutViewportAfterContentLayout(contentSize:Size):void
-		{
-			COMPILE::SWF {
-				var hostWidth:Number = UIBase(_strand).width;
-				var hostHeight:Number = UIBase(_strand).height;
-				
-				var rect:flash.geom.Rectangle = new flash.geom.Rectangle(0, 0, hostWidth, hostHeight);
-				contentArea.$sprite.scrollRect = rect;
-				
-				return;
-			}
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/BinaryImage.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/BinaryImage.as
deleted file mode 100644
index c03793c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/BinaryImage.as
+++ /dev/null
@@ -1,87 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
-	import org.apache.flex.core.IBinaryImage;
-	import org.apache.flex.core.IBinaryImageModel;
-	import org.apache.flex.core.ValuesManager;
-	import org.apache.flex.core.IBinaryImageLoader;
-	import org.apache.flex.utils.BinaryData;
-
- 	/**
-	 *  The Image class is a component that displays a bitmap. The Image uses
-	 *  the following beads:
-	 * 
-	 *  org.apache.flex.core.IBeadModel: the data model for the Image, including the url/binary property.
-	 *  org.apache.flex.core.IBeadView: constructs the visual elements of the component.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class BinaryImage extends Image implements IBinaryImage
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function BinaryImage()
-		{
-			super();
-		}
-		
-		override public function addedToParent():void
-		{
-			var c:Class = ValuesManager.valuesImpl.getValue(this, "iBinaryImageLoader") as Class;
-			if (c)
-			{
-				if (c)
-				{
-					var loader:IBinaryImageLoader = (new c()) as IBinaryImageLoader;
-					addBead(loader);
-				}
-			}
-			super.addedToParent();
-		}
-		
-		/**
-		 *  The binary bitmap data.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IImageModel
-		 */
-		public function get binary():BinaryData
-		{
-			return (model as IBinaryImageModel).binary;
-		}
-		public function set binary(value:BinaryData):void
-		{
-			(model as IBinaryImageModel).binary = value;
-		}
-        
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Circle.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Circle.as
deleted file mode 100644
index 8f8876a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Circle.as
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-	import org.apache.flex.graphics.ICircle;
-    import org.apache.flex.graphics.IDrawable;
-
-    COMPILE::SWF
-    {
-        import flash.display.Graphics;
-        import flash.geom.Point;
-        import flash.geom.Rectangle;            
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    public class Circle extends GraphicShape implements ICircle, IDrawable
-    {
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.7
-		 */
-        public function Circle(cx:Number=0, cy:Number=0, r:Number=0)
-        {
-            x = cx;
-            y = cy;
-            radius = r;
-        }
-
-        private var _radius:Number;
-
-        public function get radius():Number
-        {
-            return _radius;
-        }
-
-        public function set radius(value:Number):void
-        {
-            _radius = value;
-        }
-        
-        COMPILE::JS
-        private var _circle:WrappedHTMLElement;
-
-        /**
-         *  Draw the circle.
-         *  @param cx The x location of the center of the circle
-         *  @param cy The y location of the center of the circle.
-         *  @param radius The radius of the circle.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion SVGCircleElement
-         */
-        public function drawCircle(cx:Number, cy:Number, radius:Number):void
-        {
-            COMPILE::SWF
-            {
-                $sprite.graphics.clear();
-                applyStroke();
-                beginFill(new Rectangle(cx,cy,radius*2, radius*2),new Point(cx-radius,cy-radius));
-                $sprite.graphics.drawCircle(cx+radius,cy+radius,radius);
-                endFill();
-            }
-            COMPILE::JS                
-            {
-                var style:String = getStyleStr();
-
-                if (_circle == null) {
-                    _circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle') as WrappedHTMLElement;
-                    _circle.flexjs_wrapper = this;
-                    element.appendChild(_circle);
-                }
-                _circle.setAttribute('style', style);
-                if (stroke)
-                {
-                    _circle.setAttribute('cx', radius + stroke.weight);
-                    _circle.setAttribute('cy', radius + stroke.weight);
-                }
-                else
-                {
-                    _circle.setAttribute('cx', radius);
-                    _circle.setAttribute('cy', radius);
-                }
-                
-                _circle.setAttribute('r', radius);
-                
-                resize(x-radius, y-radius, (_circle as SVGCircleElement).getBBox());
-
-            }
-        }
-        
-        override protected function drawImpl():void
-        {
-            drawCircle(0, 0, radius);
-        }
-
-		public function draw():void
-		{
-			drawImpl();
-		}
-        
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/CompoundGraphic.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/CompoundGraphic.as
deleted file mode 100644
index 0565eae..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/CompoundGraphic.as
+++ /dev/null
@@ -1,584 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-    import org.apache.flex.graphics.ICompoundGraphic;
-    import org.apache.flex.graphics.IFill;
-    import org.apache.flex.graphics.IStroke;
-    import org.apache.flex.graphics.PathBuilder;
-    import org.apache.flex.graphics.SolidColor;
-
-    COMPILE::SWF
-    {
-        import flash.display.GraphicsPath;
-        import flash.display.Shape;
-        import flash.display.Sprite;
-        import flash.geom.Point;
-        import flash.geom.Rectangle;
-        import flash.text.TextFieldType;
-
-        import org.apache.flex.core.CSSTextField;
-        import org.apache.flex.graphics.utils.PathHelper;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    /**
-     * CompoundGraphic is a surface on which you can
-     * draw various graphic elements such as Rect, Circle,
-     * Ellipse, Path etc.
-     * Use this class if you want to draw multiple graphic
-     * shapes on a single container.
-     *
-     */
-    public class CompoundGraphic extends GraphicShape implements ICompoundGraphic
-    {
-        private var _textFill:IFill;
-
-        public function get textFill():IFill
-        {
-            return _textFill;
-        }
-        /**
-         *  The color of the text.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion FlexJS 0.0
-         */
-        public function set textFill(value:IFill):void
-        {
-            _textFill = value;
-        }
-
-        private var _textStroke:IStroke;
-
-        public function get textStroke():IStroke
-        {
-            return _textStroke;
-        }
-        /**
-         *  The stroke color of the text.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion FlexJS 0.0
-         */
-        public function set textStroke(value:IStroke):void
-        {
-            _textStroke = value;
-        }
-
-        /**
-         *  Removes all of the drawn elements of the container.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0.3
-         */
-        public function removeAllElements():void
-        {
-            clear();
-        }
-        
-        /**
-         *  Clears all of the drawn path data.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.7.0
-         */
-        public function clear():void
-        {
-            COMPILE::SWF
-            {
-                $sprite.graphics.clear();
-                $sprite.removeChildren();
-            }
-            COMPILE::JS
-            {
-                var svg:HTMLElement = element;
-                while (svg.lastChild) {
-                    svg.removeChild(svg.lastChild);
-                }
-            }
-        }
-
-        /**
-         *  Draw the rectangle.
-         *  @param x The x position of the top-left corner of the rectangle.
-         *  @param y The y position of the top-left corner.
-         *  @param width The width of the rectangle.
-         *  @param height The height of the rectangle.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0.3
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawRect(x:Number, y:Number, width:Number, height:Number):void
-        {
-            COMPILE::SWF
-            {
-                applyStroke();
-                beginFill(new Rectangle(x, y, width, height), new Point(x,y) );
-                $sprite.graphics.drawRect(x, y, width, height);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                drawRoundRect(x, y, width, height, NaN);
-            }
-        }
-
-        /**
-         *  Draws a rounded rectangle.
-         *  Note: The radius values are different than the Flash API of the same name. Flash uses diameter instead of radius.
-         *  @param x The x position of the top-left corner of the rectangle.
-         *  @param y The y position of the top-left corner.
-         *  @param width The width of the rectangle.
-         *  @param height The height of the rectangle.
-         *  @param radiusX The horizontal radius of the rounded corners (in pixels).
-         *  @param radiusY The vertical radius of the rounded corners (in pixels). Optional; if no value is specified, the default value matches that provided for the <code>radiusX</code> parameter.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0.3
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawRoundRect(x:Number, y:Number, width:Number, height:Number, radiusX:Number, radiusY:Number = NaN):void
-        {
-            COMPILE::SWF
-            {
-                applyStroke();
-                beginFill(new Rectangle(x,y,width,height), new Point(x,y));
-                radiusX *=2;
-                radiusY = isNaN(radiusY) ? radiusY : radiusY*2;
-                $sprite.graphics.drawRoundRect(x,y,width,height,radiusX,radiusY);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                if(isNaN(radiusY))
-                    radiusY = radiusX;
-
-                var style:String = getStyleStr();
-                var rect:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
-                rect.flexjs_wrapper = this;
-                rect.style.left = x + "px";
-                rect.style.top = y + "px";
-                rect.setAttribute('style', style);
-                rect.setAttribute('x', x);
-                rect.setAttribute('y', y);
-                rect.setAttribute('width', width);
-                rect.setAttribute('height', height);
-                if(!isNaN(radiusX))
-                {
-                    rect.setAttribute('rx', radiusX);
-                    rect.setAttribute('ry', radiusY);
-                }
-                element.appendChild(rect);
-            }
-
-        }
-
-        /**
-         *  Draw the ellipse.
-         *  @param x The x position of the top-left corner of the bounding box of the ellipse.
-         *  @param y The y position of the top-left corner of the bounding box of the ellipse.
-         *  @param width The width of the ellipse.
-         *  @param height The height of the ellipse.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0.3
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawEllipse(x:Number, y:Number, width:Number, height:Number):void
-        {
-            COMPILE::SWF
-            {
-                applyStroke();
-                beginFill(new Rectangle(x,y,width,height), new Point(x,y));
-                $sprite.graphics.drawEllipse(x,y,width,height);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                var style:String = getStyleStr();
-                var ellipse:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
-                ellipse.flexjs_wrapper = this;
-                ellipse.style.left = x + "px";
-                ellipse.style.top = y + "px";
-                ellipse.setAttribute('style', style);
-                ellipse.setAttribute('cx', x + width / 2);
-                ellipse.setAttribute('cy', y + height / 2);
-                ellipse.setAttribute('rx', width / 2);
-                ellipse.setAttribute('ry', height / 2);
-                element.appendChild(ellipse);
-            }
-        }
-
-        /**
-         *  Draw the circle.
-         *  @param x The x location of the center of the circle
-         *  @param y The y location of the center of the circle.
-         *  @param radius The radius of the circle.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawCircle(x:Number, y:Number, radius:Number):void
-        {
-            COMPILE::SWF
-            {
-                applyStroke();
-                beginFill(new Rectangle(x,y,radius*2, radius*2),new Point(x-radius,y-radius));
-                $sprite.graphics.drawCircle(x,y,radius);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                var style:String = getStyleStr();
-                var circle:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
-                circle.flexjs_wrapper = this;
-                circle.style.left = x + "px";
-                circle.style.top = y + "px";
-                circle.setAttribute('style', style);
-                circle.setAttribute('cx', x);
-                circle.setAttribute('cy', y);
-                circle.setAttribute('rx', radius);
-                circle.setAttribute('ry', radius);
-                element.appendChild(circle);
-
-            }
-        }
-
-        /**
-         *  Draw the path.
-         *  @param data A PathBuilder object containing a vector of drawing commands.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawPathCommands(data:PathBuilder):void
-        {
-            drawStringPath(data.getPathString());
-        }
-        
-        /**
-         *  Draw the path.
-         *  @param data A string containing a compact represention of the path segments.
-         *  The value is a space-delimited string describing each path segment. Each
-         *  segment entry has a single character which denotes the segment type and
-         *  two or more segment parameters.
-         *
-         *  If the segment command is upper-case, the parameters are absolute values.
-         *  If the segment command is lower-case, the parameters are relative values.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawStringPath(data:String):void
-        {
-            COMPILE::SWF
-            {
-                applyStroke();
-                var bounds:Rectangle = PathHelper.getBounds(data);
-                beginFill(bounds,bounds.topLeft);
-                var graphicsPath:GraphicsPath = PathHelper.getSegments(data);
-                $sprite.graphics.drawPath(graphicsPath.commands, graphicsPath.data);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                var style:String = getStyleStr();
-                var path:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
-                path.flexjs_wrapper = this;
-                path.style.left = "0px";
-                path.style.top = "0px";
-                path.setAttribute('style', style);
-                path.setAttribute('d', data);
-                element.appendChild(path);
-            }
-        }
-
-        public function drawLine():void
-        {
-
-        }
-
-        public function drawPolygon():void
-        {
-
-        }
-
-
-        /**
-         * Draws a rounded rectangle using the size of a radius to draw the rounded corners. 
-         * You must set the line style, fill, or both 
-         * on the Graphics object before 
-         * you call the <code>drawRoundRectComplex()</code> method 
-         * by calling the <code>linestyle()</code>, 
-         * <code>lineGradientStyle()</code>, <code>beginFill()</code>, 
-         * <code>beginGradientFill()</code>, or 
-         * <code>beginBitmapFill()</code> method.
-         * 
-         * @param x The horizontal position relative to the 
-         * registration point of the parent display object, in pixels.
-         * 
-         * @param y The vertical position relative to the 
-         * registration point of the parent display object, in pixels.
-         * 
-         * @param width The width of the round rectangle, in pixels.
-         * 
-         * @param height The height of the round rectangle, in pixels.
-         * 
-         * @param topLeftRadius The radius of the upper-left corner, in pixels.
-         * 
-         * @param topRightRadius The radius of the upper-right corner, in pixels.
-         * 
-         * @param bottomLeftRadius The radius of the bottom-left corner, in pixels.
-         * 
-         * @param bottomRightRadius The radius of the bottom-right corner, in pixels.
-         *
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Flex 3
-         */
-        public function drawRoundRectComplex(x:Number, y:Number, 
-                                                    width:Number, height:Number, 
-                                                    topLeftRadius:Number, topRightRadius:Number, 
-                                                    bottomLeftRadius:Number, bottomRightRadius:Number):void
-        {
-            COMPILE::SWF
-            {
-                applyStroke();
-                beginFill(new Rectangle(x,y,width,height), new Point(x,y));
-                $sprite.graphics.drawRoundRectComplex(x,y,width,height,topLeftRadius,topRightRadius,bottomLeftRadius,bottomRightRadius);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                var builder:PathBuilder = new PathBuilder();
-                builder.drawRoundRectComplex(x, y, width, height, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
-                drawStringPath(builder.getPathString());
-            }
-
-
-    }
-    
-    /**
-     * Draws a rounded rectangle using the size of individual x and y radii to 
-     * draw the rounded corners. 
-     * You must set the line style, fill, or both 
-     * on the Graphics object before 
-     * you call the <code>drawRoundRectComplex2()</code> method 
-     * by calling the <code>linestyle()</code>, 
-     * <code>lineGradientStyle()</code>, <code>beginFill()</code>, 
-     * <code>beginGradientFill()</code>, or 
-     * <code>beginBitmapFill()</code> method.
-     * 
-     * @param graphics The Graphics object that draws the rounded rectangle.
-     *
-     * @param x The horizontal position relative to the 
-     * registration point of the parent display object, in pixels.
-     * 
-     * @param y The vertical position relative to the 
-     * registration point of the parent display object, in pixels.
-     * 
-     * @param width The width of the round rectangle, in pixels.
-     * 
-     * @param height The height of the round rectangle, in pixels.
-     * 
-     * @param radiusX The default radiusX to use, if corner-specific values are not specified.
-     * This value must be specified.
-     * 
-     * @param radiusY The default radiusY to use, if corner-specific values are not specified. 
-     * If 0, the value of radiusX is used.
-     * 
-     * @param topLeftRadiusX The x radius of the upper-left corner, in pixels. If NaN, 
-     * the value of radiusX is used.
-     * 
-     * @param topLeftRadiusY The y radius of the upper-left corner, in pixels. If NaN,
-     * the value of topLeftRadiusX is used.
-     * 
-     * @param topRightRadiusX The x radius of the upper-right corner, in pixels. If NaN,
-     * the value of radiusX is used.
-     * 
-     * @param topRightRadiusY The y radius of the upper-right corner, in pixels. If NaN,
-     * the value of topRightRadiusX is used.
-     * 
-     * @param bottomLeftRadiusX The x radius of the bottom-left corner, in pixels. If NaN,
-     * the value of radiusX is used.
-     * 
-     * @param bottomLeftRadiusY The y radius of the bottom-left corner, in pixels. If NaN,
-     * the value of bottomLeftRadiusX is used.
-     * 
-     * @param bottomRightRadiusX The x radius of the bottom-right corner, in pixels. If NaN,
-     * the value of radiusX is used.
-     * 
-     * @param bottomRightRadiusY The y radius of the bottom-right corner, in pixels. If NaN,
-     * the value of bottomRightRadiusX is used.
-     * 
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function drawRoundRectComplex2(x:Number, y:Number, 
-                                                width:Number, height:Number, 
-                                                radiusX:Number, radiusY:Number,
-                                                topLeftRadiusX:Number, topLeftRadiusY:Number,
-                                                topRightRadiusX:Number, topRightRadiusY:Number,
-                                                bottomLeftRadiusX:Number, bottomLeftRadiusY:Number,
-                                                bottomRightRadiusX:Number, bottomRightRadiusY:Number):void
-    {
-        var builder:PathBuilder = new PathBuilder();
-        builder.drawRoundRectComplex2(x, y, width, height, radiusX, radiusY,topLeftRadiusX, topLeftRadiusY,topRightRadiusX, topRightRadiusY,bottomLeftRadiusX, bottomLeftRadiusY,bottomRightRadiusX, bottomRightRadiusY);
-
-        COMPILE::SWF
-        {
-            applyStroke();
-            beginFill(new Rectangle(x,y,width,height), new Point(x,y));
-            builder.draw($sprite.graphics);
-            endFill();
-        }
-        COMPILE::JS
-        {
-            drawStringPath(builder.getPathString());
-        }
-    }
-
-        /*
-        What about these?
-        beginBitmapFill
-        beginFill
-        beginGradientFill
-        beginShaderFill
-        drawGraphicsData
-        drawRoundRect
-        drawTriangles
-        */
-
-        /**
-         *  Draw a string of characters.
-         *  @param value The string to draw.
-         *  @param x The x location of the center of the circle
-         *  @param y The y location of the center of the circle.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion Text
-         *  @flexjsignorecoercion Node
-         */
-        public function drawText(value:String, x:Number, y:Number):Object
-        {
-            COMPILE::SWF
-            {
-                var textField:CSSTextField = new CSSTextField();
-                $sprite.addChild(textField);
-
-                textField.selectable = false;
-                textField.type = TextFieldType.DYNAMIC;
-                textField.mouseEnabled = false;
-                textField.autoSize = "left";
-                textField.text = value;
-
-                var color:SolidColor = textFill as SolidColor;
-                if (color) {
-                    textField.textColor = color.color;
-                    textField.alpha = color.alpha;
-                }
-
-                textField.x = x;
-                textField.y = y + textField.textHeight/4;
-
-                return textField;
-
-            }
-            COMPILE::JS
-            {
-                var style:String = getTxtStyleStr();
-                var text:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
-                text.flexjs_wrapper = this;
-                text.style.left = x + "px";
-                text.style.top = y + "px";
-                text.setAttribute('style', style);
-                text.setAttribute('x', x);
-                text.setAttribute('y', y + 15);
-                var textNode:Text = document.createTextNode(value) as Text;
-                text.appendChild(textNode as Node);
-                element.appendChild(text);
-                return text;
-            }
-        }
-
-                /**
-         * @return {string} The style attribute.
-         */
-        COMPILE::JS
-        public function getTxtStyleStr():String
-        {
-            var fillStr:String;
-            if (textFill)
-            {
-                fillStr = textFill.addFillAttrib(this);
-            }
-            else
-            {
-                fillStr = 'fill:none';
-            }
-
-            var strokeStr:String;
-            if (textStroke)
-            {
-                strokeStr = textStroke.addStrokeAttrib(this);
-            }
-            else
-            {
-                strokeStr = 'stroke:none';
-            }
-            return fillStr + ';' + strokeStr;
-
-
-        }
-
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/DOMWrapper.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/DOMWrapper.as
deleted file mode 100644
index 1b5d09a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/DOMWrapper.as
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-  COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	import org.apache.flex.core.ContainerBase;
-
-	public class DOMWrapper extends ContainerBase
-	{
-
-		/**
-		 * Constructor
-		 *
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-        public function DOMWrapper()
-        {
-			super();
-        }
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		COMPILE::JS
-		override protected function createElement():WrappedHTMLElement
-		{
-			element = document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject') as WrappedHTMLElement;
-			element.flexjs_wrapper = this;
-			element.style.left = "0px";
-			element.style.top = "0px";
-			//element.offsetParent = null;
-			positioner = element;
-			//positioner.style.position = 'relative';
-
-			return element;
-		}
-
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Ellipse.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Ellipse.as
deleted file mode 100644
index 2c25c61..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Ellipse.as
+++ /dev/null
@@ -1,175 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
-    import org.apache.flex.graphics.IDrawable;
-	import org.apache.flex.graphics.IEllipse;
-
-    COMPILE::SWF
-    {
-        import flash.geom.Point;
-        import flash.geom.Rectangle;            
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    public class Ellipse extends GraphicShape implements IEllipse, IDrawable
-    {
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.7
-		 */
-		public function Ellipse(cx:Number=0, cy:Number=0, rx:Number=0, ry:Number=0)
-		{
-			x = cx;
-			y = cy;
-			this.rx = rx;
-			this.ry = ry;
-		}
-		
-		private var _rx:Number;
-
-		/**
-		 * The horizontal radius of the ellipse.
-		 * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion FlexJS 0.7
-		 */
-		public function get rx():Number
-		{
-			return _rx;
-		}
-
-		public function set rx(value:Number):void
-		{
-			_rx = value;
-		}
-
- 		private var _ry:Number;
-
-		/**
-		 * The vertical radius of the ellipse.
-		 * 
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion FlexJS 0.7
-		 */
-		public function get ry():Number
-		{
-			return _ry;
-		}
-
-		public function set ry(value:Number):void
-		{
-			_ry = value;
-		}
-
-        override public function get width():Number
-        {
-            return _rx*2;
-        }
-
-        override public function set width(value:Number):void
-        {
-            _rx = value/2;
-        }
-
-        override public function get height():Number
-        {
-            return _ry*2;
-        }
-
-        override public function set height(value:Number):void
-        {
-            _ry = value/2;
-        }
-        
-        COMPILE::JS
-        private var _ellipse:WrappedHTMLElement;
-        
-        /**
-         *  Draw the ellipse.
-         *  @param xp The x position of the top-left corner of the bounding box of the ellipse.
-         *  @param yp The y position of the top-left corner of the bounding box of the ellipse.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion SVGEllipseElement
-         */
-        public function drawEllipse(xp:Number, yp:Number):void
-        {
-            COMPILE::SWF
-            {
-                $sprite.graphics.clear();
-                applyStroke();
-                beginFill(new Rectangle(xp, yp, width, height), new Point(xp,yp));
-                $sprite.graphics.drawEllipse(xp,yp,width,height);
-                endFill();                    
-            }
-            COMPILE::JS
-            {
-                var style:String = getStyleStr();
-                if (_ellipse == null) {
-                    _ellipse = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
-                    _ellipse.flexjs_wrapper = this;
-                    element.appendChild(_ellipse);
-                }
-                _ellipse.setAttribute('style', style);
-                if (stroke)
-                {
-                    _ellipse.setAttribute('cx', rx + stroke.weight);
-                    _ellipse.setAttribute('cy', ry + stroke.weight);
-                }
-                else
-                {
-                    _ellipse.setAttribute('cx', rx);
-                    _ellipse.setAttribute('cy', ry);
-                }
-                _ellipse.setAttribute('rx', rx);
-                _ellipse.setAttribute('ry', ry);
-                
-                resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
-
-            }
-        }
-        
-        override protected function drawImpl():void
-        {
-            drawEllipse(0, 0);
-        }
-
-		public function draw():void
-		{
-			drawImpl();
-		}
-        
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicContainer.as
deleted file mode 100644
index 8bd841f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicContainer.as
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.flex.svg
-{
-    import org.apache.flex.core.ContainerBase;
-    import org.apache.flex.core.IChild;
-    import org.apache.flex.core.IFlexJSElement;
-    import org.apache.flex.core.ITransformHost;
-
-	COMPILE::JS
-	{
-		import org.apache.flex.core.IContainer;
-		import org.apache.flex.core.UIBase;
-	}
-
-	[DefaultProperty("mxmlContent")]
-
-	COMPILE::SWF
-    public class GraphicContainer extends ContainerBase implements ITransformHost
-    {
-        public function GraphicContainer()
-        {
-            super();
-        }
-
-    }
-
-	COMPILE::JS
-	public class GraphicContainer extends ContainerBase implements ITransformHost
-	{
-		private var graphicGroup:ContainerBase;
-
-		public function GraphicContainer()
-		{
-			super();
-		}
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		override protected function createElement():org.apache.flex.core.WrappedHTMLElement
-		{
-			element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as org.apache.flex.core.WrappedHTMLElement;
-
-			positioner = element;
-
-			// absolute positioned children need a non-null
-			// position value in the parent.  It might
-			// get set to 'absolute' if the container is
-			// also absolutely positioned
-			//positioner.style.position = 'relative';
-			element.flexjs_wrapper = this;
-
-			graphicGroup = new GraphicGroup();
-			super.addElement(graphicGroup);
-			return element;
-		}
-
-		COMPILE::JS
-		override protected function setClassName(value:String):void
-		{
-			element.setAttribute('class', value);
-		}
-
-		override public function get transformElement():org.apache.flex.core.WrappedHTMLElement
-		{
-			return graphicGroup.element;
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IParent#getElementAt()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function getElementAt(index:int):IChild
-		{
-			return graphicGroup.getElementAt(index);
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IParent#addElement()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			graphicGroup.addElement(c, dispatchEvent);
-			if (dispatchEvent)
-				this.dispatchEvent(new Event("childrenAdded"));
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IParent#addElementAt()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-		{
-			graphicGroup.addElementAt(c, index, dispatchEvent);
-			if (dispatchEvent)
-				this.dispatchEvent(new Event("childrenAdded"));
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IParent#removeElement()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-			graphicGroup.removeElement(c, dispatchEvent);
-			if (dispatchEvent)
-				this.dispatchEvent(new Event("childrenRemoved"));
-		}
-
-		/**
-		 *  @copy org.apache.flex.core.IParent#getElementIndex()
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function getElementIndex(c:IChild):int
-		{
-			return graphicGroup.getElementIndex(c);
-		}
-
-
-		/**
-		 *  The number of elements in the parent.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		override public function get numElements():int
-		{
-			return graphicGroup.numElements;
-		}
-
-		COMPILE::JS
-        override public function set x(value:Number):void
-        {
-			super.x = value;
-			// Needed for SVG inside SVG
-			element.setAttribute("x", value);
-        }
-
-		COMPILE::JS
-        override public function set y(value:Number):void
-        {
-			super.y = value;
-			// Needed for SVG inside SVG
-			element.setAttribute("y", value);
-        }
-
-	}
-}
-
-import org.apache.flex.core.ContainerBase;
-
-class GraphicGroup extends ContainerBase
-{
-	/**
-	 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-	 */
-	COMPILE::JS
-	override protected function createElement():org.apache.flex.core.WrappedHTMLElement
-	{
-		element = document.createElementNS('http://www.w3.org/2000/svg', 'g') as org.apache.flex.core.WrappedHTMLElement;
-
-		positioner = element;
-
-		// absolute positioned children need a non-null
-		// position value in the parent.  It might
-		// get set to 'absolute' if the container is
-		// also absolutely positioned
-		//positioner.style.position = 'relative';
-		element.flexjs_wrapper = this;
-
-		/*addEventListener('childrenAdded',
-		runLayoutHandler);
-		addEventListener('elementRemoved',
-		runLayoutHandler);*/
-
-		return element;
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicShape.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicShape.as
deleted file mode 100644
index da8d0a9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicShape.as
+++ /dev/null
@@ -1,241 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-	COMPILE::SWF
-    {
-		import flash.display.Graphics;
-		import flash.display.Sprite;
-		import flash.geom.Point;
-		import flash.geom.Rectangle;
-		import org.apache.flex.core.WrappedSprite;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-    import org.apache.flex.core.IFlexJSElement;
-	import org.apache.flex.core.UIBase;
-	import org.apache.flex.graphics.IFill;
-	import org.apache.flex.graphics.IStroke;
-	import org.apache.flex.graphics.IGraphicShape;
-
-	public class GraphicShape extends UIBase implements IGraphicShape
-	{
-
-		private var _fill:IFill;
-		private var _stroke:IStroke;
-
-		public function get stroke():IStroke
-		{
-			return _stroke;
-		}
-
-		/**
-		 *  A solid color fill.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set stroke(value:IStroke):void
-		{
-			_stroke = value;
-		}
-
-		public function get fill():IFill
-		{
-			return _fill;
-		}
-		/**
-		 *  A solid color fill.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion FlexJS 0.0
-		 */
-		public function set fill(value:IFill):void
-		{
-			_fill = value;
-		}
-
-		/**
-		 * Constructor
-		 *
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-        public function GraphicShape()
-        {
-			super();
-        }
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		COMPILE::JS
-		override protected function createElement():WrappedHTMLElement
-		{
-			element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement;
-			element.flexjs_wrapper = this;
-			//element.offsetParent = null;
-			positioner = element;
-			//positioner.style.position = 'relative';
-
-			return element;
-		}
-
-
-        COMPILE::SWF
-		protected function applyStroke():void
-		{
-			if(stroke)
-			{
-				stroke.apply($sprite.graphics);
-			}
-		}
-
-        COMPILE::SWF
-		protected function beginFill(targetBounds:Rectangle,targetOrigin:Point):void
-		{
-			if(fill)
-			{
-				fill.begin($sprite.graphics, targetBounds,targetOrigin);
-			}
-		}
-
-        COMPILE::SWF
-		protected function endFill():void
-		{
-			if(fill)
-			{
-				fill.end($sprite.graphics);
-			}
-		}
-
-		/**
-		 * This is where the drawing methods get called from
-		 */
-		protected function drawImpl():void
-		{
-			//Overwrite in subclass
-		}
-
-		override public function addedToParent():void
-		{
-            super.addedToParent();
-			drawImpl();
-            COMPILE::JS
-            {
-                element.style.overflow = 'visible';
-            }
-		}
-
-        /**
-         * @return {string} The style attribute.
-         */
-        COMPILE::JS
-        public function getStyleStr():String
-        {
-            var fillStr:String;
-            if (fill)
-            {
-                fillStr = fill.addFillAttrib(this);
-            }
-            else
-            {
-                fillStr = 'fill:none';
-            }
-
-            var strokeStr:String;
-            if (stroke)
-            {
-                strokeStr = stroke.addStrokeAttrib(this);
-            }
-            else
-            {
-                strokeStr = 'stroke:none';
-            }
-
-
-            return fillStr + ';' + strokeStr;
-        }
-
-		COMPILE::JS
-		override protected function setClassName(value:String):void
-		{
-			element.setAttribute('class', value);
-		}
-
-
-        /**
-         * @param x X position.
-         * @param y Y position.
-         * @param bbox The bounding box of the svg element.
-         */
-        COMPILE::JS
-        public function resize(x:Number, y:Number, bbox:SVGRect):void
-        {
-            var useWidth:Number = Math.max(this.width, bbox.width);
-            var useHeight:Number = Math.max(this.height, bbox.height);
-
-            element.style.position = 'absolute';
-            if (!isNaN(x)) element.style.top = x + "px";
-            if (!isNaN(y)) element.style.left = y + "px";
-			// element.setAttribute("width", useWidth);
-			// element.setAttribute("height", useHeight);
-            element.style.width = useWidth;
-            element.style.height = useHeight;
-			// Needed for SVG inside SVG
-			element.setAttribute("x", x);
-			element.setAttribute("y", y);
-			//Needed for SVG inside DOM elements
-            element.style.left = x + "px";
-            element.style.top = y + "px";
-        }
-
-        COMPILE::JS
-        private var _x:Number;
-        COMPILE::JS
-        private var _y:Number;
-        COMPILE::JS
-        private var _xOffset:Number;
-        COMPILE::JS
-        private var _yOffset:Number;
-
-        /**
-         * @param x X position.
-         * @param y Y position.
-         * @param xOffset offset from x position.
-         * @param yOffset offset from y position.
-         */
-        COMPILE::JS
-        public function setPosition(x:Number, y:Number, xOffset:Number, yOffset:Number):void
-        {
-            _x = x;
-            _y = y;
-            _xOffset = xOffset;
-            _yOffset = yOffset;
-			// Needed for SVG inside SVG
-			element.setAttribute("x", xOffset);
-			element.setAttribute("y", yOffset);
-			//Needed for SVG inside DOM elements
-            element.style.left = xOffset + "px";
-            element.style.top = yOffset + "px";
-        }
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Image.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Image.as
deleted file mode 100644
index dd96ceb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Image.as
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-	import org.apache.flex.core.ImageBase;
-
-	COMPILE::JS
-	{
-		import org.apache.flex.core.WrappedHTMLElement;
-	}
-    public class Image extends ImageBase
-    {
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.7
-		 */
-        public function Image()
-        {
-			super();
-       }
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		COMPILE::JS
-		override protected function createElement():WrappedHTMLElement
-		{
-			element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement;
-			element.flexjs_wrapper = this;
-			element.setAttribute('x', 0);
-			element.setAttribute('y', 0);
-			//element.offsetParent = null;
-			positioner = element;
-			//positioner.style.position = 'relative';
-			addImageElement();
-			return element;
-		}
-
-		COMPILE::JS
-		protected var _image:WrappedHTMLElement;
-
-		/**
-		 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		COMPILE::JS
-		protected function addImageElement():void
-		{
-			if (_image == null) {
-				_image = document.createElementNS('http://www.w3.org/2000/svg', 'image') as WrappedHTMLElement;
-				_image.setAttribute("width", "100%");
-				_image.setAttribute("height", "100%");
-				_image.flexjs_wrapper = this;
-				element.appendChild(_image);
-			}
-		}
-
-		COMPILE::JS
-		override public function get imageElement():Element
-		{
-			return _image;
-		}
-
-		COMPILE::JS
-		override public function get transformElement():WrappedHTMLElement
-		{
-			return _image;
-		}
-
-		COMPILE::JS
-		override public function applyImageData(binaryDataAsString:String):void
-		{
-			(_image as SVGImageElement).setAttributeNS('http://www.w3.org/1999/xlink','href', binaryDataAsString);
-		}
-		COMPILE::JS
-		override public function setWidth(value:Number, noEvent:Boolean=false):void
-		{
-			super.setWidth(value, noEvent);
-			positioner.setAttribute("width", value);
-		}
-
-		COMPILE::JS
-		override public function setHeight(value:Number, noEvent:Boolean=false):void
-		{
-			super.setHeight(value, noEvent);
-			positioner.setAttribute("height", value);
-		}
-
-		COMPILE::JS
-		override public function setX(value:Number):void
-		{
-			super.setX(value);
-			positioner.setAttribute("x", value);
-
-		}
-		COMPILE::JS
-		override public function setY(value:Number):void
-		{
-			super.setY(value);
-			positioner.setAttribute("y", value);
-
-		}
-
-		COMPILE::JS
-		override public function set x(value:Number):void
-		{
-			super.x = value;
-			positioner.setAttribute("x", value);
-		}
-
-		COMPILE::JS
-		override public function set y(value:Number):void
-		{
-			super.y = value;
-			positioner.setAttribute("y", value);
-		}
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Path.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Path.as
deleted file mode 100644
index 4134b55..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Path.as
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-    import org.apache.flex.graphics.IDrawable;
-    import org.apache.flex.graphics.IPath;
-    import org.apache.flex.graphics.PathBuilder;
-
-    COMPILE::SWF
-    {
-        import flash.display.GraphicsPath;
-        import flash.geom.Point;
-        import flash.geom.Rectangle;
-        import org.apache.flex.graphics.utils.PathHelper;
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-
-    public class Path extends GraphicShape implements IPath, IDrawable
-    {
-
-        private var _data:String;
-
-        public function get data():String
-        {
-            return _data;
-        }
-
-        public function set data(value:String):void
-        {
-            _data = value;
-            _pathCommands = null;
-        }
-        
-        private var _pathCommands:PathBuilder;
-
-        public function get pathCommands():PathBuilder
-        {
-            return _pathCommands;
-        }
-
-        public function set pathCommands(value:PathBuilder):void
-        {
-            _pathCommands = value;
-            _data = _pathCommands.getPathString();
-        }
-
-        
-        COMPILE::JS
-        private var _path:WrappedHTMLElement;
-
-        /**
-         *  Draw the path.
-         *  @param data A PathBuilder object containing a vector of drawing commands.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawPathCommands(xp:Number,yp:Number,data:PathBuilder):void
-        {
-            drawStringPath(xp,yp,data.getPathString());
-        }
-
-        /**
-         *  Draw the path.
-         *  @param data A string containing a compact represention of the path segments.
-         *  The value is a space-delimited string describing each path segment. Each
-         *  segment entry has a single character which denotes the segment type and
-         *  two or more segment parameters.
-         *
-         *  If the segment command is upper-case, the parameters are absolute values.
-         *  If the segment command is lower-case, the parameters are relative values.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        public function drawStringPath(xp:Number,yp:Number,data:String):void
-        {
-            COMPILE::SWF
-            {
-                $sprite.graphics.clear();
-                applyStroke();
-                var bounds:Rectangle = PathHelper.getBounds(data);
-                this.width = bounds.width;
-                this.height = bounds.height;
-                beginFill(bounds,new Point(bounds.left + xp, bounds.top + yp) );
-                var graphicsPath:GraphicsPath = PathHelper.getSegments(data,xp,yp);
-                $sprite.graphics.drawPath(graphicsPath.commands, graphicsPath.data);
-                endFill();
-            }
-            COMPILE::JS
-            {
-                if (data == null || data.length === 0) return;
-                var style:String = getStyleStr();
-                if (_path == null) {
-                    _path = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
-                    _path.flexjs_wrapper = this;
-                    element.appendChild(_path);
-                }
-                _path.setAttribute('style', style);
-                _path.setAttribute('d', data);
-
-                resize(x, y, _path['getBBox']());
-
-            }
-        }
-
-        override protected function drawImpl():void
-        {
-            drawStringPath(0, 0, data);
-        }
-
-		public function draw():void
-		{
-			drawImpl();
-		}
-    }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Rect.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Rect.as
deleted file mode 100644
index 889f76d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Rect.as
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flex.svg
-{
-    import org.apache.flex.graphics.IDrawable;
-	import org.apache.flex.graphics.IRect;
-
-    COMPILE::SWF
-    {
-        import flash.geom.Point;
-        import flash.geom.Rectangle;            
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-
-	public class Rect extends GraphicShape implements IRect, IDrawable
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.7
-		 */
-		public function Rect(x:Number=0, y:Number=0, width:Number=0, height:Number=0,rx:Number=NaN,ry:Number=NaN)
-		{
-			this.x = x;
-			this.y = y;
-			this.width = width;
-			this.height = height;
-			this.rx = rx;
-			this.ry = ry;
-		}
-
-		COMPILE::JS
-		private var _rect:WrappedHTMLElement;
-		
-		private var _rx:Number;
-
-		/**
-		 * The x axis radius for rounded corners 
-		 * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.7
-		 */
-		public function get rx():Number
-		{
-			return _rx;
-		}
-
-		public function set rx(value:Number):void
-		{
-			_rx = value;
-		}
-
-		private var _ry:Number;
-
-		/**
-		 * The y axis radius for rounded corners 
-		 * 
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.7
-		 * 
-		 */
-		public function get ry():Number
-		{
-			return _ry;
-		}
-
-		public function set ry(value:Number):void
-		{
-			_ry = value;
-		}
-
-		/**
-		 *  Draw the rectangle.
-		 *  @param xp The x position of the top-left corner of the rectangle.
-		 *  @param yp The y position of the top-left corner.
-		 *  @param width The width of the rectangle.
-		 *  @param height The height of the rectangle.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-		 */
-		public function drawRect(xp:Number, yp:Number, width:Number, height:Number):void
-		{
-            COMPILE::SWF
-            {
-                $sprite.graphics.clear();
-                applyStroke();
-                beginFill(new Rectangle(xp, yp, width, height), new Point(xp,yp));
-                if(isNaN(rx))
-                    $sprite.graphics.drawRect(0, 0, width, height);
-                else
-                {
-                    var dx:Number = rx*2;
-                    var dy:Number = isNaN(ry) ? ry : ry*2;
-                    $sprite.graphics.drawRoundRect(0, 0, width, height,dx ,dy);
-                }
-                endFill();                    
-            }
-            COMPILE::JS
-            {
-                var style:String = this.getStyleStr();
-				
-				if (_rect == null) {
-                	_rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
-                	_rect.flexjs_wrapper = this;
-					element.appendChild(_rect);
-				}
-                _rect.setAttribute('style', style);
-                if (stroke)
-                {
-					_rect.setAttribute('x', stroke.weight / 2);
-					_rect.setAttribute('y', stroke.weight / 2);
-                }
-                else
-                {
-					_rect.setAttribute('x', 0);
-					_rect.setAttribute('y', 0);
-                }
-				_rect.setAttribute('width', width);
-				_rect.setAttribute('height', height);
-                
-                resize(x, y, _rect['getBBox']());
-            }
-		}
-		
-		COMPILE::JS
-		override public function get transformElement():WrappedHTMLElement
-		{
-			return _rect;
-		}
-
-		override protected function drawImpl():void
-		{
-			drawRect(0,0,width,height);
-		}
-
-		public function draw():void
-		{
-			drawImpl();
-		}
-		
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Text.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Text.as
deleted file mode 100644
index ba03ccf..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Text.as
+++ /dev/null
@@ -1,164 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
-    import org.apache.flex.graphics.IDrawable;
-	import org.apache.flex.graphics.IText;
-	import org.apache.flex.graphics.SolidColor;
-
-    COMPILE::SWF
-    {
-        import flash.text.TextFieldType;        
-        import org.apache.flex.core.CSSTextField;            
-    }
-    COMPILE::JS
-    {
-        import org.apache.flex.core.WrappedHTMLElement;
-    }
-	
-	/**
-	 *  Draws a string of characters at a specific location using the fill
-	 *  value of color and alpha.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-     *  // TODO (aharui) ignore imports of external linkage interfaces?
-     *  @flexjsignoreimport SVGLocatable
-	 */
-	public class Text extends GraphicShape implements IText, IDrawable
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function Text()
-		{
-			super();
-			
-            COMPILE::SWF
-            {
-                _textField = new CSSTextField();
-                $sprite.addChild(_textField);
-            }
-		}
-		
-		private var _text:String;
-		public function get text():String
-		{
-			return _text;
-		}
-		public function set text(value:String):void
-		{
-			_text = value;
-		}
-
-        COMPILE::SWF
-		private var _textField:CSSTextField;
-		
-		COMPILE::JS
-		private var _textElem:WrappedHTMLElement;
-		
-		/**
-		 *  @copy org.apache.flex.core.ITextModel#textField
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        COMPILE::SWF
-		public function get textField() : CSSTextField
-		{
-			return _textField;
-		}
-		
-		/**
-		 *  Draws text at the given point.
-		 *  @param value The string to draw.
-		 *  @param xt The x position of the top-left corner of the rectangle.
-		 *  @param yt The y position of the top-left corner.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion Text
-         *  @flexjsignorecoercion Node
-         *  @flexjsignorecoercion SVGLocatable
-		 */
-		public function drawText(value:String, xt:Number, yt:Number):void
-		{
-            COMPILE::SWF
-            {
-                textField.selectable = false;
-                textField.type = TextFieldType.DYNAMIC;
-                textField.mouseEnabled = false;
-                textField.autoSize = "left";
-                textField.text = value;
-                
-                var color:SolidColor = fill as SolidColor;
-                if (color) {
-                    textField.textColor = color.color;
-                    textField.alpha = color.alpha;
-                }
-                
-                textField.x = xt;
-                textField.y = yt;                    
-            }
-            COMPILE::JS
-            {
-                var style:String = this.getStyleStr();
-				if (_textElem == null) {
-                	_textElem = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
-                	_textElem.flexjs_wrapper = this;
-					element.appendChild(_textElem);
-				}
-				else {
-					_textElem.removeChild(_textElem.childNodes[0]);
-				}
-                _textElem.setAttribute('style', style);
-                _textElem.setAttribute('x', xt);
-                _textElem.setAttribute('y', yt);
-				var textNode:Text = document.createTextNode(value) as Text;
-				_textElem.appendChild(textNode as Node);
-                
-                resize(x, y, (_textElem as SVGLocatable).getBBox());
-
-            }
-		}
-        
-        override protected function drawImpl():void
-        {
-            drawText(text,x,y);
-        }
-
-		public function draw():void
-		{
-			drawImpl();
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/beads/ImageView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/beads/ImageView.as
deleted file mode 100644
index 8cbd789..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/beads/ImageView.as
+++ /dev/null
@@ -1,87 +0,0 @@
-
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg.beads
-{
-	import org.apache.flex.core.ImageViewBase;
-	COMPILE::JS
-		{
-			import org.apache.flex.core.UIBase;
-			import org.apache.flex.core.ValuesManager;
-		}
-	
-	/**
-	 *  The ImageView class creates the visual elements of the org.apache.flex.svg.Image component.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	public class ImageView extends ImageViewBase
-	{
-		/**
-		 *  constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function ImageView()
-		{
-		}
-		
-		COMPILE::JS
-		override protected function sizeChangedHandler(event:Object):void
-		{
-			super.sizeChangedHandler(event);
-			var host:UIBase = _strand as UIBase;
-			
-			var left:* = ValuesManager.valuesImpl.getValue(host, "left");
-			var right:* = ValuesManager.valuesImpl.getValue(host, "right");
-			var l:Number = isNaN(left) ? NaN : left;
-			var r:Number = isNaN(right) ? NaN : right;
-
-			var top:* = ValuesManager.valuesImpl.getValue(host, "top");
-			var bottom:* = ValuesManager.valuesImpl.getValue(host, "bottom");
-			var t:Number = isNaN(top) ? NaN : top;
-			var b:Number = isNaN(bottom) ? NaN : bottom;
-			
-			var p:Object = host.positioner;
-
-			if (!isNaN(l) &&
-				!isNaN(r)) {
-				// if just using size constraints and image will not shrink or grow
-				var computedWidth:Number = (host.positioner.offsetParent as HTMLElement).offsetWidth -
-					l - r;
-				p.setAttribute("width", computedWidth);
-
-			}
-			if (!isNaN(t) &&
-				!isNaN(b)) {
-				// if just using size constraints and image will not shrink or grow
-				var computedHeight:Number = (host.positioner.offsetParent as HTMLElement).offsetHeight -
-					t - b;
-				p.setAttribute("height", computedHeight);
-			}
-		}
-
-	}
-}
diff --git a/frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml b/frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml
deleted file mode 100644
index f5e8475..0000000
--- a/frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
--->
-
-
-<componentPackage>
-
-    <!-- component id="ListViewNoSelectionState" class="org.apache.flex.html.beads.ListViewNoSelectionState"/ -->
-    <!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
-    
-    <!--<component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>-->
-    <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
-    <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
-    <!--
-     <component id="HRuleView" class="org.apache.flex.html.beads.HRuleView" />
-     <component id="VRuleView" class="org.apache.flex.html.beads.VRuleView" />
-     -->
-    <!--
-    <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
-     -->
-</componentPackage>
diff --git a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
index b677d55..4a47ba4 100644
--- a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
@@ -21,140 +21,6 @@
 
 <componentPackage>
 
-    <component id="Application" class="org.apache.flex.core.Application"/>
-    <component id="View" class="org.apache.flex.core.View"/>
-    <component id="Button" class="org.apache.flex.html.Button"/>
-    <component id="CloseButton" class="org.apache.flex.html.CloseButton"/>
-    <component id="ButtonBar" class="org.apache.flex.html.ButtonBar"/>
-    <component id="DropDownList" class="org.apache.flex.html.DropDownList"/>
-    <component id="DropDownListList" class="org.apache.flex.html.supportClasses.DropDownListList"/>
-    <component id="Image" class="org.apache.flex.html.Image"/>
-    <component id="BinaryImage" class="org.apache.flex.html.BinaryImage"/>
-    <component id="Label" class="org.apache.flex.html.Label"/>
-	<component id="HTMLText" class="org.apache.flex.html.HTMLText"/>
-    <component id="MultilineLabel" class="org.apache.flex.html.MultilineLabel"/>
-    <component id="ImageAndTextButton" class="org.apache.flex.html.ImageAndTextButton"/>
-    <component id="TextButton" class="org.apache.flex.html.TextButton"/>
-    <component id="ToggleTextButton" class="org.apache.flex.html.ToggleTextButton"/>
-    <component id="TextInput" class="org.apache.flex.html.TextInput"/>
-    <component id="TextArea" class="org.apache.flex.html.TextArea"/>
-    <component id="DataContainer" class="org.apache.flex.html.DataContainer"/>
-    <component id="List" class="org.apache.flex.html.List"/>
-    <component id="SimpleList" class="org.apache.flex.html.SimpleList"/>
-    <component id="CheckBox" class="org.apache.flex.html.CheckBox"/>
-    <component id="CSSCheckBox" class="org.apache.flex.html.CSSCheckBox"/>
-    <component id="RadioButton" class="org.apache.flex.html.RadioButton"/>
-    <component id="ComboBox" class="org.apache.flex.html.ComboBox"/>
-    <component id="ComboBoxList" class="org.apache.flex.html.supportClasses.ComboBoxList"/>
-    <component id="Container" class="org.apache.flex.html.Container"/>
-    <component id="Group" class="org.apache.flex.html.Group"/>
-    <component id="Accordion" class="org.apache.flex.html.Accordion"/>
-    <component id="Form" class="org.apache.flex.html.Form"/>
-    <component id="HContainer" class="org.apache.flex.html.HContainer"/>
-    <component id="VContainer" class="org.apache.flex.html.VContainer"/>
-    <component id="Panel" class="org.apache.flex.html.Panel"/>
-    <component id="PanelView" class="org.apache.flex.html.beads.PanelView"/>
-    <component id="ImageView" class="org.apache.flex.html.beads.ImageView"/>
-    <component id="PanelWithControlBar" class="org.apache.flex.html.PanelWithControlBar"/>
-    <component id="PanelWithControlBarView" class="org.apache.flex.html.beads.PanelWithControlBarView"/>
-    <component id="ControlBar" class="org.apache.flex.html.ControlBar"/>
-    <component id="RangeStepper" class="org.apache.flex.html.RangeStepper" />
-    <component id="TitleBar" class="org.apache.flex.html.TitleBar"/>
-    <component id="ImageModel" class="org.apache.flex.html.beads.models.ImageModel"/>
-    <component id="TitleBarModel" class="org.apache.flex.html.beads.models.TitleBarModel"/>
-    <component id="ToolTip" class="org.apache.flex.html.ToolTip"/>
-    <component id="Tree" class="org.apache.flex.html.Tree"/>
-    <component id="BasicLayout" class="org.apache.flex.html.beads.layouts.BasicLayout"/>
-    <component id="VerticalLayout" class="org.apache.flex.html.beads.layouts.VerticalLayout"/>
-    <component id="VerticalFlexLayout" class="org.apache.flex.html.beads.layouts.VerticalFlexLayout"/>
-    <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"/>
-    <component id="HorizontalFlexLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlexLayout"/>
-    <component id="HorizontalFlowLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlowLayout" />
-    <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"/>
-    <component id="ListView" class="org.apache.flex.html.beads.ListView"/>
-    <component id="AccordionView" class="org.apache.flex.html.beads.AccordionView"/>
-    <component id="CenterElement" class="org.apache.flex.html.beads.CenterElement"/>
-    <!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
-    
-    <component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert"/>
-    <component id="Alert" class="org.apache.flex.html.Alert"/>
-    <component id="Spinner" class="org.apache.flex.html.Spinner"/>
-    <component id="Slider" class="org.apache.flex.html.Slider"/>
-    <component id="NumericStepper" class="org.apache.flex.html.NumericStepper" />
-    <component id="StringItemRenderer" class="org.apache.flex.html.supportClasses.StringItemRenderer"/>
-    <component id="AccordionItemRenderer" class="org.apache.flex.html.supportClasses.AccordionItemRenderer"/>
-    <component id="AccordionCollapseBead" class="org.apache.flex.html.beads.AccordionCollapseBead"/>
-    <component id="DispatchInputFinishedBead" class="org.apache.flex.html.beads.DispatchInputFinishedBead"/>
-    <component id="DispatchKeyboardEventBead" class="org.apache.flex.html.beads.DispatchKeyboardEventBead"/>
-    <component id="TreeItemRenderer" class="org.apache.flex.html.supportClasses.TreeItemRenderer"/>
-    <component id="DataItemRenderer" class="org.apache.flex.html.supportClasses.DataItemRenderer"/>
-    <component id="MXMLItemRenderer" class="org.apache.flex.html.supportClasses.MXMLItemRenderer"/>
-    <component id="DateItemRenderer" class="org.apache.flex.html.supportClasses.DateItemRenderer"/>
-    <component id="DayNameItemRenderer" class="org.apache.flex.html.supportClasses.DayNameItemRenderer"/>
-    <component id="TextButtonItemRenderer" class="org.apache.flex.html.supportClasses.TextButtonItemRenderer"/>
-    <!--
-     <component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>
-    <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
-    <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
-     <component id="HRuleView" class="org.apache.flex.html.beads.HRuleView" />
-     <component id="VRuleView" class="org.apache.flex.html.beads.VRuleView" />
-     -->
-    <component id="UnselectableElementBead" class="org.apache.flex.html.beads.UnselectableElementBead"/>
-    <component id="DisableBead" class="org.apache.flex.html.beads.DisableBead" />
-    <component id="NumericOnlyTextInputBead" class="org.apache.flex.html.accessories.NumericOnlyTextInputBead" />
-    <component id="PasswordInputBead" class="org.apache.flex.html.accessories.PasswordInputBead" />
-    <component id="TextPromptBead" class="org.apache.flex.html.accessories.TextPromptBead" />
-    <component id="HRule" class="org.apache.flex.html.HRule" />
-    <component id="VRule" class="org.apache.flex.html.VRule" />
-    <component id="Spacer" class="org.apache.flex.html.Spacer" />
-    <!--
-    <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
-     -->
-    <component id="ScrollingViewport" class="org.apache.flex.html.supportClasses.ScrollingViewport" />
-    <component id="ClippingViewport" class="org.apache.flex.html.supportClasses.ClippingViewport" />
-    
-    <component id="ArraySelectionModel" class="org.apache.flex.html.beads.models.ArraySelectionModel" />
-    <component id="ArrayListSelectionModel" class="org.apache.flex.html.beads.models.ArrayListSelectionModel" />
-
-    <component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
-    <component id="DataProviderChangeNotifier" class="org.apache.flex.html.beads.DataProviderChangeNotifier"/>
-    <component id="DataProviderCollectionChangeNotifier" class="org.apache.flex.html.beads.DataProviderCollectionChangeNotifier"/>
-    <component id="DataProviderItemsChangeNotifier" class="org.apache.flex.html.beads.DataProviderItemsChangeNotifier"/>
-    <component id="DataGridButtonBar" class="org.apache.flex.html.DataGridButtonBar"/>
-    <component id="DataGridButtonBarTextButton" class="org.apache.flex.html.DataGridButtonBarTextButton"/>
-    <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
-    <component id="DataGridLinesBead" class="org.apache.flex.html.beads.DataGridLinesBead"/>
-    <component id="DataGridColumnList" class="org.apache.flex.html.supportClasses.DataGridColumnList"/>
-    <component id="DataGridPercentageView" class="org.apache.flex.html.beads.DataGridPercentageView" />
-    
-    <component id="DataItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayData" />
-    <component id="DataItemRendererFactoryForArrayList" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayList" />
-    <component id="DataItemRendererFactoryForHierarchicalData" class="org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData" />
-    <component id="TextItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.TextItemRendererFactoryForArrayData" />
-    <component id="TextItemRendererFactoryForStringVectorData" class="org.apache.flex.html.beads.TextItemRendererFactoryForStringVectorData" />
-
-    <component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
-    <component id="DateChooserList" class="org.apache.flex.html.supportClasses.DateChooserList" />
-    <component id="DateChooserHeader" class="org.apache.flex.html.supportClasses.DateChooserHeader" />
-    <component id="DateField" class="org.apache.flex.html.DateField"/>
-    <component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
-
-    <component id="ToolTipBead" class="org.apache.flex.html.accessories.ToolTipBead" />
-
-    <component id="LayoutChangeNotifier" class="org.apache.flex.html.beads.layouts.LayoutChangeNotifier"/>
-    <component id="LayoutOnShow" class="org.apache.flex.html.beads.layouts.LayoutOnShow"/>
-    <component id="ImageButton" class="org.apache.flex.html.ImageButton"/>
-    <component id="FlexibleFirstChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout"/>
-    <component id="OneFlexibleChildVerticalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout"/>
-    <component id="OneFlexibleChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout"/>
-    <component id="MXMLBeadView" class="org.apache.flex.html.MXMLBeadView"/>
-    
-    <component id="SubAppLoader" class="org.apache.flex.html.SubAppLoader" />
-
-    <component id="Border" class="org.apache.flex.html.supportClasses.Border"/>
-    
-    <component id="WebBrowser" class="org.apache.flex.html.WebBrowser" />
-
     <component id="A" class="org.apache.flex.html.A" />
     <component id="H1" class="org.apache.flex.html.H1" />
     <component id="H2" class="org.apache.flex.html.H2" />
@@ -174,10 +40,6 @@
 
     <component id="InnerHTML" class="org.apache.flex.html.beads.InnerHTML" />
     <component id="TextNode" class="org.apache.flex.html.TextNode" />
-    
-    <component id="Table" class="org.apache.flex.html.Table"/>
-    <component id="TableRow" class="org.apache.flex.html.TableRow"/>
-    <component id="TableCell" class="org.apache.flex.html.TableCell"/>
-    <component id="TableHeader" class="org.apache.flex.html.TableHeader"/>
+    <component id="HTMLText" class="org.apache.flex.html.HTMLText"/>
 
 </componentPackage>
diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css b/frameworks/projects/HTML/src/main/resources/defaults.css
index 43f352b..8cf8313 100644
--- a/frameworks/projects/HTML/src/main/resources/defaults.css
+++ b/frameworks/projects/HTML/src/main/resources/defaults.css
@@ -18,889 +18,4 @@
 */
 
 @namespace "library://ns.apache.org/flexjs/basic";
-@namespace svg "library://ns.apache.org/flexjs/svg";
-
-/* Global style declaration */
-*
-{
-	font-family: "Arial";
-	font-size: 12px;
-	border-width: 1px;
-}
-
-.flexjs *, . flexjs *:before, . flexjs *:after {
-	-moz-box-sizing: border-box;
-	-webkit-box-sizing: border-box;
-	box-sizing: border-box;
-}
-
-.unselectable
-{
-	-moz-user-select: -moz-none;
-	-khtml-user-select: none;
-	-webkit-user-select: none;
-	-o-user-select: none;
-	user-select: none;
-}
-
-Alert
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
-	
-	background-color: #FFFFFF;
-	border-style: solid;
-	border-color: #000000;
-	border-width: 1px;
-}
-
-
-Application
-{
-	padding: 0px;
-	margin: 0px;
-}
-
-Button
-{
-	background-color: #f8f8f8;
-	border: 1px solid #808080;
-	border-radius: 2px;
-	padding: 4px;
-	margin: 0px;
-}
-
-Button:hover
-{
-	background-color: #e8e8e8;
-	border: 1px solid #808080;
-	padding: 4px;
-}
-
-Button:active
-{
-	background-color: #d8d8d8;
-	border: 1px solid #808080;
-	padding: 4px;
-}
-
-ButtonBar
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ButtonBarView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
-	
-	border-style: none;
-}
-
-ComboBox
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
-	IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
-	IPopUp: ClassReference("org.apache.flex.html.supportClasses.ComboBoxList");
-}
-
-ComboBoxList
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-	border-style: solid;
-	border-radius: 4px;
-	border-color: #000000;
-	border-width: 1px;
-	background-color: #FFFFFF;
-}
-
-.ComboBoxButton {
-	padding: 0px;
-	margin: 0px;
-}
-
-Container
-{
-	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-}
-
-ControlBar
-{
-	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");
-	
-	padding: 2px;
-	background-color: #E2E2E2;
-	border-top: solid 1px #333333;
-	height: 30px;
-}
-
-DataContainer
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataProviderModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.DataContainerView");			
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-	border-style: solid;
-	border-color: #222222;
-}
-
-/* ASJS */
-DataGrid
-{
-	IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
-	IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
-	
-	background-color: #FFFFFF;
-	border-style: solid;
-	border-color: #222222;
-	border-width: 1px;
-}
-
-DataGridButtonBar
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ButtonBarView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
-	
-	border-style: none;
-}
-
-DataGridColumnList {
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayList");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-	border-style: none;
-	background-color: #FFFFFF;
-}
-
-.DataGridListArea {
-	background-color: #FFFFFF;
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-}
-
-/* DateChooser */
-
-DateChooser {
-	IBeadView:   ClassReference("org.apache.flex.html.beads.DateChooserView");
-	IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");			
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");	
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
-	width:  280px;
-	height: 240px;
-}
-
-DateChooserList {
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DateItemRenderer");		
-	border-style: solid;
-	border-color: #000000;
-	border-width: 1px;
-	background-color: #FFFFFF;
-}
-
-DateChooserHeader {	
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");
-	height: 20px;
-	border-style: solid;
-	border-color: #000000;
-	border-width: 1px;
-	background-color: #FFFFFF;
-}
-
-.DateChooserMonthButtons {				
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");	
-	height: 20px;
-}
-
-DateItemRenderer
-{
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-	text-align: center;
-	flex-shrink: 0;
-	flex-grow: 1;
-}
-
-DayNameItemRenderer
-{
-	text-align: center;
-	flex-shrink: 0;
-	flex-grow: 1;
-}
-
-/* DateField */
-
-DateField {
-	IBeadView:   ClassReference("org.apache.flex.html.beads.DateFieldView");
-	IBeadModel:  ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateFieldMouseController");
-	IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatYYYYMMDDBead");
-}
-
-/* RangeStepper */
-
-RangeStepper {
-	IBeadView: ClassReference("org.apache.flex.html.beads.RangeStepperView");
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModelExtended");
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.RangeStepperMouseController");
-}
-
-Form {
-	
-}
-
-Group {
-	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
-}
-
-HContainer
-{
-	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
-	white-space: nowrap;
-}
-
-Image
-{
-	vertical-align: top;
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ImageView");
-}
-
-BinaryImage
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.BinaryImageModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ImageView");
-	IBinaryImageLoader:  ClassReference("org.apache.flex.html.beads.BinaryImageLoader");
-}
-
-ImageAndTextButton
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
-}
-
-ImageButton
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
-	border-style: none;
-}
-
-ImageButton:hover
-{
-	border-style: none;
-}
-
-ImageButton:active
-{
-	border-style: none;
-}
-
-VContainer
-{
-	IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-}
-
-List
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-	border-style: solid;
-	border-color: #222222;
-	background-color: #FFFFFF;
-}
-
-Accordion
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.AccordionView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.AccordionItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.ClippingViewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-	IAccordionCollapseBead: ClassReference("org.apache.flex.html.beads.AccordionCollapseBead");
-	border-style: solid;
-	border-color: #222222;
-}
-
-Tree
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArrayListSelectionModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");			
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TreeItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-	border-style: solid;
-	border-color: #222222;
-}
-
-NumericStepper
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
-}
-
-Panel
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
-	IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
-	IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
-	
-	background-color: #FFFFFF;
-	border: solid 1px #333333
-}
-
-PanelWithControlBar
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
-	IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
-	IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
-	
-	background-color: #FFFFFF;
-	border: solid 1px #333333;
-}
-
-Panel .TitleBar
-{
-	border-bottom: solid 1px #333333;
-}
-
-SimpleList
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.ListView");
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-	IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-	IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-	IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
-	IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-}
-
-Slider
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
-	iBeadView:  ClassReference("org.apache.flex.html.beads.SliderView");
-	iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
-}
-
-Spinner
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
-	IBeadView:  ClassReference("org.apache.flex.html.beads.SpinnerView");
-}
-
-
-StringItemRenderer
-{
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-	height: 24;
-	flex-shrink: 0;
-	flex-grow: 1;
-}
-
-AccordionItemRenderer
-{
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController");
-	IBeadView: ClassReference("org.apache.flex.html.beads.AccordionItemRendererView");
-	flex-shrink: 0;
-	flex-grow: 1;
-}
-
-Table
-{
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.SimpleTableLayout");
-}
-
-TableHeader
-{
-	font-weight: bold;
-	border: 1px solid #999999;
-}
-
-TableCell
-{
-	border: 1px solid #999999;
-}
-
-TreeItemRenderer
-{
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-	height: 24;
-	flex-shrink: 0;
-	flex-grow: 1;
-}
-
-TextInput
-{
-	border: 1px solid #808080;
-	border-radius: 2px;
-	padding: 4px;
-	margin: 0px;
-}
-
-TextArea
-{
-	border: 1px solid #808080;
-	border-radius: 2px;
-	padding: 4px;
-	resize: none;
-}
-
-TitleBar
-{
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
-	IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
-	iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
-	background-color: #E2E2E2;
-	padding: 2px;
-	height: 30px;
-	flex-grow: 0;
-	min-height: 30px;
-}
-
-TitleBar .TitleBarCloseButton {
-	width: 16px;
-	height: 16px;
-	margin: 0px;
-}
-
-TitleBar .TitleBarTitle {
-	font-weight: bold;
-	padding: 0;
-	margin: 0;
-}
-
-.toggleTextButton
-{
-	background-color: #f8f8f8;
-	border: 1px solid #808080;
-	padding: 4px;
-}
-
-.toggleTextButton:hover
-{
-	background-color: #e8e8e8;
-	border: 1px solid #808080;
-	padding: 4px;
-}
-
-.toggleTextButton_Selected
-{
-	background-color: #d8d8d8;
-	border: 1px solid #808080;
-	padding: 4px;
-}
-
-.toggleTextButton_Selected:hover
-{
-	background-color: #e8e8e8;
-	border: 1px solid #808080;
-	padding: 4px;
-}
-
-ToolTip
-{
-	background-color: #FFFFCC;
-}
-
-View
-{
-	IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
-	IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
-}
-
-WebBrowser
-{
-	IBeadView: ClassReference("org.apache.flex.html.beads.WebBrowserView");
-	IBeadModel: ClassReference("org.apache.flex.html.beads.models.WebBrowserModel");
-}
-
-
-/* Global Style Declaration */
-global
-{
-	IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
-	IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
-	effectTimerInterval: 10;
-}
-
-@media -flex-flash
-{
-	Accordion {
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-	}
-	
-	Alert
-	{
-		IBeadView:  ClassReference("org.apache.flex.html.beads.AlertView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-	}
-	
-	Border
-	{
-		border-color: inherit;
-		border-style: inherit;
-		border-radius: inherit;
-		border-width: inherit;
-		border: inherit;
-	}
-	
-	Button
-	{
-		IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
-	}
-	
-	ButtonBar
-	{
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-	}
-	
-	CheckBox
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
-		IBeadView:  ClassReference("org.apache.flex.html.beads.CheckBoxView");			
-	}
-	
-	CSSCheckBox
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
-		IBeadView:  ClassReference("org.apache.flex.html.beads.CheckBoxView");			
-	}
-	
-	CloseButton
-	{
-		IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
-	}
-	
-	Container
-	{
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
-	}
-	
-	ControlBar
-	{
-		IMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");  
-		border: solid 1px #333333;
-	}
-	
-	ComboBoxList {
-		IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-	}
-	
-	DataContainer {
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-	}
-	
-	DataGridButtonBar {
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-	}
-	
-	DateChooserList {
-		iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead"); 
-	}
-	
-	DateChooserHeader {
-		padding-top: 0px;
-		padding-bottom: 5px;
-		iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");   
-	}
-	
-	DateItemRenderer {
-		margin: 0px;
-		padding: 5px;
-	}
-	
-	DropDownList
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
-		IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
-	}
-	
-	DropDownListList
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
-		IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
-		IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
-		IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-		iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-		border-style: solid;
-		border-radius: 4px;
-		border-color: #333333;
-		border-width: 1px;
-		background-color: #FFFFFF;
-	}
-	
-	Group
-	{
-		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-	}
-	
-	HRule
-	{
-		IBeadView:  ClassReference("org.apache.flex.html.beads.HRuleView");
-	}
-	
-	ImageButton
-	{
-		IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
-	}
-	
-	ImageAndTextButton
-	{
-		IBeadView: ClassReference("org.apache.flex.html.beads.CSSImageAndTextButtonView");
-	}
-	
-	Label
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
-		iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
-	}
-	
-	List
-	{
-		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-		iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-	}
-	
-	MultilineLabel
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
-	}
-	
-	NumericStepper
-	{
-		IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
-		
-		padding: 0px;
-		border-style: solid;
-		border-color: #000000;
-		border-width: 1px;
-		background-color: #FFFFFF;
-		iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-		iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-	}
-	
-	Panel
-	{
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");    
-	}
-	
-	PanelWithControlBar
-	{
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-	}
-	
-	RadioButton
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
-		IBeadView:  ClassReference("org.apache.flex.html.beads.RadioButtonView");			
-	}
-	
-	VScrollBar
-	{
-		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.VScrollBarView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
-	}
-	
-	HScrollBar
-	{
-		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HScrollBarLayout");
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.HScrollBarView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.HScrollBarMouseController");
-	}
-	
-	SimpleAlert
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
-		IBeadView:  ClassReference("org.apache.flex.html.beads.SimpleAlertView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
-		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		
-		background-color: #FFFFFF;
-		border-style: solid;
-		border-color: #000000;
-		border-width: 1px;
-	}
-	
-	Slider
-	{
-		iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
-		iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
-	}
-	
-	Spinner
-	{
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
-	}
-	
-	Table
-	{
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-	}
-	
-	TableCell
-	{
-		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableCellLayout");
-		IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
-	}
-	
-	TableHeader
-	{
-		IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableHeaderLayout");
-		IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
-	}
-	
-	TextArea
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
-		IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-		IBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-		border-style: solid;
-		border-color: #000000;
-		border-width: 1px;
-		background-color: #FFFFFF;
-	}
-	
-	TextButton
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
-		iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
-	}
-	
-	Tree {
-		IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
-	}
-	
-	/*
-	TextFieldItemRenderer
-	{
-	IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-	height: 16;
-	}
-	*/
-	
-	TextInput
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
-		IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
-		IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
-		IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-		border-style: solid;
-		border-color: #000000;
-		border-width: 1px;
-		background-color: #FFFFFF;
-	}
-	
-	TitleBar
-	{
-		IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-		IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		border: solid 1px #333333;
-	}
-	
-	ToggleTextButton
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
-		IBeadView:  ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
-	}
-	
-	View
-	{
-		iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-		iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-	}
-	
-	VRule
-	{
-		IBeadView:  ClassReference("org.apache.flex.html.beads.VRuleView");
-	}
-	
-	/* SVG */
-	
-	svg|TextButton
-	{
-		IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
-		IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
-		iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
-	}
-	
-}
+@namespace svg "library://ns.apache.org/flexjs/svg";
\ No newline at end of file
diff --git a/frameworks/projects/HTML/src/test/flex/build.xml b/frameworks/projects/HTML/src/test/flex/build.xml
index 2b6e1af..35b58e6 100644
--- a/frameworks/projects/HTML/src/test/flex/build.xml
+++ b/frameworks/projects/HTML/src/test/flex/build.xml
@@ -88,7 +88,7 @@
     </target>
     
     <path id="lib.path">
-      <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+      <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
     </path>
 
     <target name="compile" description="Compiles FlexUnitApplication.swf">
diff --git a/frameworks/projects/HTML5/build.xml b/frameworks/projects/HTML5/build.xml
index d5d373e..f974792 100644
--- a/frameworks/projects/HTML5/build.xml
+++ b/frameworks/projects/HTML5/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+
 </project>
diff --git a/frameworks/projects/HTML5/pom.xml b/frameworks/projects/HTML5/pom.xml
index d6bfecf..537c27e 100644
--- a/frameworks/projects/HTML5/pom.xml
+++ b/frameworks/projects/HTML5/pom.xml
@@ -56,6 +56,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -73,20 +74,20 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/HTML5/src/main/config/compile-as-config.xml b/frameworks/projects/HTML5/src/main/config/compile-swf-config.xml
similarity index 87%
rename from frameworks/projects/HTML5/src/main/config/compile-as-config.xml
rename to frameworks/projects/HTML5/src/main/config/compile-swf-config.xml
index 959b649..025fba2 100644
--- a/frameworks/projects/HTML5/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/HTML5/src/main/config/compile-swf-config.xml
@@ -24,9 +24,10 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -34,6 +35,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/JQuery/build.xml b/frameworks/projects/JQuery/build.xml
index 0ca87ba..bfe74c1 100644
--- a/frameworks/projects/JQuery/build.xml
+++ b/frameworks/projects/JQuery/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/jquery-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/JQuery/pom.xml b/frameworks/projects/JQuery/pom.xml
index 414c049..b89868c 100644
--- a/frameworks/projects/JQuery/pom.xml
+++ b/frameworks/projects/JQuery/pom.xml
@@ -56,6 +56,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -73,20 +74,20 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
 
     <dependency>
diff --git a/frameworks/projects/JQuery/src/main/config/compile-as-config.xml b/frameworks/projects/JQuery/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/JQuery/src/main/config/compile-as-config.xml
rename to frameworks/projects/JQuery/src/main/config/compile-swf-config.xml
index 0181e50..af21589 100644
--- a/frameworks/projects/JQuery/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/JQuery/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
         <external-library-path>
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
 		<mxml>
@@ -34,6 +34,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Language/build.xml b/frameworks/projects/Language/build.xml
index 124bc41..6a8fce9 100644
--- a/frameworks/projects/Language/build.xml
+++ b/frameworks/projects/Language/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+
 </project>
diff --git a/frameworks/projects/Language/pom.xml b/frameworks/projects/Language/pom.xml
index 6b1ff3d..763821c 100644
--- a/frameworks/projects/Language/pom.xml
+++ b/frameworks/projects/Language/pom.xml
@@ -44,7 +44,7 @@
           <includeClasses>
             <includeClass>LanguageClasses</includeClass>
           </includeClasses>
-          <skipExtern>false</skipExtern>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
diff --git a/frameworks/projects/Language/src/main/config/compile-as-config.xml b/frameworks/projects/Language/src/main/config/compile-swf-config.xml
similarity index 90%
rename from frameworks/projects/Language/src/main/config/compile-as-config.xml
rename to frameworks/projects/Language/src/main/config/compile-swf-config.xml
index b526902..08ce99e 100644
--- a/frameworks/projects/Language/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Language/src/main/config/compile-swf-config.xml
@@ -32,6 +32,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/MaterialDesignLite/build.xml b/frameworks/projects/MaterialDesignLite/build.xml
index b61453d..c7fd6ea 100644
--- a/frameworks/projects/MaterialDesignLite/build.xml
+++ b/frameworks/projects/MaterialDesignLite/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/MaterialDesignLite/pom.xml b/frameworks/projects/MaterialDesignLite/pom.xml
index ca2ca23..10a531a 100644
--- a/frameworks/projects/MaterialDesignLite/pom.xml
+++ b/frameworks/projects/MaterialDesignLite/pom.xml
@@ -62,6 +62,7 @@
             </include-file>
           </includeFiles>
           <includeLookupOnly>true</includeLookupOnly>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -79,7 +80,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -92,7 +93,7 @@
       <artifactId>Binding</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -105,7 +106,7 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -118,7 +119,20 @@
       <artifactId>Collections</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Basic</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -131,7 +145,7 @@
       <artifactId>HTML</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/MaterialDesignLite/src/main/config/compile-as-config.xml b/frameworks/projects/MaterialDesignLite/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/MaterialDesignLite/src/main/config/compile-as-config.xml
rename to frameworks/projects/MaterialDesignLite/src/main/config/compile-swf-config.xml
index 96d4699..c67a914 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/MaterialDesignLite/src/main/config/compile-swf-config.xml
@@ -28,8 +28,10 @@
             <path-element>../../../../../libs/Graphics.swc</path-element>
             <path-element>../../../../../libs/Collections.swc</path-element>
             <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -37,6 +39,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
index 8de4e17..f07a048 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
@@ -255,6 +255,26 @@
         }
 	}
     
+    /**
+     *  Dispatched when the user clicks on RadioButton.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.8
+     */
+    [Event(name="click", type="org.apache.flex.events.MouseEvent")]
+    
+    /**
+     *  Dispatched when RadioButton is being selected/unselected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.8
+     */
+    [Event(name="change", type="org.apache.flex.events.Event")]
+    
     COMPILE::JS
     public class RadioButton extends UIBase
     {
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as
index db98e2a..2020516 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as
@@ -150,11 +150,11 @@
 				var model:Object = UIBase(_strand).model;
 				
 				if (model.text != null && model.text.length > 0 ) {
-					if (promptAdded) UIBase(_strand).$displayObjectContainer.removeChild(promptField);
+					if (promptAdded) UIBase(_strand).removeChild(promptField);
 					promptAdded = false;
 				}
 				else {
-					if (!promptAdded) UIBase(_strand).$displayObjectContainer.addChild(promptField);
+					if (!promptAdded) UIBase(_strand).addChild(promptField);
 					promptField.text = prompt;
 					promptAdded = true;
 				}
diff --git a/frameworks/projects/Mobile/build.xml b/frameworks/projects/Mobile/build.xml
index 41da261..5a0c97e 100644
--- a/frameworks/projects/Mobile/build.xml
+++ b/frameworks/projects/Mobile/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Mobile/pom.xml b/frameworks/projects/Mobile/pom.xml
index d11f863..cc1fc10 100644
--- a/frameworks/projects/Mobile/pom.xml
+++ b/frameworks/projects/Mobile/pom.xml
@@ -60,6 +60,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -77,7 +78,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -90,20 +91,20 @@
       <artifactId>Graphics</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>HTML</artifactId>
+      <artifactId>Basic</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Mobile/src/main/config/compile-as-config.xml b/frameworks/projects/Mobile/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Mobile/src/main/config/compile-as-config.xml
rename to frameworks/projects/Mobile/src/main/config/compile-swf-config.xml
index 4b20628..4a690af 100644
--- a/frameworks/projects/Mobile/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Mobile/src/main/config/compile-swf-config.xml
@@ -25,9 +25,10 @@
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
             <path-element>../../../../../libs/Core.swc</path-element>
             <path-element>../../../../../libs/Graphics.swc</path-element>
-            <path-element>../../../../../libs/HTML.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -35,6 +36,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as
index 69d2fa1..8adf787 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as
@@ -40,6 +40,19 @@
     }
     
 	[Mixin]
+	/**
+	 * The Camera class implements the Cordova Camera
+	 * 
+	 * @langversion 3.0
+	 * @playerversion Flash 10.2
+	 * @playerversion AIR 2.6
+	 * @productversion FlexJS 0.0
+	 * @flexjscordovaplugin cordova-plugin-camera
+	 * @flexjsignorecoercion FileEntry
+	 * @flexjsignorecoercion FileWriter
+	 * @flexjsignorecoercion window
+     * @flexjsignorecoercion Blob
+	 */
 	public class Camera
 	{
 		public static var DestinationType:Object = {
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as
index c193413..97e99eb 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as
@@ -23,6 +23,19 @@
 	 */
 
 	[Mixin]
+	/**
+	 * The Geolocation class implements Cordova geolocation plugin
+	 * 
+	 * @langversion 3.0
+	 * @playerversion Flash 10.2
+	 * @playerversion AIR 2.6
+	 * @productversion FlexJS 0.0
+	 * @flexjscordovaplugin cordova-plugin-geolocation
+	 * @flexjsignorecoercion FileEntry
+	 * @flexjsignorecoercion FileWriter
+	 * @flexjsignorecoercion window
+     * @flexjsignorecoercion Blob
+	 */
 	public class Geolocation
 	{
 		/**
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as
index 0200e72..dca8bff 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as
@@ -45,18 +45,11 @@
 			_title = value;
 		}
 		
-		COMPILE::SWF
 		override public function toString():String
 		{
 			return _title;
 		}
 		
-		COMPILE::JS
-		public function toString():String
-		{
-			return _title;
-		}
-		
 		private var _viewManager:IViewManager;
 		public function get viewManager():IViewManager
 		{
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as
index 549891d..6e108fb 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as
@@ -74,21 +74,11 @@
 			ViewManagerModel(model).title = value;
 		}
 		
-		COMPILE::SWF
 		override public function toString():String
 		{
 			return ViewManagerModel(model).title;
 		}
-		
-		/**
-		 * @private
-		 */
-		COMPILE::JS
-		public function toString():String
-		{
-			return ViewManagerModel(model).title;
-		}
-		
+				
 		/**
 		 * True if this view manager instance is displaying a NavigationBar.
 		 *  
diff --git a/frameworks/projects/Network/build.xml b/frameworks/projects/Network/build.xml
index cf45775..f466efd 100644
--- a/frameworks/projects/Network/build.xml
+++ b/frameworks/projects/Network/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Network/pom.xml b/frameworks/projects/Network/pom.xml
index b13cf88..e24d448 100644
--- a/frameworks/projects/Network/pom.xml
+++ b/frameworks/projects/Network/pom.xml
@@ -50,6 +50,7 @@
           <includeClasses>
             <includeClass>NetworkClasses</includeClass>
           </includeClasses>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -67,7 +68,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Network/src/main/config/compile-as-config.xml b/frameworks/projects/Network/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Network/src/main/config/compile-as-config.xml
rename to frameworks/projects/Network/src/main/config/compile-swf-config.xml
index 591d4c8..b363b52 100644
--- a/frameworks/projects/Network/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Network/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Reflection/build.xml b/frameworks/projects/Reflection/build.xml
index d2b78ca..d74f72c 100644
--- a/frameworks/projects/Reflection/build.xml
+++ b/frameworks/projects/Reflection/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Reflection/pom.xml b/frameworks/projects/Reflection/pom.xml
index ab9db5a..450ef76 100644
--- a/frameworks/projects/Reflection/pom.xml
+++ b/frameworks/projects/Reflection/pom.xml
@@ -42,6 +42,7 @@
         <extensions>true</extensions>
         <configuration>
           <includeSources>true</includeSources>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -59,7 +60,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/Reflection/src/main/config/compile-as-config.xml b/frameworks/projects/Reflection/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Reflection/src/main/config/compile-as-config.xml
rename to frameworks/projects/Reflection/src/main/config/compile-swf-config.xml
index 6b65d4e..c9f4c6e 100644
--- a/frameworks/projects/Reflection/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Reflection/src/main/config/compile-swf-config.xml
@@ -33,6 +33,16 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Storage/build.xml b/frameworks/projects/Storage/build.xml
index 6f079bf..cc75f2c 100644
--- a/frameworks/projects/Storage/build.xml
+++ b/frameworks/projects/Storage/build.xml
@@ -74,22 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
     
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -113,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
     
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+    
 </project>
diff --git a/frameworks/projects/Storage/pom.xml b/frameworks/projects/Storage/pom.xml
index 0d49303..2448d9d 100644
--- a/frameworks/projects/Storage/pom.xml
+++ b/frameworks/projects/Storage/pom.xml
@@ -56,6 +56,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -73,7 +74,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
 
     <dependency>
diff --git a/frameworks/projects/Storage/src/main/config/compile-as-config.xml b/frameworks/projects/Storage/src/main/config/compile-swf-config.xml
similarity index 92%
rename from frameworks/projects/Storage/src/main/config/compile-as-config.xml
rename to frameworks/projects/Storage/src/main/config/compile-swf-config.xml
index 60a81a1..5da30fa 100644
--- a/frameworks/projects/Storage/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Storage/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as b/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as
index 00244fa..99234de 100644
--- a/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as
+++ b/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as
@@ -34,6 +34,7 @@
 	 * @playerversion Flash 10.2
 	 * @playerversion AIR 2.6
 	 * @productversion FlexJS 0.0
+	 * @flexjscordovaplugin cordova-plugin-file
 	 * @flexjsignorecoercion FileEntry
 	 * @flexjsignorecoercion FileWriter
 	 * @flexjsignorecoercion window
diff --git a/frameworks/projects/XML/build.xml b/frameworks/projects/XML/build.xml
index 7dc535c..4550660 100644
--- a/frameworks/projects/XML/build.xml
+++ b/frameworks/projects/XML/build.xml
@@ -74,21 +74,28 @@
         <echo message="Compiling libs/${ant.project.name}.swc"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
 
-        <compc fork="true"
-            output="${basedir}/target/${target.name}">
-            <jvmarg line="${compc.jvm.args}"/>
-            <load-config filename="${basedir}/src/main/config/compile-as-config.xml" />
+        <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+            <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="+flexlib=${FLEX_HOME}/frameworks" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
             <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
-            <arg value="-define=COMPILE::SWF,true" />
-            <arg value="-define=COMPILE::JS,false" />
-        </compc>
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSFlex" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
     </target>
 
-    <target name="check-compiler" depends="check-falcon-home">
+    <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
         <path id="lib.path">
-            <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+            <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
         </path>
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
     </target>
@@ -112,4 +119,23 @@
         unless="FALCON_HOME"/>
     </target>
 
+    <target name="check-falconjx-home" unless="FALCONJX_HOME"
+        description="Check FALCON_HOME is a directory.">
+        
+        <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+        
+        <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${env.FALCONJX_HOME}"/>
+        
+        <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+        type="file"
+        property="FALCONJX_HOME"
+        value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+        
+        <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+        unless="FALCONJX_HOME"/>
+    </target>
+
 </project>
diff --git a/frameworks/projects/XML/pom.xml b/frameworks/projects/XML/pom.xml
index 90e30d1..90883e7 100644
--- a/frameworks/projects/XML/pom.xml
+++ b/frameworks/projects/XML/pom.xml
@@ -48,6 +48,7 @@
             </namespace>
           </namespaces>
           <includeSources>true</includeSources>
+          <skipExtern>true</skipExtern>
         </configuration>
       </plugin>
     </plugins>
@@ -65,7 +66,7 @@
       <artifactId>Core</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
@@ -78,7 +79,7 @@
       <artifactId>Language</artifactId>
       <version>0.8.0-SNAPSHOT</version>
       <type>swc</type>
-      <classifier>typedefs</classifier>
+      <classifier>js</classifier>
     </dependency>
   </dependencies>
 
diff --git a/frameworks/projects/XML/src/main/config/compile-as-config.xml b/frameworks/projects/XML/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/XML/src/main/config/compile-as-config.xml
rename to frameworks/projects/XML/src/main/config/compile-swf-config.xml
index 07cf4e8..59f040e 100644
--- a/frameworks/projects/XML/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/XML/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
 		<binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
 		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
 
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
         <keep-as3-metadata>
           <name>Bindable</name>
           <name>Managed</name>
diff --git a/frameworks/projects/pom.xml b/frameworks/projects/pom.xml
index 66e9019..2d4e6b4 100644
--- a/frameworks/projects/pom.xml
+++ b/frameworks/projects/pom.xml
@@ -37,6 +37,7 @@
     <module>Charts</module>
     <module>Collections</module>
     <module>Core</module>
+    <module>Basic</module>
     <module>CreateJS</module>
     <module>DragDrop</module>
     <module>Effects</module>
@@ -46,7 +47,6 @@
     <module>FontAwesome</module>
     <module>GoogleMaps</module>
     <module>Graphics</module>
-    <!--<module>Basic</module>-->
     <module>HTML</module>
     <module>HTML5</module>
     <module>JQuery</module>
diff --git a/manualtests/build.xml b/manualtests/build.xml
index ad8350c..fc658f3 100644
--- a/manualtests/build.xml
+++ b/manualtests/build.xml
@@ -104,6 +104,7 @@
     
     <target name="clean" description="Cleans all SWCs and their resource bundles">
         <ant dir="${basedir}/ContainerTest" target="clean"/>
+        <ant dir="${basedir}/DataBindingTestbed" target="clean"/>
         <ant dir="${basedir}/DateChooserExample" target="clean"/>
         <ant dir="${basedir}/EffectsExample" target="clean"/>
         <ant dir="${basedir}/FlexJSTest_basic" target="clean"/>
diff --git a/mustella/tests/basicTests/BasicTestsApp.mxml b/mustella/tests/basicTests/BasicTestsApp.mxml
index 6d2635e..805b535 100644
--- a/mustella/tests/basicTests/BasicTestsApp.mxml
+++ b/mustella/tests/basicTests/BasicTestsApp.mxml
@@ -22,25 +22,7 @@
                    xmlns:js="library://ns.apache.org/flexjs/basic" 
                    xmlns:models="models.*" 
                    xmlns:controllers="controllers.*"
-                   applicationComplete="forwardEvent(event)" >
-    <fx:Script>
-	  <![CDATA[
-	    import org.apache.flex.core.WrappedMovieClip;
-	    
-	    private var r:WrappedMovieClip;
-	    override public function setRoot(r:WrappedMovieClip):void
-	    {
-	      this.r = r;
-	      r["info"]().app = this;
-	      super.setRoot(r);
-	    }
-	    
-	    private function forwardEvent(e:Event):void
-	    {
-	    	r.dispatchEvent(e);
-	    }
-	  ]]>
-    </fx:Script>
+                   >
     <js:valuesImpl>
         <js:SimpleCSSValuesImpl />
     </js:valuesImpl>
diff --git a/mustella/tests/basicTests/DispatchMouseClickEvent.as b/mustella/tests/basicTests/DispatchMouseClickEvent.as
deleted file mode 100644
index 7b5eba0..0000000
--- a/mustella/tests/basicTests/DispatchMouseClickEvent.as
+++ /dev/null
@@ -1,300 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package {
-
-import flash.display.DisplayObject;
-import flash.display.DisplayObjectContainer;
-import flash.display.InteractiveObject;
-import flash.events.MouseEvent;
-import flash.geom.Point;
-import flash.text.TextField;
-
-import mx.core.mx_internal;
-use namespace mx_internal;
-
-/**
- *  The test step that fakes a mouse event
- *  MXML attributes:
- *  target
- *  type
- *  ctrlKey (optional)
- *  delta (optional)
- *  localX
- *  localY
- *  relatedObject (optional)
- *  shiftKey (optional)
- *  stageX
- *  stageY
- *  waitTarget (optional)
- *  waitEvent (optional)
- *  timeout (optional);
- */
-public class DispatchMouseClickEvent extends TestStep
-{
-
-	private static var mouseX:QName = new QName(mx_internal, "_mouseX");
-	private static var mouseY:QName = new QName(mx_internal, "_mouseY");
-
-	/**
-	 *  @private
-	 */
-	override public function execute(root:DisplayObject, context:UnitTester, testCase:TestCase, testResult:TestResult):Boolean
-	{
-		if (waitEvent && waitTarget == null)
-			waitTarget = target;
-		return super.execute(root, context, testCase, testResult);
-	}
-
-	/**
-	 *  Set the target's property to the specified value
-	 */
-	override protected function doStep():void
-	{
-		UnitTester.blockFocusEvents = false;
-
-		var actualTarget:Object = context.stringToObject(target);
-		if (!(actualTarget is DisplayObject))
-		    if ("element" in actualTarget)
-			    actualTarget = actualTarget["element"];
-		if (!actualTarget)
-		{
-			testResult.doFail("Target " + target + " not found");
-			UnitTester.blockFocusEvents = true;
-			return;
-		}
-		dispatchMouseEvent(actualTarget, "mouseDown");
-		dispatchMouseEvent(actualTarget, "mouseUp");
-		dispatchMouseEvent(actualTarget, "click");
-
-		UnitTester.blockFocusEvents = true;
-
-	}
-
-	private function dispatchMouseEvent(actualTarget:Object, type:String):void
-	{
-		var event:MouseEvent = new MouseEvent(type, true); // all mouse events bubble
-		event.ctrlKey = ctrlKey;
-		event.shiftKey = shiftKey;
-		event.buttonDown = type == "mouseDown";
-		event.delta = delta;
-		if (relatedObject && relatedObject.length > 0)
-		{
-			event.relatedObject = InteractiveObject(context.stringToObject(relatedObject));
-		}
-		
-		var stagePt:Point;
-		if (!isNaN(localX) && !isNaN(localY))
-		{
-			stagePt = actualTarget.localToGlobal(new Point(localX, localY));
-		}
-		else if (!isNaN(stageX) && !isNaN(stageY))
-		{
-			stagePt = new Point(stageX, stageY);
-		}
-		else
-		{
-			stagePt = actualTarget.localToGlobal(new Point(0, 0));
-		}
-        try {
-            root[mouseX] = stagePt.x;
-            root[mouseY] = stagePt.y;
-            UnitTester.setMouseXY(stagePt);
-            if (root["topLevelSystemManager"] != root)
-            {
-                root["topLevelSystemManager"][mouseX] = stagePt.x;
-                root["topLevelSystemManager"][mouseY] = stagePt.y;
-            }            
-        } catch (e:Error) {} // some scenarios don't support this
-
-		if (actualTarget is DisplayObjectContainer)
-		{
-			var targets:Array = actualTarget.stage.getObjectsUnderPoint(stagePt);
-			var arr:Array = UnitTester.getObjectsUnderPoint(DisplayObject(actualTarget), stagePt);
-			targets = targets.concat(arr);
-
-			for (var i:int = targets.length - 1; i >= 0; i--)
-			{
-				if (targets[i] is InteractiveObject)
-				{
-					if (targets[i] is TextField && !targets[i].selectable)
-					{
-						actualTarget = targets[i].parent;
-						break;
-					}
-
-					if (isMouseTarget(InteractiveObject(targets[i])))
-					{
-						actualTarget = targets[i];
-						break;
-					}
-				}
-/*				else
-				{
-					try
-					{
-						actualTarget = targets[i].parent;
-						while (actualTarget)
-						{
-							if (actualTarget is InteractiveObject)
-							{
-								if (isMouseTarget(InteractiveObject(actualTarget)))
-								{
-									break;
-								}
-							}
-							actualTarget = actualTarget.parent;
-						}
-						if (actualTarget && actualTarget != root)
-							break;
-					}
-					catch (e:Error)
-					{
-						if (actualTarget)
-							break;
-					}
-				}
-*/			}
-		}
-
-		var localPt:Point = actualTarget.globalToLocal(stagePt);
-		event.localX = localPt.x;
-		event.localY = localPt.y;
-
-		if (actualTarget is TextField)
-		{
-			if (type == "mouseDown")
-			{
-				var charIndex:int = actualTarget.getCharIndexAtPoint(event.localX, event.localY);
-				actualTarget.setSelection(charIndex + 1, charIndex + 1);
-			}
-		}
-
-		try
-		{
-			actualTarget.dispatchEvent(event);
-		}
-		catch (e2:Error)
-		{
-			TestOutput.logResult("Exception thrown in DispatchMouseClickEvent.");
-			testResult.doFail (e2.getStackTrace());	
-			return;
-		}
-	}
-
-	/**
-	 *  The object that receives the mouse event
-	 */
-	public var target:String;
-
-	/**
-	 *  The ctrlKey property on the MouseEvent (optional)
-	 */
-	public var ctrlKey:Boolean;
-
-	/**
-	 *  The delta property on the MouseEvent (optional)
-	 */
-	public var delta:int;
-
-	/**
-	 *  The localX property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var localX:Number;
-
-	/**
-	 *  The localY property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var localY:Number;
-
-	/**
-	 *  The stageX property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var stageX:Number;
-
-	/**
-	 *  The stageY property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var stageY:Number;
-
-	/**
-	 *  The shiftKey property on the MouseEvent (optional)
-	 */
-	public var shiftKey:Boolean;
-
-	/**
-	 *  The relatedObject property on the MouseEvent (optional)
-	 */
-	public var relatedObject:String;
-
-
-    private function isMouseTarget(target:InteractiveObject):Boolean
-    {
-        if (!target.mouseEnabled)
-            return false;
-
-		// Examine parent chain for "mouseChildren" set to false:
-		try
-		{
-			var parent:DisplayObjectContainer = target.parent;
-			while (parent)
-			{
-				if (!parent.mouseChildren)
-					return false;
-				parent = parent.parent;
-			}
-		}
-		catch (e1:Error)
-		{
-		}
-
-        return true;
-    }
-
-	/**
-	 *  customize string representation
-	 */
-	override public function toString():String
-	{
-		var s:String = "DispatchMouseClickEvent: target = ";
-		s += target;
-		if (!isNaN(localX))
-			s += ", localX = " + localX.toString();
-		if (!isNaN(localY))
-			s += ", localY = " + localY.toString();
-		if (!isNaN(stageX))
-			s += ", stageX = " + stageX.toString();
-		if (!isNaN(stageY))
-			s += ", stageY = " + stageY.toString();
-		if (shiftKey)
-			s += ", shiftKey = " + shiftKey.toString();
-		if (ctrlKey)
-			s += ", ctrlKey = " + ctrlKey.toString();
-		if (relatedObject)
-			s += ", relatedObject = " + relatedObject.toString();
-		if (delta)
-			s += ", delta = " + delta.toString();
-		return s;
-	}
-}
-
-}
diff --git a/mustella/tests/basicTests/DispatchMouseEvent.as b/mustella/tests/basicTests/DispatchMouseEvent.as
deleted file mode 100644
index 58f22a5..0000000
--- a/mustella/tests/basicTests/DispatchMouseEvent.as
+++ /dev/null
@@ -1,309 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package {
-
-import flash.display.DisplayObject;
-import flash.display.DisplayObjectContainer;
-import flash.display.InteractiveObject;
-import flash.text.TextField;
-import flash.events.MouseEvent;
-import flash.geom.Point;
-
-import mx.core.mx_internal;
-use namespace mx_internal;
-
-/**
- *  The test step that fakes a mouse event
- *  MXML attributes:
- *  target
- *  type
- *  ctrlKey (optional)
- *  delta (optional)
- *  localX
- *  localY
- *  relatedObject (optional)
- *  shiftKey (optional)
- *  stageX
- *  stageY
- *  waitTarget (optional)
- *  waitEvent (optional)
- *  timeout (optional);
- */
-public class DispatchMouseEvent extends TestStep
-{
-	private static var mouseX:QName = new QName(mx_internal, "_mouseX");
-	private static var mouseY:QName = new QName(mx_internal, "_mouseY");
-
-	/**
-	 *  @private
-	 */
-	override public function execute(root:DisplayObject, context:UnitTester, testCase:TestCase, testResult:TestResult):Boolean
-	{
-		if (waitEvent && waitTarget == null)
-			waitTarget = target;
-		return super.execute(root, context, testCase, testResult);
-	}
-
-	/**
-	 *  Set the target's property to the specified value
-	 */
-	override protected function doStep():void
-	{
-		UnitTester.blockFocusEvents = false;
-
-		var actualTarget:Object = context.stringToObject(target);
-		if (!(actualTarget is DisplayObject))
-		    if ("element" in actualTarget)
-			    actualTarget = actualTarget["element"];
-		if (!actualTarget)
-		{
-			testResult.doFail("Target " + target + " not found");
-			UnitTester.blockFocusEvents = false;
-			return;
-		}
-
-		var event:MouseEvent = new MouseEvent(type, true); // all mouse events bubble
-		event.ctrlKey = ctrlKey;
-		event.shiftKey = shiftKey;
-		event.buttonDown = buttonDown || type == "mouseDown";
-		event.delta = delta;
-		if (relatedObject && relatedObject.length > 0)
-		{
-			event.relatedObject = InteractiveObject(context.stringToObject(relatedObject));
-			if (!event.relatedObject)
-			{
-				testResult.doFail("RelatedObject " + relatedObject + " not found");
-				UnitTester.blockFocusEvents = false;
-				return;
-			}
-		}
-		
-		var stagePt:Point;
-		if (!isNaN(localX) && !isNaN(localY))
-		{
-			stagePt = actualTarget.localToGlobal(new Point(localX, localY));
-		}
-		else if (!isNaN(stageX) && !isNaN(stageY))
-		{
-			stagePt = new Point(stageX, stageY);
-		}
-		else
-		{
-			stagePt = actualTarget.localToGlobal(new Point(0, 0));
-		}
-        try {
-            root[mouseX] = stagePt.x;
-            root[mouseY] = stagePt.y;
-            UnitTester.setMouseXY(stagePt);
-            if (root["topLevelSystemManager"] != root)
-            {
-                root["topLevelSystemManager"][mouseX] = stagePt.x;
-                root["topLevelSystemManager"][mouseY] = stagePt.y;
-            }            
-        } catch (e:Error) {}; // some scenarios don't support this
-
-		if (actualTarget is DisplayObjectContainer)
-		{
-			var targets:Array = actualTarget.stage.getObjectsUnderPoint(stagePt);
-			var arr:Array = UnitTester.getObjectsUnderPoint(DisplayObject(actualTarget), stagePt);
-			targets = targets.concat(arr);
-
-			for (var i:int = targets.length - 1; i >= 0; i--)
-			{
-				if (targets[i] is InteractiveObject)
-				{
-					if (targets[i] is TextField && !targets[i].selectable)
-					{
-						actualTarget = targets[i].parent;
-						break;
-					}
-
-					if (isMouseTarget(InteractiveObject(targets[i])))
-					{
-						actualTarget = targets[i];
-						break;
-					}
-				}
-/*				else
-				{
-					try
-					{
-						actualTarget = targets[i].parent;
-						while (actualTarget)
-						{
-							if (actualTarget is InteractiveObject)
-							{
-								if (isMouseTarget(InteractiveObject(actualTarget)))
-								{
-									break;
-								}
-							}
-							actualTarget = actualTarget.parent;
-						}
-						if (actualTarget && actualTarget != root)
-							break;
-					}
-					catch (e:Error)
-					{
-						if (actualTarget)
-							break;
-					}
-				}
-*/			}
-		}
-
-		var localPt:Point = actualTarget.globalToLocal(stagePt);
-		event.localX = localPt.x;
-		event.localY = localPt.y;
-
-		if (actualTarget is TextField)
-		{
-			if (type == "mouseDown")
-			{
-				var charIndex:int = actualTarget.getCharIndexAtPoint(event.localX, event.localY);
-				actualTarget.setSelection(charIndex + 1, charIndex + 1);
-			}
-		}
-
-		try
-		{
-			actualTarget.dispatchEvent(event);
-		}
-		catch (e2:Error)
-		{
-			TestOutput.logResult("Exception thrown in DispatchMouseClickEvent.");
-			testResult.doFail (e2.getStackTrace());	
-		}
-
-		UnitTester.blockFocusEvents = true;
-	}
-
-	/**
-	 *  The object that receives the mouse event
-	 */
-	public var target:String;
-
-	/**
-	 *  The type of the event to send (mouseUp, mouseDown, etc).
-	 */
-	public var type:String;
-
-	/**
-	 *  The buttonDown property on the MouseEvent (optional)
-	 */
-	public var buttonDown:Boolean;
-
-	/**
-	 *  The ctrlKey property on the MouseEvent (optional)
-	 */
-	public var ctrlKey:Boolean;
-
-	/**
-	 *  The delta property on the MouseEvent (optional)
-	 */
-	public var delta:int;
-
-	/**
-	 *  The localX property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var localX:Number;
-
-	/**
-	 *  The localY property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var localY:Number;
-
-	/**
-	 *  The stageX property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var stageX:Number;
-
-	/**
-	 *  The stageY property on the MouseEvent (optional)
-	 *  Either set stageX/stageY or localX/localY, but not both.
-	 */
-	public var stageY:Number;
-
-	/**
-	 *  The shiftKey property on the MouseEvent (optional)
-	 */
-	public var shiftKey:Boolean;
-
-	/**
-	 *  The relatedObject property on the MouseEvent (optional)
-	 */
-	public var relatedObject:String;
-
-
-    private function isMouseTarget(target:InteractiveObject):Boolean
-    {
-        if (!target.mouseEnabled)
-            return false;
-
-		// Examine parent chain for "mouseChildren" set to false:
-		try
-		{
-			var parent:DisplayObjectContainer = target.parent;
-			while (parent)
-			{
-				if (!parent.mouseChildren)
-					return false;
-				parent = parent.parent;
-			}
-		}
-		catch (e1:Error)
-		{
-		}
-
-        return true;
-    }
-
-	/**
-	 *  customize string representation
-	 */
-	override public function toString():String
-	{
-		var s:String = "DispatchMouseEvent: target = ";
-		s += target;
-		if (type)
-			s += ", type = " + type;
-		if (!isNaN(localX))
-			s += ", localX = " + localX.toString();
-		if (!isNaN(localY))
-			s += ", localY = " + localY.toString();
-		if (!isNaN(stageX))
-			s += ", stageX = " + stageX.toString();
-		if (!isNaN(stageY))
-			s += ", stageY = " + stageY.toString();
-		if (shiftKey)
-			s += ", shiftKey = " + shiftKey.toString();
-		if (ctrlKey)
-			s += ", ctrlKey = " + ctrlKey.toString();
-		if (relatedObject)
-			s += ", relatedObject = " + relatedObject.toString();
-		if (delta)
-			s += ", delta = " + delta.toString();
-		return s;
-	}
-}
-
-}
diff --git a/mustella/tests/basicTests/FlexJSContext.as b/mustella/tests/basicTests/FlexJSContext.as
index 2482f9f..4f03402 100644
--- a/mustella/tests/basicTests/FlexJSContext.as
+++ b/mustella/tests/basicTests/FlexJSContext.as
@@ -16,14 +16,14 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package 
-{
+package 

+{

 
 [Mixin]
-public class FlexJSContext
+public class FlexJSContext

 {
-	public function FlexJSContext()
-	{
+	public function FlexJSContext()

+	{

 		super();
     }
     
@@ -34,10 +34,10 @@
 	
 	public static function contextFunction():Object
 	{
-		return UnitTester._root["info"]().app["initialView"];		
-	}
-}
+		return UnitTester._root["initialView"];		
+	}

+}

 
-
-}
-
+

+}

+

diff --git a/mustella/tests/basicTests/TestStep.as b/mustella/tests/basicTests/TestStep.as
deleted file mode 100644
index a2304ff..0000000
--- a/mustella/tests/basicTests/TestStep.as
+++ /dev/null
@@ -1,193 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package {
-
-import flash.display.DisplayObject;
-import flash.events.Event;
-import flash.events.EventDispatcher;
-import flash.events.IEventDispatcher;
-import flash.utils.getTimer;
-
-/**
- *  The abstract base class for all steps in a test case.  TestStep
- *  cannot be used directly, instead its subclasses must be used
- *  such as SetProperty, RunCode, Assert, etc.
- */
-public class TestStep extends EventDispatcher
-{
-	/**
-	 *  Called by the TestCase when it is time to start this step
-	 *  The default implementation checks for a wait event and
-	 *  returns true if there isn't one and false if there is.
-	 */
-	public function execute(root:DisplayObject, context:UnitTester, testCase:TestCase, testResult:TestResult):Boolean
-	{
-		var tryLater:Boolean = false;
-
-		this.root = root;
-		this.context = context;
-		this.testCase = testCase;
-		this.testResult = testResult;
-
-		if (waitEvent)
-		{
-			var actualTarget:IEventDispatcher = context.stringToObject(waitTarget) as IEventDispatcher;
-			if (!(actualTarget is DisplayObject))
-				if ("element" in actualTarget)
-					actualTarget = actualTarget["element"];
-			if (!actualTarget)
-			{
-				// its ok if the target isn't here yet, it may be created during this step
-				tryLater = true;
-			}
-			else
-			{
-                UnitTester.waitEvent = waitEvent;
-				actualTarget.addEventListener(waitEvent, waitEventHandler);
-				testCase.setExpirationTime(getTimer() + timeout);
-			}
-		}
-
-		if (!UnitTester.hasRTE)
-			doStep();
-
-		// if test failed, don't bother waiting, just bail
-		if (testResult.hasStatus() || UnitTester.hasRTE)
-		{
-			if (UnitTester.hasRTE)
-			{ 
-				testResult.result = 1;
-				testResult.message = UnitTester.RTEMsg;
-				dispatchEvent(new Event("runComplete"));
-				return true;	
-			}
-
-			if (waitEvent)
-			{
-                UnitTester.waitEvent = null;
-				actualTarget = context.stringToObject(waitTarget) as IEventDispatcher;
-				if (!(actualTarget is DisplayObject))
-					if ("element" in actualTarget)
-						actualTarget = actualTarget["element"];
-				actualTarget.removeEventListener(waitEvent, waitEventHandler);
-				testCase.setExpirationTime(0);
-			}
-			return true;
-		}
-
-		if (tryLater && waitEvent)
-		{
-			actualTarget = context.stringToObject(waitTarget) as IEventDispatcher;
-			if (!(actualTarget is DisplayObject))
-			    if ("element" in actualTarget)
-				    actualTarget = actualTarget["element"];
-			if (!actualTarget)
-			{
-				testResult.doFail("Target " + waitTarget + " not found");
-				return true;
-			}
-            UnitTester.waitEvent = waitEvent;
-			actualTarget.addEventListener(waitEvent, waitEventHandler);
-			testCase.setExpirationTime(getTimer() + timeout);
-		}
-
-		return (waitEvent == null);
-	}
-
-	/**
-	 *  The name of the object to listen for an event we're waiting on
-	 */
-	public var waitTarget:String;
-
-	/**
-	 *  The name of the event to listen for on the waitTarget
-	 */
-	public var waitEvent:String;
-
-	/**
-	 *  The number of milliseconds to wait before giving up
-	 */
-	public var timeout:int = 3000;
-
-	/**
-	 *  The TestResult for this TestCase
-	 */
-	protected var testResult:TestResult;
-
-	/**
-	 *  The TestCase that this step belongs to
-	 */
-	protected var testCase:TestCase;
-
-	/**
-	 *  The UnitTester that this step belongs to
-	 */
-	protected var context:UnitTester;
-
-	/**
-	 *  The root for the SWF
-	 */
-	protected var root:DisplayObject;
-
-	/**
-	 *  The method that gets called when it is time to perform the work in the step.
-	 */
-	protected function doStep():void
-	{
-	}
-
-	/**
-	 *  The method that gets called back when the event we're waiting on fires
-	 */
-	protected function waitEventHandler(event:Event):void
-	{
-		stepComplete();
-	}
-
-	/**
-	 *  The method that gets called when it is time to clean up the step.
-	 */
-	protected function stepComplete():void
-	{
-		if (waitEvent)
-		{
-            UnitTester.waitEvent = null;
-			var actualTarget:IEventDispatcher = context.stringToObject(waitTarget) as IEventDispatcher;
-			if (!(actualTarget is DisplayObject))
-			    if ("element" in actualTarget)
-				    actualTarget = actualTarget["element"];
-			if (actualTarget)	// can be null if object killed during step
-				actualTarget.removeEventListener(waitEvent, waitEventHandler);
-			testCase.setExpirationTime(0);
-		}
-		dispatchEvent(new Event("stepComplete"));
-	}
-
-	/**
-	 *  Called by the test case if you time out
-	 */
-	public function timeoutCallback():void
-	{
-		testResult.doFail("Timeout waiting for " + waitEvent + " from " + waitTarget);
-		stepComplete();
-	}
-
-}
-
-}
diff --git a/nightly.properties b/nightly.properties
index 03928fc..a81d872 100644
--- a/nightly.properties
+++ b/nightly.properties
@@ -22,7 +22,7 @@
 # path to falconjx nightly
 falcon.server.url = http://apacheflexbuild.cloudapp.net:8080
 falcon.md5.server.url = http://apacheflexbuild.cloudapp.net:8080
-falcon.folder = job/flex-falcon/lastSuccessfulBuild/artifact/out
+falcon.folder = job/flex-falcon-dual/lastSuccessfulBuild/artifact/out
 falcon.version = 0.8.0
 # path to local build
 # falcon.server.url = file://Users/xxx/git/flex/master